spindalis 0.4.6

A bioinformatics-focused library for numerical modeling, optimisation, and simulation written in Rust
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use spindalis::decomposition::{lu_decomposition, lu_pivot_decomposition};
use spindalis::utils::Arr2D;

fn main() {
    let mat = Arr2D::from(&[[2, -1, -2], [-4, 6, 3], [-4, -2, 8]]);
    // LU Decomposition
    let (lower, upper) = lu_decomposition(&mat).unwrap();
    println!("LU Decomposition");
    println!("Lower Triangle Matrix:\n{lower}\nUpper Triange Matrix:\n{upper}\n");

    // PLU Decomposition
    let (lower, upper, permutation) = lu_pivot_decomposition(&mat).unwrap();
    println!("LU Decomposition with partial pivoting (PLU decomposition)");
    println!(
        "Lower Triange Matrix:\n{lower}\nUpper Triange Matrix:\n{upper}\nPermutation matrix:\n{permutation}"
    );
}