pub trait TwoSidedIDTraits {
    type A: Scalar;

Show 15 methods fn get_c(&self) -> ArrayView2<'_, Self::A>; fn get_x(&self) -> ArrayView2<'_, Self::A>; fn get_r(&self) -> ArrayView2<'_, Self::A>; fn get_col_ind(&self) -> ArrayView1<'_, usize>; fn get_row_ind(&self) -> ArrayView1<'_, usize>; fn get_c_mut(&mut self) -> ArrayViewMut2<'_, Self::A>; fn get_x_mut(&mut self) -> ArrayViewMut2<'_, Self::A>; fn get_r_mut(&mut self) -> ArrayViewMut2<'_, Self::A>; fn get_col_ind_mut(&mut self) -> ArrayViewMut1<'_, usize>; fn get_row_ind_mut(&mut self) -> ArrayViewMut1<'_, usize>; fn new(
        x: Array2<Self::A>,
        r: Array2<Self::A>,
        c: Array2<Self::A>,
        col_ind: Array1<usize>,
        row_ind: Array1<usize>
    ) -> Self; fn nrows(&self) -> usize { ... } fn ncols(&self) -> usize { ... } fn rank(&self) -> usize { ... } fn to_mat(&self) -> Array2<Self::A> { ... }
}
Expand description

Traits defining a two sided interpolative decomposition

defined as The two sided interpolative decomposition of a matrix $A\in\mathbb{C}&{m\times n} is $$ A \approx CXR, $$ where $C\in\mathbb{C}^{m\times k}$, $X\in\mathbb{C}^{k\times k}$, and $R\in\mathbb{C}^{k\times n}$. The matrix $X$ contains a subset of the entries of $A$, such that A[row_ind[:], col_ind[:]] = X, where row_ind and col_ind are index vectors.

Required Associated Types

Required Methods

Return the C matrix

Return the X matrix

Return the R matrix

Return the column index vector

Return the row index vector

Return a two sided interpolative decomposition from the component matrices X, R, C, and the column and row index vectors

Provided Methods

Number of rows of the underlying operator

Number of columns of the underlying operator

Rank of the two sided interpolative decomposition

Convert to a matrix

Implementors