rustebra 0.3.2

A hybrid no_std/alloc linear algebra crate for Rust, scaling from embedded targets to dynamic Krylov subspace solvers.
Documentation
use rustebra::vector::DynamicVector;

pub(crate) fn run() {
    println!("\n== DynamicVector ==");
    let a = DynamicVector::new(vec![1.0, 2.0, 3.0]);
    let b = DynamicVector::new(vec![4.0, 5.0, 6.0]);

    println!("a = {a:?}");
    println!("b = {b:?}");

    let sum = a.add(&b).expect("a and b have the same length");
    println!("a + b = {sum:?}");

    let diff = a.sub(&b).expect("a and b have the same length");
    println!("a - b = {diff:?}");

    println!("a scaled by 2 = {:?}", a.scale(2.0));

    let dot = a.dot(&b).expect("a and b have the same length");
    println!("a . b = {dot}");

    println!("||a|| = {:.4}", a.norm());
}