Trait RowIDTraits

Source
pub trait RowIDTraits {
    type A: Scalar;

    // Required methods
    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>>;

    // 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 row interpolative decomposition

A row interpolative decomposition of a matrix $A\in\mathbb{C}^{m\times n}$ is

Required Associated Types§

Required Methods§

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_row_ind(&self) -> ArrayView1<'_, usize>

Return the index vector

Source

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

Source

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

Source

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

Source

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

Return a row interpolative decomposition from given component matrices $X$ and $R$ and index array row_ind.

Source

fn two_sided_id(&self) -> Result<TwoSidedID<Self::A>>

Convert the row interpolative decomposition into a two sided interpolative decomposition

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