CyclicMatrix

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

A cyclic matrix.

Initializes from rows:

>>> cyclic_matrix = datastructuretools.CyclicMatrix([
...     [0, 1, 2, 3],
...     [10, 11, 12, 13],
...     [20, 21, 22, 23],
...     ])
>>> cyclic_matrix
CyclicMatrix(3x4)
>>> cyclic_matrix[2]
CyclicTuple([20, 21, 22, 23])
>>> cyclic_matrix[2][2]
22
>>> cyclic_matrix[99]
CyclicTuple([0, 1, 2, 3])
>>> cyclic_matrix[99][99]
3

Initializes from columns:

>>> cyclic_matrix = datastructuretools.CyclicMatrix(columns=[
...     [0, 10, 20],
...     [1, 11, 21],
...     [2, 12, 22],
...     [3, 13, 23],
...     ])
>>> cyclic_matrix
CyclicMatrix(3x4)
>>> cyclic_matrix[2]
CyclicTuple([20, 21, 22, 23])
>>> cyclic_matrix[2][2]
22
>>> cyclic_matrix[99]
CyclicTuple([0, 1, 2, 3])
>>> cyclic_matrix[99][99]
3

Only item retrieval is currently implemented.

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=black, fontcolor=white, group=2, label=<<B>CyclicMatrix</B>>, shape=box, style="filled, rounded"]; "abjad.tools.datastructuretools.Matrix.Matrix" [color=3, group=2, label=Matrix, shape=box]; "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 cyclic matrix.
rows Rows of cyclic 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 cyclic matrix.
__hash__() Hashes Abjad object.
__ne__(expr) Is true when Abjad object does not equal expr.
__repr__() Gets interpreter representation of cyclic matrix.

Read-only properties

CyclicMatrix.columns

Columns of cyclic matrix.

>>> cyclic_matrix = datastructuretools.CyclicMatrix([
...     [0, 1, 2, 3],
...     [10, 11, 12, 13],
...     [20, 21, 22, 23],
...     ])
>>> print(format(cyclic_matrix.columns))
datastructuretools.CyclicTuple(
    [
        datastructuretools.CyclicTuple(
            [0, 10, 20]
            ),
        datastructuretools.CyclicTuple(
            [1, 11, 21]
            ),
        datastructuretools.CyclicTuple(
            [2, 12, 22]
            ),
        datastructuretools.CyclicTuple(
            [3, 13, 23]
            ),
        ]
    )

Returns cyclic tuple.

CyclicMatrix.rows

Rows of cyclic matrix.

>>> cyclic_matrix = datastructuretools.CyclicMatrix([
...     [0, 1, 2, 3],
...     [10, 11, 12, 13],
...     [20, 21, 22, 23],
...     ])
>>> print(format(cyclic_matrix.rows))
datastructuretools.CyclicTuple(
    [
        datastructuretools.CyclicTuple(
            [0, 1, 2, 3]
            ),
        datastructuretools.CyclicTuple(
            [10, 11, 12, 13]
            ),
        datastructuretools.CyclicTuple(
            [20, 21, 22, 23]
            ),
        ]
    )

Returns cyclic 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.

CyclicMatrix.__getitem__(i)

Gets row i from cyclic matrix.

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.

CyclicMatrix.__repr__()

Gets interpreter representation of cyclic matrix.

Returns string.