Trait alga::linear::SquareMatrix
source · pub trait SquareMatrix: Matrix<Row = Self::Vector, Column = Self::Vector, Transpose = Self> + MultiplicativeMonoid {
type Vector: FiniteDimVectorSpace<Field = Self::Field>;
// Required methods
fn diagonal(&self) -> Self::Vector;
fn determinant(&self) -> Self::Field;
fn try_inverse(&self) -> Option<Self>;
// Provided methods
fn dimension(&self) -> usize { ... }
fn transpose_mut(&mut self) { ... }
}
Expand description
The monoid of all square matrices, including non-inversible ones.
Required Associated Types§
sourcetype Vector: FiniteDimVectorSpace<Field = Self::Field>
type Vector: FiniteDimVectorSpace<Field = Self::Field>
The type of rows, column, and diagonal of this matrix.
Required Methods§
sourcefn determinant(&self) -> Self::Field
fn determinant(&self) -> Self::Field
The determinant of this matrix.
sourcefn try_inverse(&self) -> Option<Self>
fn try_inverse(&self) -> Option<Self>
Attempts to two_sided_inverse self
.
Provided Methods§
sourcefn transpose_mut(&mut self)
fn transpose_mut(&mut self)
In-place transposition.
Object Safety§
This trait is not object safe.