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