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§

source

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

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

Required Methods§

source

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

The diagonal of this matrix.

source

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

The determinant of this matrix.

source

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

Attempts to two_sided_inverse self.

Provided Methods§

source

fn dimension(&self) -> usize

The number of rows or column of this matrix.

source

fn transpose_mut(&mut self)

In-place transposition.

Object Safety§

This trait is not object safe.

Implementors§