Trait peroxide::structure::matrix::LinearAlgebra
source · pub trait LinearAlgebra {
Show 15 methods
// Required methods
fn back_subs(&self, b: &Vec<f64>) -> Vec<f64>;
fn forward_subs(&self, b: &Vec<f64>) -> Vec<f64>;
fn lu(&self) -> PQLU;
fn waz(&self, d_form: Form) -> Option<WAZD>;
fn qr(&self) -> QR;
fn svd(&self) -> SVD;
fn cholesky(&self, uplo: UPLO) -> Matrix;
fn rref(&self) -> Matrix;
fn det(&self) -> f64;
fn block(&self) -> (Matrix, Matrix, Matrix, Matrix);
fn inv(&self) -> Matrix;
fn pseudo_inv(&self) -> Matrix;
fn solve(&self, b: &Vec<f64>, sk: SolveKind) -> Vec<f64>;
fn solve_mat(&self, m: &Matrix, sk: SolveKind) -> Matrix;
fn is_symmetric(&self) -> bool;
}
Expand description
Linear algebra trait
Required Methods§
fn back_subs(&self, b: &Vec<f64>) -> Vec<f64>
fn forward_subs(&self, b: &Vec<f64>) -> Vec<f64>
fn lu(&self) -> PQLU
fn waz(&self, d_form: Form) -> Option<WAZD>
fn qr(&self) -> QR
fn svd(&self) -> SVD
fn cholesky(&self, uplo: UPLO) -> Matrix
fn rref(&self) -> Matrix
fn det(&self) -> f64
fn block(&self) -> (Matrix, Matrix, Matrix, Matrix)
fn inv(&self) -> Matrix
fn pseudo_inv(&self) -> Matrix
fn solve(&self, b: &Vec<f64>, sk: SolveKind) -> Vec<f64>
fn solve_mat(&self, m: &Matrix, sk: SolveKind) -> Matrix
fn is_symmetric(&self) -> bool
Implementors§
impl LinearAlgebra for SPMatrix
Linear algebra for sparse matrix
Caution : In every ops in this trait, there is converting process to dense matrix