Modules
[Reexported at the root of this crate.] Data structures for vector and matrix computations.
[Reexported at the root of this crate.] Data structures for points and usual transformations (rotations, isometries, etc.)
[Reexported at the root of this crate.] Factorization of real matrices.
Traits implemented by scalar, non-SIMD, types.
Traits implemented by SIMD types and non-SIMD types.
Macros
Construct a dynamic matrix directly from data.
Construct a dynamic column vector directly from data.
Construct a fixed-size matrix directly from data.
Construct a fixed-size point directly from data.
Construct a fixed-size column vector directly from data.
Structs
A array-based statically sized matrix data storage.
The bidiagonalization of a general matrix.
The Cholesky decomposition of a symmetric-definite-positive matrix.
The QR decomposition (with column pivoting) of a general matrix.
A complex number in Cartesian form.
An allocator based on GenericArray
and VecStorage
for statically-sized and dynamically-sized
matrices respectively.
A dual quaternion.
Dim of dynamically-sized algebraic entities.
Euclidean norm.
LU decomposition with full row and column pivoting.
Hessenberg decomposition of a general matrix.
A direct isometry, i.e., a rotation followed by a translation (aka. a rigid-body motion).
LU decomposition with partial (row) pivoting.
Lp norm.
The most generic column-major matrix (and vector) type.
A point in an euclidean space.
A 3D orthographic projection stored as a homogeneous 4x4 matrix.
A sequence of row or column permutations.
A 3D perspective projection stored as a homogeneous 4x4 matrix.
The QR decomposition of a general matrix.
A quaternion. See the type alias UnitQuaternion = Unit<Quaternion>
for a quaternion
that may be used as a rotation.
A reflection wrt. a plane.
A rotation matrix.
Singular Value Decomposition of a general matrix.
A scale which supports non-uniform scaling.
Schur decomposition of a square matrix.
A similarity, i.e., an uniform scaling, followed by a rotation, followed by a translation.
A matrix data storage for a matrix slice. Only contains an internal reference to another matrix data storage.
A mutable matrix data storage for mutable matrix slice. Only contains an internal mutable reference to another matrix data storage.
Eigendecomposition of a symmetric matrix.
Tridiagonalization of a symmetric matrix.
A transformation matrix in homogeneous coordinates.
A translation.
UDU factorization.
L-infinite norm aka. Chebytchev norm aka. uniform norm aka. suppremum norm.
A wrapper that ensures the underlying algebraic entity has a unit norm.
A Vec-based matrix data storage. It may be dynamically-sized.
Enums
Tag representing an affine Transform
. Its bottom-row is equal to (0, 0 ... 0, 1)
.
Tag representing the most general (not necessarily inversible) Transform
type.
Tag representing the most general inversible Transform
type.
Traits
Trait implemented by rotations that can be used inside of an Isometry
or Similarity
.
Trait alias for Add
and AddAssign
with result of type Self
.
Trait alias for Div
and DivAssign
with result of type Self
.
Trait alias for Mul
and MulAssign
with result of type Self
.
Trait alias for Sub
and SubAssign
with result of type Self
.
Trait shared by all complex fields and its subfields (like real numbers).
Trait implemented by any type that can be used as a dimension. This includes type-level
integers and Dynamic
(for dimensions not known at compile-time).
Trait implemented exclusively by type-level integers.
Trait implemented by fields, i.e., complex numbers and floats.
Trait of vector with components implementing the RealField
trait.
Trait of vector with components implementing the BaseFloat
trait.
Marker trait indicating that a storage is stored contiguously in memory.
Trait implemented by Dynamic
.
Trait implemented by Dynamic
and type-level integers different from U1
.
A trait for abstract matrix norms.
Trait implemented by entities scan be be normalized and put in an Unit
struct.
Trait grouping most common operations on points.
Trait grouping most common operations on vectors.
The trait shared by all matrix data storage.
Trait implemented by matrix data storage that can provide a mutable access to its elements.
Trait shared by all reals.
A matrix storage that can be reshaped in-place.
The basic scalar type for all structures of nalgebra
.
Lane-wise generalization of bool
for SIMD booleans.
Lane-wise generalisation of ComplexField
for SIMD complex fields.
Lane-wise generalization of the standard PartialOrd
for SIMD values.
Lanewise generalization of RealField
for SIMD reals.
Base trait for every SIMD types.
A range with a size that may be known at compile-time.
Trait shared by all matrix data storage that don’t contain any uninitialized elements.
Trait shared by all mutable matrix data storage that don’t contain any uninitialized elements.
Indicates that Self
is a more specific Transform
category than Other
.
Indicates that Self
is a more general Transform
category than Other
.
Trait implemented by phantom types identifying the projective transformation type.
Traits that gives the Transform
category that is compatible with the result of the
multiplication of transformations with categories Self
and Other
.
Functions
The absolute value of a
.
The center of two points.
Returns a reference to the input value clamped to the interval [min, max]
.
Converts an object from one type to an equivalent or more general one.
Converts an object from one type to an equivalent or more general one.
Use with care! Same as try_convert
but
without any property checks.
Use with care! Same as try_convert
but
without any property checks.
The distance between two points.
The squared distance between two points.
Returns the infimum of a
and b
.
Returns simultaneously the infimum and supremum of a
and b
.
Indicates if try_convert
will succeed without
actually performing the conversion.
Same as cmp::max
.
Same as cmp::min
.
Gets the multiplicative identity element.
Clamp value
between min
and max
. Returns None
if value
is not comparable to
min
or max
.
Compare a
and b
using a partial ordering relation.
Returns true
iff a
and b
are comparable and a >= b
.
Returns true
iff a
and b
are comparable and a > b
.
Returns true
iff a
and b
are comparable and a <= b
.
Returns true
iff a
and b
are comparable and a < b
.
Return the maximum of a
and b
if they are comparable.
Return the minimum of a
and b
if they are comparable.
Sorts two values in increasing order using a partial ordering.
Returns the supremum of a
and b
.
Attempts to convert an object to a more specific one.
Attempts to convert an object to a more specific one.
Performs a LU decomposition to overwrite out
with the inverse of matrix
.
Computes the wilkinson shift, i.e., the 2x2 symmetric matrix eigenvalue to its tailing
component tnn
.
Wraps val
into the range [min, max]
using modular arithmetics.
Gets the additive identity element.
Type Definitions
A 2D affine transformation. Stored as a homogeneous 3x3 matrix.
A 3D affine transformation. Stored as a homogeneous 4x4 matrix.
The column-stride of the owned data storage for a buffer of dimension (R, C)
.
A dynamically sized column-major matrix.
A column-major matrix slice dynamic numbers of rows and columns.
A column-major matrix slice dynamic numbers of rows and columns.
A dynamically sized column vector.
A column vector slice dynamic numbers of rows and columns.
A column vector slice dynamic numbers of rows and columns.
A 2-dimensional direct isometry using a unit complex number for its rotational part.
A 3-dimensional direct isometry using a unit quaternion for its rotational part.
A 2-dimensional direct isometry using a rotation matrix for its rotational part.
A 3-dimensional direct isometry using a rotation matrix for its rotational part.
A stack-allocated, column-major, 1x1 square matrix.
A stack-allocated, column-major, 1x2 matrix.
A stack-allocated, column-major, 1x3 matrix.
A stack-allocated, column-major, 1x4 matrix.
A stack-allocated, column-major, 1x5 matrix.
A stack-allocated, column-major, 1x6 matrix.
A heap-allocated, row-major, matrix with 1 rows and a dynamic number of columns.
A stack-allocated, column-major, 2x2 square matrix.
A stack-allocated, column-major, 2x1 matrix.
A stack-allocated, column-major, 2x3 matrix.
A stack-allocated, column-major, 2x4 matrix.
A stack-allocated, column-major, 2x5 matrix.
A stack-allocated, column-major, 2x6 matrix.
A heap-allocated, row-major, matrix with 2 rows and a dynamic number of columns.
A stack-allocated, column-major, 3x3 square matrix.
A stack-allocated, column-major, 3x1 matrix.
A stack-allocated, column-major, 3x2 matrix.
A stack-allocated, column-major, 3x4 matrix.
A stack-allocated, column-major, 3x5 matrix.
A stack-allocated, column-major, 3x6 matrix.
A heap-allocated, row-major, matrix with 3 rows and a dynamic number of columns.
A stack-allocated, column-major, 4x4 square matrix.
A stack-allocated, column-major, 4x1 matrix.
A stack-allocated, column-major, 4x2 matrix.
A stack-allocated, column-major, 4x3 matrix.
A stack-allocated, column-major, 4x5 matrix.
A stack-allocated, column-major, 4x6 matrix.
A heap-allocated, row-major, matrix with 4 rows and a dynamic number of columns.
A stack-allocated, column-major, 5x5 square matrix.
A stack-allocated, column-major, 5x1 matrix.
A stack-allocated, column-major, 5x2 matrix.
A stack-allocated, column-major, 5x3 matrix.
A stack-allocated, column-major, 5x4 matrix.
A stack-allocated, column-major, 5x6 matrix.
A heap-allocated, row-major, matrix with 5 rows and a dynamic number of columns.
A stack-allocated, column-major, 6x6 square matrix.
A stack-allocated, column-major, 6x1 matrix.
A stack-allocated, column-major, 6x2 matrix.
A stack-allocated, column-major, 6x3 matrix.
A stack-allocated, column-major, 6x4 matrix.
A stack-allocated, column-major, 6x5 matrix.
A heap-allocated, row-major, matrix with 6 rows and a dynamic number of columns.
The type of the result of a matrix cross product.
An owned matrix column-major matrix with R
rows and C
columns.
An owned matrix column-major matrix with D
columns.
A matrix slice.
A column-major 1x1 matrix slice.
A column-major 1x2 matrix slice.
A column-major 1x3 matrix slice.
A column-major 1x4 matrix slice.
A column-major 1x5 matrix slice.
A column-major 1x6 matrix slice.
A column-major matrix slice with 1 row and a number of columns chosen at runtime.
A column-major 2x2 matrix slice.
A column-major 2x1 matrix slice.
A column-major 2x3 matrix slice.
A column-major 2x4 matrix slice.
A column-major 2x5 matrix slice.
A column-major 2x6 matrix slice.
A column-major matrix slice with 2 rows and a number of columns chosen at runtime.
A column-major 3x3 matrix slice.
A column-major 3x1 matrix slice.
A column-major 3x2 matrix slice.
A column-major 3x4 matrix slice.
A column-major 3x5 matrix slice.
A column-major 3x6 matrix slice.
A column-major matrix slice with 3 rows and a number of columns chosen at runtime.
A column-major 4x4 matrix slice.
A column-major 4x1 matrix slice.
A column-major 4x2 matrix slice.
A column-major 4x3 matrix slice.
A column-major 4x5 matrix slice.
A column-major 4x6 matrix slice.
A column-major matrix slice with 4 rows and a number of columns chosen at runtime.
A column-major 5x5 matrix slice.
A column-major 5x1 matrix slice.
A column-major 5x2 matrix slice.
A column-major 5x3 matrix slice.
A column-major 5x4 matrix slice.
A column-major 5x6 matrix slice.
A column-major matrix slice with 5 rows and a number of columns chosen at runtime.
A column-major 6x6 matrix slice.
A column-major 6x1 matrix slice.
A column-major 6x2 matrix slice.
A column-major 6x3 matrix slice.
A column-major 6x4 matrix slice.
A column-major 6x5 matrix slice.
A column-major matrix slice with 6 rows and a number of columns chosen at runtime.
A mutable matrix slice.
A column-major 1x1 matrix slice.
A column-major 1x2 matrix slice.
A column-major 1x3 matrix slice.
A column-major 1x4 matrix slice.
A column-major 1x5 matrix slice.
A column-major 1x6 matrix slice.
A column-major matrix slice with 1 row and a number of columns chosen at runtime.
A column-major 2x2 matrix slice.
A column-major 2x1 matrix slice.
A column-major 2x3 matrix slice.
A column-major 2x4 matrix slice.
A column-major 2x5 matrix slice.
A column-major 2x6 matrix slice.
A column-major matrix slice with 2 rows and a number of columns chosen at runtime.
A column-major 3x3 matrix slice.
A column-major 3x1 matrix slice.
A column-major 3x2 matrix slice.
A column-major 3x4 matrix slice.
A column-major 3x5 matrix slice.
A column-major 3x6 matrix slice.
A column-major matrix slice with 3 rows and a number of columns chosen at runtime.
A column-major 4x4 matrix slice.
A column-major 4x1 matrix slice.
A column-major 4x2 matrix slice.
A column-major 4x3 matrix slice.
A column-major 4x5 matrix slice.
A column-major 4x6 matrix slice.
A column-major matrix slice with 4 rows and a number of columns chosen at runtime.
A column-major 5x5 matrix slice.
A column-major 5x1 matrix slice.
A column-major 5x2 matrix slice.
A column-major 5x3 matrix slice.
A column-major 5x4 matrix slice.
A column-major 5x6 matrix slice.
A column-major matrix slice with 5 rows and a number of columns chosen at runtime.
A column-major 6x6 matrix slice.
A column-major 6x1 matrix slice.
A column-major 6x2 matrix slice.
A column-major 6x3 matrix slice.
A column-major 6x4 matrix slice.
A column-major 6x5 matrix slice.
A column-major matrix slice with 6 rows and a number of columns chosen at runtime.
A column-major matrix slice with R
rows and C
columns.
A column-major matrix slice with D
rows and columns.
A column-major matrix slice with a number of rows chosen at runtime and 1 column.
A column-major matrix slice with a number of rows chosen at runtime and 2 columns.
A column-major matrix slice with a number of rows chosen at runtime and 3 columns.
A column-major matrix slice with a number of rows chosen at runtime and 4 columns.
A column-major matrix slice with a number of rows chosen at runtime and 5 columns.
A column-major matrix slice with a number of rows chosen at runtime and 6 columns.
A column-major matrix slice with a number of rows chosen at runtime and 1 column.
A column-major matrix slice with a number of rows chosen at runtime and 2 columns.
A column-major matrix slice with a number of rows chosen at runtime and 3 columns.
A column-major matrix slice with a number of rows chosen at runtime and 4 columns.
A column-major matrix slice with a number of rows chosen at runtime and 5 columns.
A column-major matrix slice with a number of rows chosen at runtime and 6 columns.
The type of the result of a matrix sum.
Renamed to VecStorage
.
A heap-allocated, column-major, matrix with a dynamic number of rows and 1 columns.
A heap-allocated, column-major, matrix with a dynamic number of rows and 2 columns.
A heap-allocated, column-major, matrix with a dynamic number of rows and 3 columns.
A heap-allocated, column-major, matrix with a dynamic number of rows and 4 columns.
A heap-allocated, column-major, matrix with a dynamic number of rows and 5 columns.
A heap-allocated, column-major, matrix with a dynamic number of rows and 6 columns.
An owned matrix column-major matrix with R
rows and C
columns.
An owned D-dimensional column vector.
The owned data storage that can be allocated from S
.
The owned data storage that can be allocated from S
.
A point with D
elements.
A statically sized 1-dimensional column point.
A statically sized 2-dimensional column point.
A statically sized 3-dimensional column point.
A statically sized 4-dimensional column point.
A statically sized 5-dimensional column point.
A statically sized 6-dimensional column point.
An invertible 2D general transformation. Stored as a homogeneous 3x3 matrix.
An invertible 3D general transformation. Stored as a homogeneous 4x4 matrix.
The row-stride of the owned data storage for a buffer of dimension (R, C)
.
A 1-dimensional reflection.
A 2-dimensional reflection.
A 3-dimensional reflection.
A 4-dimensional reflection.
A 5-dimensional reflection.
A 6-dimensional reflection.
A 2-dimensional rotation matrix.
A 3-dimensional rotation matrix.
A dynamically sized row vector.
An owned D-dimensional row vector.
A statically sized D-dimensional row vector.
A matrix with one row and D
columns .
A stack-allocated, 1-dimensional row vector.
A stack-allocated, 2-dimensional row vector.
A stack-allocated, 3-dimensional row vector.
A stack-allocated, 4-dimensional row vector.
A stack-allocated, 5-dimensional row vector.
A stack-allocated, 6-dimensional row vector.
A statically sized column-major matrix with R
rows and C
columns.
A column-major matrix slice with dimensions known at compile-time.
A column-major matrix slice with dimensions known at compile-time.
A statically sized D-dimensional column vector.
A column vector slice with dimensions known at compile-time.
A column vector slice with dimensions known at compile-time.
The data storage for the sum of two matrices with dimensions (R1, C1)
and (R2, C2)
.
A 1-dimensional scale.
A 2-dimensional scale.
A 3-dimensional scale.
A 4-dimensional scale.
A 5-dimensional scale.
A 6-dimensional scale.
A 2-dimensional similarity.
A 3-dimensional similarity.
A 2-dimensional similarity using a rotation matrix for its rotation part.
A 3-dimensional similarity using a rotation matrix for its rotation part.
A square matrix.
A 2D general transformation that may not be invertible. Stored as a homogeneous 3x3 matrix.
A 3D general transformation that may not be inversible. Stored as a homogeneous 4x4 matrix.
A 1-dimensional translation.
A 2-dimensional translation.
A 3-dimensional translation.
A 4-dimensional translation.
A 5-dimensional translation.
A 6-dimensional translation.
An owned matrix with uninitialized data.
An owned matrix with uninitialized data.
A 2D rotation represented as a complex number with magnitude 1.
A unit dual quaternion. May be used to represent a rotation followed by a translation.
A unit quaternions. May be used to represent a rotation.
A stack-allocated, 1-dimensional unit vector.
A stack-allocated, 2-dimensional unit vector.
A stack-allocated, 3-dimensional unit vector.
A stack-allocated, 4-dimensional unit vector.
A stack-allocated, 5-dimensional unit vector.
A stack-allocated, 6-dimensional unit vector.
A matrix with one column and D
rows.
A stack-allocated, 1-dimensional column vector.
A stack-allocated, 2-dimensional column vector.
A stack-allocated, 3-dimensional column vector.
A stack-allocated, 4-dimensional column vector.
A stack-allocated, 5-dimensional column vector.
A stack-allocated, 6-dimensional column vector.
An owned matrix column-major matrix with R
rows and C
columns.
A column vector slice with dimensions known at compile-time.
A 1D column vector slice.
A 2D column vector slice.
A 3D column vector slice.
A 4D column vector slice.
A 5D column vector slice.
A 6D column vector slice.
A column vector slice with dimensions known at compile-time.
A 1D column vector slice.
A 2D column vector slice.
A 3D column vector slice.
A 4D column vector slice.
A 5D column vector slice.
A 6D column vector slice.
The type of the result of a matrix sum.