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>;
// Required methods
fn row_component(&self, index: usize) -> Option<Self::Row>;
fn column_component(&self, index: usize) -> Option<Self::Column>;
fn transpose(self) -> Self::Transpose;
// Provided methods
fn row_count() -> usize { ... }
fn column_count() -> usize { ... }
fn scalar_component(
&self,
row: usize,
column: usize,
) -> Option<Self::Scalar> { ... }
}Required Associated Types§
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>
Required Methods§
fn row_component(&self, index: usize) -> Option<Self::Row>
fn column_component(&self, index: usize) -> Option<Self::Column>
fn transpose(self) -> Self::Transpose
Provided Methods§
fn row_count() -> usize
fn column_count() -> usize
fn scalar_component(&self, row: usize, column: usize) -> Option<Self::Scalar>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".