lars
A library implementing basic linear algebra in Rust.
Example features of lars::vector
extern crate lars;
use lars::vector;
use lars::vector:Vector;
fn vector_stuff() {
let v0 = Vector(5, 3.0);
let v1 = v0.clone();
let mut v2 = v0.clone() * v1.clone();
v2 = v0.clone() + v1.clone();
v2 = v0.clone() / v1.clone();
v2 = v0.clone() - v1.clone();
let elements = [1.0, 3.0, 3.0, 7.0];
let foo = vector::from(&elements);
let bar = vector::random(42);
}
Example features of lars::matrix
extern crate lars;
use lars::matrix;
use lars::matrix::Matrix;
fn matrix_stuff() {
let m0 = Matrix(5, 5, 3.0);
let m1 = m0.clone();
let mut m2 = m0.clone() * m1.clone();
m2 = m0.clone() + m1.clone();
m2 = m0.clone() / m1.clone();
m2 = m0.clone() - m1.clone();
let elements = [1.0, 3.0, 3.0, 7.0];
let foo = matrix::from(2, 2, &elements);
let bar = matrix::random(5, 5);
let m01 = matrix::identity(5);
let m02 = matrix::zeros_like(m0);
let mut m03 = matrix::zeros(5, 8);
let barT = matrix::transposed(bar);
m2.transpose();
m03.reshape(2, 20);
m03.set(1, 7, 69);
assert_eq!(m03.get(1, 7), 69); }
TODO
- Add matrix/vector exponent and square root function