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
fn get_c(&self) -> ArrayView2<'_, Self::A>
fn get_c(&self) -> ArrayView2<'_, Self::A>
Return the C matrix
fn get_x(&self) -> ArrayView2<'_, Self::A>
fn get_x(&self) -> ArrayView2<'_, Self::A>
Return the X matrix
fn get_r(&self) -> ArrayView2<'_, Self::A>
fn get_r(&self) -> ArrayView2<'_, Self::A>
Return the R matrix
fn get_col_ind(&self) -> ArrayView1<'_, usize>
fn get_col_ind(&self) -> ArrayView1<'_, usize>
Return the column index vector
fn get_row_ind(&self) -> ArrayView1<'_, usize>
fn get_row_ind(&self) -> ArrayView1<'_, usize>
Return the row index vector