nalgebra

nalgebra is a low-dimensional linear algebra library written for Rust targeting:

An on-line version of this documentation is available here.

Using nalgebra

All the functionality of nalgebra is grouped in one place: the root module nalgebra::. This module re-exports everything and includes free functions for all traits methods doing out-of-place modifications.

.ignore use nalgebra::*;

The preferred way to use nalgebra is to import types and traits explicitly, and call free-functions using the na:: prefix:

```.rust extern crate "nalgebra" as na; use na::{Vec3, Rot3, Rotation};

fn main() { let a = Vec3::new(1.0f64, 1.0, 1.0); let mut b = Rot3::new(na::zero());

b.append_rotation(&a);

assert!(na::approx_eq(&na::rotation(&b), &a));

} ```

Features

nalgebra is meant to be a general-purpose, low-dimensional, linear algebra library, with an optimized set of tools for computer graphics and physics. Those features include:

```rust extern crate "nalgebra" as na; use na::{Vec3, Mat3};

fn main() { let v: Vec3 = na::zero(); let m: Mat3 = na::one();

let _ = m * v;      // matrix-vector multiplication.
let _ = v * m;      // vector-matrix multiplication.
let _ = m * m;      // matrix-matrix multiplication.
let _ = v * 2.0f64; // vector-scalar multiplication.

}