pub trait Matrix: Sized + Clone + Mul<Self::Row, Output = Self::Column> {
type Field: Field;
type Row: FiniteDimVectorSpace<Field = Self::Field>;
type Column: FiniteDimVectorSpace<Field = Self::Field>;
type Transpose: Matrix<Field = Self::Field, Row = Self::Column, Column = Self::Row>;
// Required methods
fn nrows(&self) -> usize;
fn ncolumns(&self) -> usize;
fn row(&self, i: usize) -> Self::Row;
fn column(&self, i: usize) -> Self::Column;
unsafe fn get_unchecked(&self, i: usize, j: usize) -> Self::Field;
fn transpose(&self) -> Self::Transpose;
// Provided method
fn get(&self, i: usize, j: usize) -> Self::Field { ... }
}Expand description
The space of all matrices.
Required Associated Types§
sourcetype Row: FiniteDimVectorSpace<Field = Self::Field>
type Row: FiniteDimVectorSpace<Field = Self::Field>
The type of rows of this matrix.
sourcetype Column: FiniteDimVectorSpace<Field = Self::Field>
type Column: FiniteDimVectorSpace<Field = Self::Field>
The type of columns of this matrix.
Required Methods§
sourceunsafe fn get_unchecked(&self, i: usize, j: usize) -> Self::Field
unsafe fn get_unchecked(&self, i: usize, j: usize) -> Self::Field
Gets the component at row i and column j of this matrix without bound checking.
Provided Methods§
Object Safety§
This trait is not object safe.