Welcome to Python-flavored Magnum! Please note that, while already being rather stable, this functionality is still considered experimental and some APIs might get changed without preserving full backwards compatibility.

# magnum.Matrix2x2 class

2x2 float matrix

• Reference

## Static methods

def from_diagonal(arg0: Vector2, /) -> Matrix2x2
Construct a diagonal matrix
def identity_init(value: float = 1.0) -> Matrix2x2
Construct an identity matrix
def zero_init() -> Matrix2x2
Construct a zero-filled matrix

## Methods

def adjugate(self, /) -> Matrix2x2
Adjugate matrix
def cofactor(self, col: int, row: int) -> float
Cofactor
def comatrix(self, /) -> Matrix2x2
Matrix of cofactors
def determinant(self, /) -> float
Determinant
def diagonal(self, /) -> Vector2
Values on diagonal
def flipped_cols(self, /) -> Matrix2x2
Matrix with flipped cols
def flipped_rows(self, /) -> Matrix2x2
Matrix with flipped rows
def inverted(self, /) -> Matrix2x2
Inverted matrix
self, /) -> Matrix2x2
Inverted orthogonal matrix
def is_orthogonal(self, /) -> bool
Whether the matrix is orthogonal
def trace(self, /) -> float
Trace of the matrix
def transposed(self, /) -> Matrix2x2
Transposed matrix

## Special methods

def __add__(self, arg0: Matrix2x2, /) -> Matrix2x2
Add a matrix
def __eq__(self, arg0: Matrix2x2, /) -> bool
Equality comparison
def __getitem__(self, arg0: int, /) -> Vector2
Column at given position
def __getitem__(self, arg0: typing.Tuple[int, int], /) -> float
Value at given col/row
def __iadd__(self, arg0: Matrix2x2, /) -> Matrix2x2
Add and assign a matrix
def __imul__(self, arg0: float, /) -> Matrix2x2
Multiply with a scalar and assign
def __init__(self, arg0: Matrix2x2d, /) -> None
Construct from different underlying type
def __init__(self, arg0: buffer, /) -> None
Construct from a buffer
def __init__(self, /) -> None
Default constructor
def __init__(self, arg0: float, /) -> None
Construct a matrix with one value for all components
def __init__(self, arg0: Vector2, arg1: Vector2, /) -> None
Construct from column vectors
def __init__(self, arg0: typing.Tuple[Vector2, Vector2], /) -> None
Construct from a column vector tuple
def __init__(self, arg0: typing.Tuple[typing.Tuple[float, float], typing.Tuple[float, float]], /) -> None
Construct from a column tuple
def __isub__(self, arg0: Matrix2x2, /) -> Matrix2x2
Subtract and assign a matrix
def __itruediv__(self, arg0: float, /) -> Matrix2x2
Divide with a scalar and assign
def __len__() -> int
Matrix column count. Returns 2.
def __matmul__(self, arg0: Matrix2x2, /) -> Matrix2x2
Multiply a matrix
def __matmul__(self, arg0: Matrix3x2, /) -> Matrix3x2
Multiply a matrix
def __matmul__(self, arg0: Matrix4x2, /) -> Matrix4x2
Multiply a matrix
def __mul__(self, arg0: float, /) -> Matrix2x2
Multiply with a scalar
def __mul__(self, arg0: Vector2, /) -> Vector2
Multiply a vector
def __ne__(self, arg0: Matrix2x2, /) -> bool
Non-equality comparison
def __neg__(self, /) -> Matrix2x2
Negated matrix
def __repr__(self, /) -> str
Object representation
def __rmul__(self, arg0: float, /) -> Matrix2x2
Multiply a scalar with a matrix
def __rtruediv__(self, arg0: float, /) -> Matrix2x2
Divide a matrix with a scalar and invert
def __setitem__(self, arg0: int, arg1: Vector2, /) -> None
Set a column at given position
def __setitem__(self, arg0: typing.Tuple[int, int], arg1: float, /) -> None
Set a value at given col/row
def __sub__(self, arg0: Matrix2x2, /) -> Matrix2x2
Subtract a matrix
def __truediv__(self, arg0: float, /) -> Matrix2x2
Divide with a scalar