[][src]Trait alga::linear::SquareMatrix

pub trait SquareMatrix: Matrix<Row = Self::Vector, Column = Self::Vector, Transpose = Self> + MultiplicativeMonoid {
    type Vector: FiniteDimVectorSpace<Field = Self::Field>;
    fn diagonal(&self) -> Self::Vector;
fn determinant(&self) -> Self::Field;
fn try_inverse(&self) -> Option<Self>; fn dimension(&self) -> usize { ... }
fn transpose_mut(&mut self) { ... } }
[]

The monoid of all square matrices, including non-inversible ones.

Associated Types

type Vector: FiniteDimVectorSpace<Field = Self::Field>[]

The type of rows, column, and diagonal of this matrix.

Required methods

fn diagonal(&self) -> Self::Vector[]

The diagonal of this matrix.

fn determinant(&self) -> Self::Field[]

The determinant of this matrix.

fn try_inverse(&self) -> Option<Self>[]

Attempts to two_sided_inverse self.

Provided methods

fn dimension(&self) -> usize[]

The number of rows or column of this matrix.

fn transpose_mut(&mut self)[]

In-place transposition.

Implementors