Matrix

class datastructuretools.Matrix(*args, **kwargs)

A matrix.

Initializes from rows:

>>> matrix = datastructuretools.Matrix([
...     [0, 1, 2, 3],
...     [10, 11, 12, 13],
...     [20, 21, 22, 23],
...     ])
>>> matrix
Matrix(3x4)
>>> matrix[:]
((0, 1, 2, 3), (10, 11, 12, 13), (20, 21, 22, 23))
>>> matrix[2]
(20, 21, 22, 23)
>>> matrix[2][0]
20

Initializes from columns:

>>> matrix = datastructuretools.Matrix(columns=[
...     [0, 10, 20],
...     [1, 11, 21],
...     [2, 12, 22],
...     [3, 13, 23],
...     ])
>>> matrix
Matrix(3x4)
>>> matrix[:]
((0, 1, 2, 3), (10, 11, 12, 13), (20, 21, 22, 23))
>>> matrix[2]
(20, 21, 22, 23)
>>> matrix[2][0]
20

Matrix currently implements only item retrieval.

Concatenation and division remain to be implemented.

Standard transforms of linear algebra remain to be implemented.

Lineage

digraph InheritanceGraph { graph [background=transparent, bgcolor=transparent, color=lightslategrey, fontname=Arial, outputorder=edgesfirst, overlap=prism, penwidth=2, rankdir=LR, root="__builtin__.object", splines=spline, style="dotted, rounded", truecolor=true]; node [colorscheme=pastel19, fontname=Arial, fontsize=12, penwidth=2, style="filled, rounded"]; edge [color=lightsteelblue2, penwidth=2]; subgraph cluster_abctools { graph [label=abctools]; "abjad.tools.abctools.AbjadObject.AbjadObject" [color=1, group=0, label=AbjadObject, shape=box]; "abjad.tools.abctools.AbjadObject.AbstractBase" [color=1, group=0, label=AbstractBase, shape=box]; "abjad.tools.abctools.AbjadObject.AbstractBase" -> "abjad.tools.abctools.AbjadObject.AbjadObject"; } subgraph cluster_datastructuretools { graph [label=datastructuretools]; "abjad.tools.datastructuretools.CyclicMatrix.CyclicMatrix" [color=3, group=2, label=CyclicMatrix, shape=box]; "abjad.tools.datastructuretools.Matrix.Matrix" [color=black, fontcolor=white, group=2, label=<<B>Matrix</B>>, shape=box, style="filled, rounded"]; "abjad.tools.datastructuretools.Matrix.Matrix" -> "abjad.tools.datastructuretools.CyclicMatrix.CyclicMatrix"; } subgraph cluster_builtins { graph [label=builtins]; "builtins.object" [color=2, group=1, label=object, shape=box]; } "abjad.tools.abctools.AbjadObject.AbjadObject" -> "abjad.tools.datastructuretools.Matrix.Matrix"; "builtins.object" -> "abjad.tools.abctools.AbjadObject.AbstractBase"; }

Bases

Attribute summary

columns Columns of matrix.
rows Rows of matrix.
__eq__(expr) Is true when ID of expr equals ID of Abjad object.
__format__([format_specification]) Formats Abjad object.
__getitem__(i) Gets row i from matrix.
__hash__() Hashes Abjad object.
__ne__(expr) Is true when Abjad object does not equal expr.
__repr__() Gets interpreter representation of matrix.

Read-only properties

Matrix.columns

Columns of matrix.

>>> matrix = datastructuretools.Matrix(
...     [[0, 1, 2, 3],
...     [10, 11, 12, 13],
...     [20, 21, 22, 23],
...     ])
>>> matrix.columns
((0, 10, 20), (1, 11, 21), (2, 12, 22), (3, 13, 23))

Returns tuple.

Matrix.rows

Rows of matrix.

>>> matrix = datastructuretools.Matrix(
...     [[0, 1, 2, 3],
...     [10, 11, 12, 13],
...     [20, 21, 22, 23],
...     ])
>>> matrix.rows
((0, 1, 2, 3), (10, 11, 12, 13), (20, 21, 22, 23))

Returns tuple.

Special methods

(AbjadObject).__eq__(expr)

Is true when ID of expr equals ID of Abjad object. Otherwise false.

Returns true or false.

(AbjadObject).__format__(format_specification='')

Formats Abjad object.

Set format_specification to ‘’ or ‘storage’. Interprets ‘’ equal to ‘storage’.

Returns string.

Matrix.__getitem__(i)

Gets row i from matrix.

>>> matrix[1]
(10, 11, 12, 13)

Returns row.

(AbjadObject).__hash__()

Hashes Abjad object.

Required to be explicitly redefined on Python 3 if __eq__ changes.

Returns integer.

(AbjadObject).__ne__(expr)

Is true when Abjad object does not equal expr. Otherwise false.

Returns true or false.

Matrix.__repr__()

Gets interpreter representation of matrix.

>>> matrix
Matrix(3x4)

Returns string.