pub trait RowIDTraits {
    type A: Scalar;

    fn get_x(&self) -> ArrayView2<'_, Self::A>;
    fn get_r(&self) -> ArrayView2<'_, Self::A>;
    fn get_row_ind(&self) -> ArrayView1<'_, usize>;
    fn get_x_mut(&mut self) -> ArrayViewMut2<'_, Self::A>;
    fn get_r_mut(&mut self) -> ArrayViewMut2<'_, Self::A>;
    fn get_row_ind_mut(&mut self) -> ArrayViewMut1<'_, usize>;
    fn new(
        x: Array2<Self::A>,
        r: Array2<Self::A>,
        row_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 row interpolative decomposition

A row interpolative decomposition of a matrix $A\in\mathbb{C}^{m\times n}$ is

Required Associated Types

Required Methods

Return the X matrix

Return the R matrix

Return the index vector

Return a row interpolative decomposition from given component matrices $X$ and $R$ and index array row_ind.

Convert the row 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 row interpolative decomposition

Convert to a matrix

Implementors