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
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_row_ind(&self) -> ArrayView1<'_, usize>
fn get_row_ind(&self) -> ArrayView1<'_, usize>
Return the index vector
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>
Return a row interpolative decomposition from given component matrices $X$ and $R$ and index array row_ind.
fn two_sided_id(&self) -> Result<TwoSidedID<Self::A>>
fn two_sided_id(&self) -> Result<TwoSidedID<Self::A>>
Convert the row interpolative decomposition into a two sided interpolative decomposition