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

The underlying field.

The type of rows of this matrix.

The type of columns of this matrix.

The type of the transposed matrix.

Required Methods

The number of rows of this matrix.

The number of columns of this matrix.

The i-th row of this matrix.

The i-th column of this matrix.

Gets the component at row i and column j of this matrix without bound checking.

Transposes this matrix.

Provided Methods

Gets the component at row i and column j of this matrix.

Implementors