pub trait TwoSidedIDTraits {
type A: Scalar;
Show 15 methods
// Required 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;
// Provided methods
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§
Sourcefn get_c(&self) -> ArrayView2<'_, Self::A>
fn get_c(&self) -> ArrayView2<'_, Self::A>
Return the C matrix
Sourcefn get_x(&self) -> ArrayView2<'_, Self::A>
fn get_x(&self) -> ArrayView2<'_, Self::A>
Return the X matrix
Sourcefn get_r(&self) -> ArrayView2<'_, Self::A>
fn get_r(&self) -> ArrayView2<'_, Self::A>
Return the R matrix
Sourcefn get_col_ind(&self) -> ArrayView1<'_, usize>
fn get_col_ind(&self) -> ArrayView1<'_, usize>
Return the column index vector
Sourcefn get_row_ind(&self) -> ArrayView1<'_, usize>
fn get_row_ind(&self) -> ArrayView1<'_, usize>
Return the row index vector
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>
Provided Methods§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.