pub trait FinitelyFreeModuleSignature<Ring: RingSignature>: FreeModuleSignature<Ring> + FinitelyGeneratedModuleSignature<Ring>where
Self::Basis: FiniteSetSignature,{
// Provided methods
fn basis(&self) -> Vec<<Self::Basis as SetSignature>::Set> { ... }
fn rank(&self) -> usize { ... }
fn basis_vecs(&self) -> Vec<Self::Set> { ... }
fn to_vec(&self, a: &Self::Set) -> Vec<Ring::Set> { ... }
fn from_vec(&self, v: Vec<impl Borrow<Ring::Set>>) -> Self::Set { ... }
fn to_col(&self, a: &Self::Set) -> Matrix<Ring::Set> { ... }
fn from_col(&self, v: Matrix<Ring::Set>) -> Self::Set { ... }
fn to_row(&self, a: &Self::Set) -> Matrix<Ring::Set> { ... }
fn from_row(&self, v: Matrix<Ring::Set>) -> Self::Set { ... }
}Provided Methods§
fn basis(&self) -> Vec<<Self::Basis as SetSignature>::Set>
fn rank(&self) -> usize
Sourcefn basis_vecs(&self) -> Vec<Self::Set>
fn basis_vecs(&self) -> Vec<Self::Set>
The elementary basis vectors
fn to_vec(&self, a: &Self::Set) -> Vec<Ring::Set>
fn from_vec(&self, v: Vec<impl Borrow<Ring::Set>>) -> Self::Set
fn to_col(&self, a: &Self::Set) -> Matrix<Ring::Set>
fn from_col(&self, v: Matrix<Ring::Set>) -> Self::Set
fn to_row(&self, a: &Self::Set) -> Matrix<Ring::Set>
fn from_row(&self, v: Matrix<Ring::Set>) -> Self::Set
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.