TwoSidedIDTraits

Trait TwoSidedIDTraits 

Source
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§

Source

fn get_c(&self) -> ArrayView2<'_, Self::A>

Return the C matrix

Source

fn get_x(&self) -> ArrayView2<'_, Self::A>

Return the X matrix

Source

fn get_r(&self) -> ArrayView2<'_, Self::A>

Return the R matrix

Source

fn get_col_ind(&self) -> ArrayView1<'_, usize>

Return the column index vector

Source

fn get_row_ind(&self) -> ArrayView1<'_, usize>

Return the row index vector

Source

fn get_c_mut(&mut self) -> ArrayViewMut2<'_, Self::A>

Source

fn get_x_mut(&mut self) -> ArrayViewMut2<'_, Self::A>

Source

fn get_r_mut(&mut self) -> ArrayViewMut2<'_, Self::A>

Source

fn get_col_ind_mut(&mut self) -> ArrayViewMut1<'_, usize>

Source

fn get_row_ind_mut(&mut self) -> ArrayViewMut1<'_, usize>

Source

fn new( x: Array2<Self::A>, r: Array2<Self::A>, c: Array2<Self::A>, col_ind: Array1<usize>, row_ind: Array1<usize>, ) -> Self

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

Provided Methods§

Source

fn nrows(&self) -> usize

Number of rows of the underlying operator

Source

fn ncols(&self) -> usize

Number of columns of the underlying operator

Source

fn rank(&self) -> usize

Rank of the two sided interpolative decomposition

Source

fn to_mat(&self) -> Array2<Self::A>

Convert to a matrix

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.

Implementors§