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

Return the C matrix

Return the Z matrix

Return the index vector

Return a column interpolative decomposition from given component matrices $C$ and $Z$ and index array col_ind

Convert the column interpolative decomposition into a two sided interpolative decomposition

Provided Methods

Number of rows of the underlying operator

Number of columns of the underlying operator

Rank of the column interpolative decomposition

Convert to a matrix

Implementors