Trait alga::linear::Matrix [−][src]
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>; 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; fn get(&self, i: usize, j: usize) -> Self::Field { ... } }
The space of all matrices.
Associated Types
type Field: Field
The underlying field.
type Row: FiniteDimVectorSpace<Field = Self::Field>
The type of rows of this matrix.
type Column: FiniteDimVectorSpace<Field = Self::Field>
The type of columns of this matrix.
type Transpose: Matrix<Field = Self::Field, Row = Self::Column, Column = Self::Row>
The type of the transposed matrix.
Required Methods
fn nrows(&self) -> usize
The number of rows of this matrix.
fn ncolumns(&self) -> usize
The number of columns of this matrix.
fn row(&self, i: usize) -> Self::Row
The i-th row of this matrix.
fn column(&self, i: usize) -> Self::Column
The i-th column of this matrix.
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.
fn transpose(&self) -> Self::Transpose
Transposes this matrix.
Provided Methods
fn get(&self, i: usize, j: usize) -> Self::Field
Gets the component at row i
and column j
of this matrix.