Macro nalgebra::matrix

source ·
matrix!() { /* proc-macro */ }
Expand description

Construct a fixed-size matrix directly from data.

Note: Requires the macros feature to be enabled (enabled by default).

This macro facilitates easy construction of matrices when the entries of the matrix are known (either as constants or expressions). This macro produces an instance of SMatrix. This means that the data of the matrix is stored on the stack, and its dimensions are fixed at compile-time. If you want to construct a dynamic matrix, use dmatrix! instead.

matrix! is intended to be both the simplest and most efficient way to construct (small) matrices, and can also be used in const fn contexts.

The syntax is MATLAB-like. Column elements are separated by a comma (,), and a semi-colon (;) designates that a new row begins.

Examples

use nalgebra::matrix;

// Produces a Matrix3<_> == SMatrix<_, 3, 3>
let a = matrix![1, 2, 3;
                4, 5, 6;
                7, 8, 9];

You can construct matrices with arbitrary expressions for its elements:

use nalgebra::{matrix, Matrix2};
let theta = 0.45f64;

let r = matrix![theta.cos(), - theta.sin();
                theta.sin(),   theta.cos()];