[][src]Trait ndarray_linalg::krylov::Orthogonalizer

pub trait Orthogonalizer {
    type Elem: Scalar;
    fn dim(&self) -> usize;
fn len(&self) -> usize;
fn orthogonalize<S>(&self, a: &mut ArrayBase<S, Ix1>) -> Array1<Self::Elem>
    where
        S: DataMut<Elem = Self::Elem>
;
fn append<S>(
        &mut self,
        a: ArrayBase<S, Ix1>,
        rtol: <Self::Elem as Scalar>::Real
    ) -> Result<Array1<Self::Elem>, Array1<Self::Elem>>
    where
        S: DataMut<Elem = Self::Elem>
;
fn get_q(&self) -> Q<Self::Elem>; fn is_full(&self) -> bool { ... }
fn is_empty(&self) -> bool { ... } }

Trait for creating orthogonal basis from iterator of arrays

Associated Types

type Elem: Scalar

Loading content...

Required methods

fn dim(&self) -> usize

Dimension of input array

fn len(&self) -> usize

Number of cached basis

fn orthogonalize<S>(&self, a: &mut ArrayBase<S, Ix1>) -> Array1<Self::Elem> where
    S: DataMut<Elem = Self::Elem>, 

Orthogonalize given vector using current basis

Panic

  • if the size of the input array mismatches to the dimension

fn append<S>(
    &mut self,
    a: ArrayBase<S, Ix1>,
    rtol: <Self::Elem as Scalar>::Real
) -> Result<Array1<Self::Elem>, Array1<Self::Elem>> where
    S: DataMut<Elem = Self::Elem>, 

Add new vector if the residual is larger than relative tolerance

Returns

Coefficients to the i-th Q-vector

  • The size of array must be self.len() + 1
  • The last element is the residual norm of input vector

Panic

  • if the size of the input array mismatches to the dimension

fn get_q(&self) -> Q<Self::Elem>

Get Q-matrix of generated basis

Loading content...

Provided methods

fn is_full(&self) -> bool

check if the basis spans entire space

fn is_empty(&self) -> bool

Loading content...

Implementors

impl<A: Scalar + Lapack> Orthogonalizer for MGS<A>[src]

type Elem = A

fn is_full(&self) -> bool[src]

fn is_empty(&self) -> bool[src]

Loading content...