Trait static_math::traits::LinearAlgebra[][src]

pub trait LinearAlgebra<T> {
    fn rows(&self) -> usize;
fn cols(&self) -> usize;
fn transpose(&self) -> Self
    where
        Self: Sized
;
fn trace(&self) -> T;
fn norm2(&self) -> T;
fn det(&self) -> T;
fn inverse(&self) -> Option<Self>
    where
        Self: Sized
;
fn qr(&self) -> Option<(Self, Self)>
    where
        Self: Sized
; fn shape(&self) -> (usize, usize) { ... } }
Expand description

Generic Trait for Matrix operations and Linear Algebra methods

Required methods

get the rows of the matrix

get the columns of the matrix

transpose dimentions of the matrix

get the trace of the matrix

compute the euclidean norm of the matrix

compute the determinant of the matrix

compute the inverse of the matrix

compute the QR factorization of the matrix(if has inverse)

Provided methods

get the overal shape of the matrix

Implementors

Calculate de QR factorization of the M22 via gram-schmidt orthogonalization process

Calculate the determiant of the matrix

Calculate the inverse

Calculate de QR factorization of the M33 via gram-schmidt orthogonalization process

Calculate the inverse

Calculate de QR factorization of the M44 via gram-schmidt orthogonalization process

Calculate the inverse of the Matrix6x6 via tha Adjoint Matrix: A^(-1) = 1/det Adj where Adj = Cofactor.Transpose() Cofactor = (-1)^(i+j) M(i, j).det()

Calculate de QR factorization of the M55 via gram-schmidt orthogonalization process

Calculate the inverse of the M66 via tha Adjoint Matrix:

A^(-1) = (1/det) * Adj

where: Adj = Cofactor.Transpose()

Cofactor = (-1)^(i+j) * M(i, j).det()

Calculate de QR factorization of the M66 via gram-schmidt orthogonalization process