nalgebra relies on the official Rust package manager
Cargo for dependency resolution and compilation. Therefore,
making nalgebra ready to be used by your project is simply a matter of
adding a new dependency to your
Until nalgebra reaches 1.0, it is strongly recommended to always use its
latest version, though you might encounter breaking changes from time to time.
Cargo.toml file is set up, the corresponding crate must be imported
by your project with the usual
extern crate directive. We recommend using the
na abbreviation for referencing the crate throughout your application.
Here is a complete example of
nalgebra is a monolithic crate with all its functionalities exported at its
root. Data types, traits, and functions that do not take mutable inputs are
directly accessible behind the
nalgebra:: path (or
na:: if you use the
recommended alias). However, methods that perform in-place modifications
(normalization, appending a translation in-place, etc.) are not accessible as
free-functions. Instead, see the details of each data structure and the traits
Finally, many optional features can be enabled if needed:
|Makes it possible to serialize using abomonation
|Makes it possible the use of quickcheck by adding implementations of their
|For parsing matrices from files using the matrix market format.
|For allowing the use of the libm crate to make features based on special math functions work on
|For forcing the use of the libm crate in order to make sure the implementations of all special math functions will be the same of all the platforms.
|Makes it possible the use of serde by adding implementations of the
|To make the
na::sparse module available for sparse matrix computations.