How low dimensional is nalgebra?


The crate documentation refers to nalgebra as a low dimensional linear algebra library. I was just wondering what that meant? It seems like there are traits for N-dimensional vectors and matrices. So I assume I can load these up with columns until my memory is exhausted. Is there something that I am missing in the description of the package?


Currently “low dimensional” means that nalgebra only defines algebraic structures which live on a low-dimensional space (at most 6D). Thus you won’t find, say, a statically-sized 1000x1000 matrix. It also means that we did not put much effort in optimizing operations for dynamically-sized matrices (which could have an arbitrary dimension). Current traits are only for convenience (for generic programming) and will be moved to the alga crate in the future.

Though, note that once v0.11.0 lands (I’ve been working on this for a while now. Expect some update on this issue at the end of this week), this will no longer be true because statically-sized matrices and vectors of any sizes will be possible; and both statically-sized algebraic entities and dynamically-sized ones will share the same code (which will include BLAS and Lapack operators if the right feature is activated). Thus, starting with v0.11.0, the crate description will be changed to be more “general-purpose” than “low-dimensional”.