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[src]

The underlying field.

type Row: FiniteDimVectorSpace<Field = Self::Field>[src]

The type of rows of this matrix.

type Column: FiniteDimVectorSpace<Field = Self::Field>[src]

The type of columns of this matrix.

type Transpose: Matrix<Field = Self::Field, Row = Self::Column, Column = Self::Row>[src]

The type of the transposed matrix.

Loading content...

Required methods

fn nrows(&self) -> usize[src]

The number of rows of this matrix.

fn ncolumns(&self) -> usize[src]

The number of columns of this matrix.

fn row(&self, i: usize) -> Self::Row[src]

The i-th row of this matrix.

fn column(&self, i: usize) -> Self::Column[src]

The i-th column of this matrix.

unsafe fn get_unchecked(&self, i: usize, j: usize) -> Self::Field[src]

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

fn transpose(&self) -> Self::Transpose[src]

Transposes this matrix.

Loading content...

Provided methods

fn get(&self, i: usize, j: usize) -> Self::Field[src]

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

Loading content...

Implementors

Loading content...