logo
pub trait Matrix: VectorSpace {
    type Row: DualSpace + FiniteDimensional + VectorSpace<Scalar = Self::Scalar>;
    type Column: DualSpace + FiniteDimensional + VectorSpace<Scalar = Self::Scalar>;
    type Transpose: Matrix<Scalar = Self::Scalar, Row = <Self::Column as DualSpace>::Dual, Column = <Self::Row as DualSpace>::Dual>;

    fn row_component(&self, index: usize) -> Option<Self::Row>;
    fn column_component(&self, index: usize) -> Option<Self::Column>;
    fn transpose(self) -> Self::Transpose;

    fn row_count() -> usize { ... }
    fn column_count() -> usize { ... }
    fn scalar_component(
        &self,
        row: usize,
        column: usize
    ) -> Option<Self::Scalar> { ... } }

Required Associated Types

Required Methods

Provided Methods

Implementations on Foreign Types

Implementors