Pythonic 2D matrix data type
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Pythonic 2D matrix data type. This is a generic data structure with all the operations you would expect:

m = Matrix(2, 3) # 2 rows, 3 columns, filled with None.
m = Matrix([[1, 2, 3], [4, 5, 6]]) # Exactly what you expect.

# Access with (row, col) indices.
m[0,1] # Element at row 0, column 1.
m[-1,-1] # Element at last row, last column.
m[(0,1):(2,3)] # Two dimensional slice returns a new Matrix.

# Or by absolute elements, like a list.
m[5] # Element at index 5, regardless of rows and columns.
m[2:] # From the element 2 until the end.

7 in m # Searches for elements.

# You can also set values using the techniques above:
m[1:-1] = list(m[:(2,2)]) # I have no idea what this means, but it works!

# Helper methods are also provided:
m.addcol(2, [7, 8]) # Adds column at index 2, filling with elements 7 and 8.
m.addrow(0) # Adds a new first row, with None values.
m.removerow(0) # Removes the row we added. x: x**2) # Returns matrix with squared elements.

# 1 2 7 4
# 5 5 8 6

This is a simple data structure. It's not supposed to hold large amounts of data or be used in linear math.