pub trait ColumnIDTraits {
type A: Scalar;
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>>;
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
fn get_c(&self) -> ArrayView2<'_, Self::A>
fn get_c(&self) -> ArrayView2<'_, Self::A>
Return the C matrix
fn get_z(&self) -> ArrayView2<'_, Self::A>
fn get_z(&self) -> ArrayView2<'_, Self::A>
Return the Z matrix
fn 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>
Return a column interpolative decomposition from given component matrices $C$ and $Z$ and index array col_ind
fn 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