lax

Trait QR_

Source
pub trait QR_: Sized {
    // Required methods
    fn householder(l: MatrixLayout, a: &mut [Self]) -> Result<Vec<Self>>;
    fn q(l: MatrixLayout, a: &mut [Self], tau: &[Self]) -> Result<()>;
    fn qr(l: MatrixLayout, a: &mut [Self]) -> Result<Vec<Self>>;
}

Required Methods§

Source

fn householder(l: MatrixLayout, a: &mut [Self]) -> Result<Vec<Self>>

Execute Householder reflection as the first step of QR-decomposition

For C-continuous array, this will call LQ-decomposition of the transposed matrix $ A^T = LQ^T $

Source

fn q(l: MatrixLayout, a: &mut [Self], tau: &[Self]) -> Result<()>

Reconstruct Q-matrix from Householder-reflectors

Source

fn qr(l: MatrixLayout, a: &mut [Self]) -> Result<Vec<Self>>

Execute QR-decomposition at once

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.

Implementations on Foreign Types§

Source§

impl QR_ for f32

Source§

fn householder(l: MatrixLayout, a: &mut [Self]) -> Result<Vec<Self>>

Source§

fn q(l: MatrixLayout, a: &mut [Self], tau: &[Self]) -> Result<()>

Source§

fn qr(l: MatrixLayout, a: &mut [Self]) -> Result<Vec<Self>>

Source§

impl QR_ for f64

Source§

fn householder(l: MatrixLayout, a: &mut [Self]) -> Result<Vec<Self>>

Source§

fn q(l: MatrixLayout, a: &mut [Self], tau: &[Self]) -> Result<()>

Source§

fn qr(l: MatrixLayout, a: &mut [Self]) -> Result<Vec<Self>>

Source§

impl QR_ for c32

Source§

fn householder(l: MatrixLayout, a: &mut [Self]) -> Result<Vec<Self>>

Source§

fn q(l: MatrixLayout, a: &mut [Self], tau: &[Self]) -> Result<()>

Source§

fn qr(l: MatrixLayout, a: &mut [Self]) -> Result<Vec<Self>>

Source§

impl QR_ for c64

Source§

fn householder(l: MatrixLayout, a: &mut [Self]) -> Result<Vec<Self>>

Source§

fn q(l: MatrixLayout, a: &mut [Self], tau: &[Self]) -> Result<()>

Source§

fn qr(l: MatrixLayout, a: &mut [Self]) -> Result<Vec<Self>>

Implementors§