pub trait ColumnIDTraits {
type A: Scalar;
// Required methods
fn get_c(&self) -> ArrayView2<'_, Self::A>;
fn get_z(&self) -> ArrayView2<'_, Self::A>;
fn get_col_ind(&self) -> ArrayView1<'_, usize>;
fn get_c_mut(&mut self) -> ArrayViewMut2<'_, Self::A>;
fn get_z_mut(&mut self) -> ArrayViewMut2<'_, Self::A>;
fn get_col_ind_mut(&mut self) -> ArrayViewMut1<'_, usize>;
fn new(
c: Array2<Self::A>,
z: Array2<Self::A>,
col_ind: Array1<usize>,
) -> Self;
fn two_sided_id(&self) -> Result<TwoSidedID<Self::A>>;
// Provided methods
fn nrows(&self) -> usize { ... }
fn ncols(&self) -> usize { ... }
fn rank(&self) -> usize { ... }
fn to_mat(&self) -> Array2<Self::A> { ... }
}
Expand description
Traits defining a column interpolative decomposition
Required Associated Types§
Required Methods§
Sourcefn get_c(&self) -> ArrayView2<'_, Self::A>
fn get_c(&self) -> ArrayView2<'_, Self::A>
Return the C matrix
Sourcefn get_z(&self) -> ArrayView2<'_, Self::A>
fn get_z(&self) -> ArrayView2<'_, Self::A>
Return the Z matrix
Sourcefn get_col_ind(&self) -> ArrayView1<'_, usize>
fn get_col_ind(&self) -> ArrayView1<'_, usize>
Return the index vector
fn get_c_mut(&mut self) -> ArrayViewMut2<'_, Self::A>
fn get_z_mut(&mut self) -> ArrayViewMut2<'_, Self::A>
fn get_col_ind_mut(&mut self) -> ArrayViewMut1<'_, usize>
Sourcefn new(c: Array2<Self::A>, z: Array2<Self::A>, col_ind: Array1<usize>) -> Self
fn new(c: Array2<Self::A>, z: Array2<Self::A>, col_ind: Array1<usize>) -> Self
Return a column interpolative decomposition from given component matrices $C$ and $Z$ and index array col_ind
Sourcefn two_sided_id(&self) -> Result<TwoSidedID<Self::A>>
fn two_sided_id(&self) -> Result<TwoSidedID<Self::A>>
Convert the column interpolative decomposition into a two sided interpolative decomposition
Provided Methods§
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.