Expand description
§nalgebra
nalgebra is a linear algebra library written for Rust targeting:
- General-purpose linear algebra (still lacks a lot of features…)
- Real-time computer graphics.
- Real-time computer physics.
§Using nalgebra
You will need the last stable build of the rust compiler and the official package manager: cargo.
Simply add the following to your Cargo.toml
file:
ⓘ
[dependencies]
// TODO: replace the * by the latest version.
nalgebra = "*"
Most useful functionalities of nalgebra are grouped in the root module nalgebra::
.
However, the recommended way to use nalgebra is to import types and traits
explicitly, and call free-functions using the na::
prefix:
#[macro_use]
extern crate approx; // For the macro assert_relative_eq!
extern crate nalgebra as na;
use na::{Vector3, Rotation3};
fn main() {
let axis = Vector3::x_axis();
let angle = 1.57;
let b = Rotation3::from_axis_angle(&axis, angle);
assert_relative_eq!(b.axis().unwrap(), axis);
assert_relative_eq!(b.angle(), angle);
}
§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:
- A single parametrizable type
Matrix
for vectors, (square or rectangular) matrices, and slices with dimensions known either at compile-time (using type-level integers) or at runtime. - Matrices and vectors with compile-time sizes are statically allocated while dynamic ones are allocated on the heap.
- Convenient aliases for low-dimensional matrices and vectors:
Vector1
toVector6
andMatrix1x1
toMatrix6x6
, including rectangular matrices likeMatrix2x5
. - Points sizes known at compile time, and convenience aliases:
Point1
toPoint6
. - Translation (seen as a transformation that composes by multiplication):
Translation2
,Translation3
. - Rotation matrices:
Rotation2
,Rotation3
. - Quaternions:
Quaternion
,UnitQuaternion
(for 3D rotation). - Unit complex numbers can be used for 2D rotation:
UnitComplex
. - Algebraic entities with a norm equal to one:
Unit<T>
, e.g.,Unit<Vector3<f32>>
. - Isometries (translation ⨯ rotation):
Isometry2
,Isometry3
- Similarity transformations (translation ⨯ rotation ⨯ uniform scale):
Similarity2
,Similarity3
. - Affine transformations stored as a homogeneous matrix:
Affine2
,Affine3
. - Projective (i.e. invertible) transformations stored as a homogeneous matrix:
Projective2
,Projective3
. - General transformations that does not have to be invertible, stored as a homogeneous matrix:
Transform2
,Transform3
. - 3D projections for computer graphics:
Perspective3
,Orthographic3
. - Matrix factorizations:
Cholesky
,QR
,LU
,FullPivLU
,SVD
,Schur
,Hessenberg
,SymmetricEigen
. - Insertion and removal of rows of columns of a matrix.
Modules§
- base
- [Reexported at the root of this crate.] Data structures for vector and matrix computations.
- geometry
- [Reexported at the root of this crate.] Data structures for points and usual transformations (rotations, isometries, etc.)
- linalg
- [Reexported at the root of this crate.] Factorization of real matrices.
Macros§
- dmatrix
- Construct a dynamic matrix directly from data.
- dvector
- Construct a dynamic column vector directly from data.
- matrix
- Construct a fixed-size matrix directly from data.
- point
- Construct a fixed-size point directly from data.
- stack
- Construct a new matrix by stacking matrices in a block matrix.
- vector
- Construct a fixed-size column vector directly from data.
Structs§
- Array
Storage - An array-based statically sized matrix data storage.
- Bidiagonal
- The bidiagonalization of a general matrix.
- Cholesky
- The Cholesky decomposition of a symmetric-definite-positive matrix.
- ColPivQR
- The QR decomposition (with column pivoting) of a general matrix.
- Complex
- A complex number in Cartesian form.
- Const
- Default
Allocator - An allocator based on
ArrayStorage
andVecStorage
for statically-sized and dynamically-sized matrices respectively. - Dual
Quaternion - A dual quaternion.
- Dyn
- Dim of dynamically-sized algebraic entities.
- Euclidean
Norm - Euclidean norm.
- Full
PivLU - LU decomposition with full row and column pivoting.
- Hessenberg
- Hessenberg decomposition of a general matrix.
- Isometry
- A direct isometry, i.e., a rotation followed by a translation (aka. a rigid-body motion).
- LU
- LU decomposition with partial (row) pivoting.
- LpNorm
- Lp norm.
- Matrix
- The most generic column-major matrix (and vector) type.
- OPoint
- A point in an euclidean space.
- Orthographic3
- A 3D orthographic projection stored as a homogeneous 4x4 matrix.
- Permutation
Sequence - A sequence of row or column permutations.
- Perspective3
- A 3D perspective projection stored as a homogeneous 4x4 matrix.
- QR
- The QR decomposition of a general matrix.
- Quaternion
- A quaternion. See the type alias
UnitQuaternion = Unit<Quaternion>
for a quaternion that may be used as a rotation. - Reflection
- A reflection wrt. a plane.
- Rotation
- A rotation matrix.
- SVD
- Singular Value Decomposition of a general matrix.
- Scale
- A scale which supports non-uniform scaling.
- Schur
- Schur decomposition of a square matrix.
- Similarity
- A similarity, i.e., an uniform scaling, followed by a rotation, followed by a translation.
- Symmetric
Eigen - Eigendecomposition of a symmetric matrix.
- Symmetric
Tridiagonal - Tridiagonalization of a symmetric matrix.
- Transform
- A transformation matrix in homogeneous coordinates.
- Translation
- A translation.
- UDU
- UDU factorization.
- Uniform
Norm - L-infinite norm aka. Chebytchev norm aka. uniform norm aka. suppremum norm.
- Unit
- A wrapper that ensures the underlying algebraic entity has a unit norm.
- VecStorage
- A Vec-based matrix data storage. It may be dynamically-sized.
- View
Storage - A matrix data storage for a matrix view. Only contains an internal reference to another matrix data storage.
- View
Storage Mut - A mutable matrix data storage for mutable matrix view. Only contains an internal mutable reference to another matrix data storage.
Enums§
- TAffine
- Tag representing an affine
Transform
. Its bottom-row is equal to(0, 0 ... 0, 1)
. - TGeneral
- Tag representing the most general (not necessarily inversible)
Transform
type. - TProjective
- Tag representing the most general inversible
Transform
type.
Constants§
- U0
- The constant dimension 0 .
- U1
- The constant dimension 1.
- U2
- The constant dimension 2 .
- U3
- The constant dimension 3 .
- U4
- The constant dimension 4 .
- U5
- The constant dimension 5 .
- U6
- The constant dimension 6 .
- U7
- The constant dimension 7 .
- U8
- The constant dimension 8 .
- U9
- The constant dimension 9 .
- U10
- The constant dimension 10 .
- U11
- The constant dimension 11 .
- U12
- The constant dimension 12 .
- U13
- The constant dimension 13 .
- U14
- The constant dimension 14 .
- U15
- The constant dimension 15 .
- U16
- The constant dimension 16 .
- U17
- The constant dimension 17 .
- U18
- The constant dimension 18 .
- U19
- The constant dimension 19 .
- U20
- The constant dimension 20 .
- U21
- The constant dimension 21 .
- U22
- The constant dimension 22 .
- U23
- The constant dimension 23 .
- U24
- The constant dimension 24 .
- U25
- The constant dimension 25 .
- U26
- The constant dimension 26 .
- U27
- The constant dimension 27 .
- U28
- The constant dimension 28 .
- U29
- The constant dimension 29 .
- U30
- The constant dimension 30 .
- U31
- The constant dimension 31 .
- U32
- The constant dimension 32 .
- U33
- The constant dimension 33 .
- U34
- The constant dimension 34 .
- U35
- The constant dimension 35 .
- U36
- The constant dimension 36 .
- U37
- The constant dimension 37 .
- U38
- The constant dimension 38 .
- U39
- The constant dimension 39 .
- U40
- The constant dimension 40 .
- U41
- The constant dimension 41 .
- U42
- The constant dimension 42 .
- U43
- The constant dimension 43 .
- U44
- The constant dimension 44 .
- U45
- The constant dimension 45 .
- U46
- The constant dimension 46 .
- U47
- The constant dimension 47 .
- U48
- The constant dimension 48 .
- U49
- The constant dimension 49 .
- U50
- The constant dimension 50 .
- U51
- The constant dimension 51 .
- U52
- The constant dimension 52 .
- U53
- The constant dimension 53 .
- U54
- The constant dimension 54 .
- U55
- The constant dimension 55 .
- U56
- The constant dimension 56 .
- U57
- The constant dimension 57 .
- U58
- The constant dimension 58 .
- U59
- The constant dimension 59 .
- U60
- The constant dimension 60 .
- U61
- The constant dimension 61 .
- U62
- The constant dimension 62 .
- U63
- The constant dimension 63 .
- U64
- The constant dimension 64 .
- U65
- The constant dimension 65 .
- U66
- The constant dimension 66 .
- U67
- The constant dimension 67 .
- U68
- The constant dimension 68 .
- U69
- The constant dimension 69 .
- U70
- The constant dimension 70 .
- U71
- The constant dimension 71 .
- U72
- The constant dimension 72 .
- U73
- The constant dimension 73 .
- U74
- The constant dimension 74 .
- U75
- The constant dimension 75 .
- U76
- The constant dimension 76 .
- U77
- The constant dimension 77 .
- U78
- The constant dimension 78 .
- U79
- The constant dimension 79 .
- U80
- The constant dimension 80 .
- U81
- The constant dimension 81 .
- U82
- The constant dimension 82 .
- U83
- The constant dimension 83 .
- U84
- The constant dimension 84 .
- U85
- The constant dimension 85 .
- U86
- The constant dimension 86 .
- U87
- The constant dimension 87 .
- U88
- The constant dimension 88 .
- U89
- The constant dimension 89 .
- U90
- The constant dimension 90 .
- U91
- The constant dimension 91 .
- U92
- The constant dimension 92 .
- U93
- The constant dimension 93 .
- U94
- The constant dimension 94 .
- U95
- The constant dimension 95 .
- U96
- The constant dimension 96 .
- U97
- The constant dimension 97 .
- U98
- The constant dimension 98 .
- U99
- The constant dimension 99 .
- U100
- The constant dimension 100 .
- U101
- The constant dimension 101 .
- U102
- The constant dimension 102 .
- U103
- The constant dimension 103 .
- U104
- The constant dimension 104 .
- U105
- The constant dimension 105 .
- U106
- The constant dimension 106 .
- U107
- The constant dimension 107 .
- U108
- The constant dimension 108 .
- U109
- The constant dimension 109 .
- U110
- The constant dimension 110 .
- U111
- The constant dimension 111 .
- U112
- The constant dimension 112 .
- U113
- The constant dimension 113 .
- U114
- The constant dimension 114 .
- U115
- The constant dimension 115 .
- U116
- The constant dimension 116 .
- U117
- The constant dimension 117 .
- U118
- The constant dimension 118 .
- U119
- The constant dimension 119 .
- U120
- The constant dimension 120 .
- U121
- The constant dimension 121 .
- U122
- The constant dimension 122 .
- U123
- The constant dimension 123 .
- U124
- The constant dimension 124 .
- U125
- The constant dimension 125 .
- U126
- The constant dimension 126 .
- U127
- The constant dimension 127 .
Traits§
- Abstract
Rotation - Trait implemented by rotations that can be used inside of an
Isometry
orSimilarity
. - Closed
AddAssign - Trait alias for
Add
andAddAssign
with result of typeSelf
. - Closed
DivAssign - Trait alias for
Div
andDivAssign
with result of typeSelf
. - Closed
MulAssign - Trait alias for
Mul
andMulAssign
with result of typeSelf
. - Closed
SubAssign - Trait alias for
Sub
andSubAssign
with result of typeSelf
. - Complex
Field - Trait shared by all complex fields and its subfields (like real numbers).
- Dim
- Trait implemented by any type that can be used as a dimension. This includes type-level
integers and
Dyn
(for dimensions not known at compile-time). - DimAdd
- DimDiv
- DimMax
- DimMin
- DimMul
- DimName
- Trait implemented exclusively by type-level integers.
- DimName
Add - DimName
Div - DimName
Max - DimName
Min - DimName
Mul - DimName
Sub - DimRange
- A range with a size that may be known at compile-time.
- DimSub
- Field
- Trait implemented by fields, i.e., complex numbers and floats.
- IsContiguous
- Marker trait indicating that a storage is stored contiguously in memory.
- IsDynamic
- Trait implemented by
Dyn
. - IsNot
Static One - Trait implemented by
Dyn
and type-level integers different fromU1
. - Norm
- A trait for abstract matrix norms.
- Normed
- Trait implemented by entities scan be be normalized and put in an
Unit
struct. - RawStorage
- The trait shared by all matrix data storage.
- RawStorage
Mut - Trait implemented by matrix data storage that can provide a mutable access to its elements.
- Real
Field - Trait shared by all reals.
- Reshapable
Storage - A matrix storage that can be reshaped in-place.
- Scalar
- The basic scalar type for all structures of
nalgebra
. - Simd
Bool - Lane-wise generalization of
bool
for SIMD booleans. - Simd
Complex Field - Lane-wise generalisation of
ComplexField
for SIMD complex fields. - Simd
Partial Ord - Lane-wise generalization of the standard
PartialOrd
for SIMD values. - Simd
Real Field - Lanewise generalization of
RealField
for SIMD reals. - Simd
Value - Base trait for every SIMD types.
- Slice
Range Deprecated - A range with a size that may be known at compile-time.
- Storage
- Trait shared by all matrix data storage that don’t contain any uninitialized elements.
- Storage
Mut - Trait shared by all mutable matrix data storage that don’t contain any uninitialized elements.
- SubT
Category Of - Indicates that
Self
is a more specificTransform
category thanOther
. - SuperT
Category Of - Indicates that
Self
is a more generalTransform
category thanOther
. - TCategory
- Trait implemented by phantom types identifying the projective transformation type.
- TCategory
Mul - Traits that gives the
Transform
category that is compatible with the result of the multiplication of transformations with categoriesSelf
andOther
. - ToConst
- ToTypenum
Functions§
- abs
Deprecated - The absolute value of
a
. - center
- The center of two points.
- clamp
- Returns a reference to the input value clamped to the interval
[min, max]
. - convert
- Converts an object from one type to an equivalent or more general one.
- convert_
ref - Converts an object from one type to an equivalent or more general one.
- convert_
ref_ unchecked - Use with care! Same as
try_convert()
but without any property checks. - convert_
unchecked - Use with care! Same as
try_convert()
but without any property checks. - distance
- The distance between two points.
- distance_
squared - The squared distance between two points.
- inf
Deprecated - Returns the infimum of
a
andb
. - inf_sup
Deprecated - Returns simultaneously the infimum and supremum of
a
andb
. - is_
convertible - Indicates if
try_convert()
will succeed without actually performing the conversion. - max
- Same as
cmp::max
. - min
- Same as
cmp::min
. - one
- Gets the multiplicative identity element.
- partial_
clamp - Clamp
value
betweenmin
andmax
. ReturnsNone
ifvalue
is not comparable tomin
ormax
. - partial_
cmp - Compare
a
andb
using a partial ordering relation. - partial_
ge - Returns
true
iffa
andb
are comparable anda >= b
. - partial_
gt - Returns
true
iffa
andb
are comparable anda > b
. - partial_
le - Returns
true
iffa
andb
are comparable anda <= b
. - partial_
lt - Returns
true
iffa
andb
are comparable anda < b
. - partial_
max - Return the maximum of
a
andb
if they are comparable. - partial_
min - Return the minimum of
a
andb
if they are comparable. - partial_
sort2 - Sorts two values in increasing order using a partial ordering.
- sup
Deprecated - Returns the supremum of
a
andb
. - try_
convert - Attempts to convert an object to a more specific one.
- try_
convert_ ref - Attempts to convert an object to a more specific one.
- try_
invert_ to - Performs a LU decomposition to overwrite
out
with the inverse ofmatrix
. - wilkinson_
shift - Computes the wilkinson shift, i.e., the 2x2 symmetric matrix eigenvalue to its tailing
component
tnn
. - wrap
- Wraps
val
into the range[min, max]
using modular arithmetics. - zero
- Gets the additive identity element.
Type Aliases§
- Affine2
- A 2D affine transformation. Stored as a homogeneous 3x3 matrix.
- Affine3
- A 3D affine transformation. Stored as a homogeneous 4x4 matrix.
- CStride
- The column-stride of the owned data storage for a buffer of dimension
(R, C)
. - DMatrix
- A dynamically sized column-major matrix.
- DMatrix
Slice Deprecated - A column-major matrix slice dynamic numbers of rows and columns.
- DMatrix
Slice Mut Deprecated - A column-major matrix slice dynamic numbers of rows and columns.
- DMatrix
View - An immutable column-major matrix view dynamic numbers of rows and columns.
- DMatrix
View Mut - A mutable column-major matrix view dynamic numbers of rows and columns.
- DVector
- A dynamically sized column vector.
- DVector
Slice Deprecated - A column vector slice dynamic numbers of rows and columns.
- DVector
Slice Mut Deprecated - A column vector slice dynamic numbers of rows and columns.
- DVector
View - An immutable column vector view dynamic numbers of rows and columns.
- DVector
View Mut - A mutable column vector view dynamic numbers of rows and columns.
- DimDiff
- DimMaximum
- DimMinimum
- DimName
Diff - DimName
Maximum - DimName
Minimum - DimName
Prod - DimName
Quot - DimName
Sum - DimProd
- DimQuot
- DimSum
- Dynamic
Deprecated - Isometry2
- A 2-dimensional direct isometry using a unit complex number for its rotational part.
- Isometry3
- A 3-dimensional direct isometry using a unit quaternion for its rotational part.
- Isometry
Matrix2 - A 2-dimensional direct isometry using a rotation matrix for its rotational part.
- Isometry
Matrix3 - A 3-dimensional direct isometry using a rotation matrix for its rotational part.
- Matrix1
- A stack-allocated, column-major, 1x1 square matrix.
- Matrix2
- A stack-allocated, column-major, 2x2 square matrix.
- Matrix3
- A stack-allocated, column-major, 3x3 square matrix.
- Matrix4
- A stack-allocated, column-major, 4x4 square matrix.
- Matrix5
- A stack-allocated, column-major, 5x5 square matrix.
- Matrix6
- A stack-allocated, column-major, 6x6 square matrix.
- Matrix1x2
- A stack-allocated, column-major, 1x2 matrix.
- Matrix1x3
- A stack-allocated, column-major, 1x3 matrix.
- Matrix1x4
- A stack-allocated, column-major, 1x4 matrix.
- Matrix1x5
- A stack-allocated, column-major, 1x5 matrix.
- Matrix1x6
- A stack-allocated, column-major, 1x6 matrix.
- Matrix1xX
- A heap-allocated, column-major, matrix with 1 rows and a dynamic number of columns.
- Matrix2x1
- A stack-allocated, column-major, 2x1 matrix.
- Matrix2x3
- A stack-allocated, column-major, 2x3 matrix.
- Matrix2x4
- A stack-allocated, column-major, 2x4 matrix.
- Matrix2x5
- A stack-allocated, column-major, 2x5 matrix.
- Matrix2x6
- A stack-allocated, column-major, 2x6 matrix.
- Matrix2xX
- A heap-allocated, column-major, matrix with 2 rows and a dynamic number of columns.
- Matrix3x1
- A stack-allocated, column-major, 3x1 matrix.
- Matrix3x2
- A stack-allocated, column-major, 3x2 matrix.
- Matrix3x4
- A stack-allocated, column-major, 3x4 matrix.
- Matrix3x5
- A stack-allocated, column-major, 3x5 matrix.
- Matrix3x6
- A stack-allocated, column-major, 3x6 matrix.
- Matrix3xX
- A heap-allocated, column-major, matrix with 3 rows and a dynamic number of columns.
- Matrix4x1
- A stack-allocated, column-major, 4x1 matrix.
- Matrix4x2
- A stack-allocated, column-major, 4x2 matrix.
- Matrix4x3
- A stack-allocated, column-major, 4x3 matrix.
- Matrix4x5
- A stack-allocated, column-major, 4x5 matrix.
- Matrix4x6
- A stack-allocated, column-major, 4x6 matrix.
- Matrix4xX
- A heap-allocated, column-major, matrix with 4 rows and a dynamic number of columns.
- Matrix5x1
- A stack-allocated, column-major, 5x1 matrix.
- Matrix5x2
- A stack-allocated, column-major, 5x2 matrix.
- Matrix5x3
- A stack-allocated, column-major, 5x3 matrix.
- Matrix5x4
- A stack-allocated, column-major, 5x4 matrix.
- Matrix5x6
- A stack-allocated, column-major, 5x6 matrix.
- Matrix5xX
- A heap-allocated, column-major, matrix with 5 rows and a dynamic number of columns.
- Matrix6x1
- A stack-allocated, column-major, 6x1 matrix.
- Matrix6x2
- A stack-allocated, column-major, 6x2 matrix.
- Matrix6x3
- A stack-allocated, column-major, 6x3 matrix.
- Matrix6x4
- A stack-allocated, column-major, 6x4 matrix.
- Matrix6x5
- A stack-allocated, column-major, 6x5 matrix.
- Matrix6xX
- A heap-allocated, column-major, matrix with 6 rows and a dynamic number of columns.
- Matrix
Cross - The type of the result of a matrix cross product.
- MatrixMN
Deprecated - An owned matrix column-major matrix with
R
rows andC
columns. - MatrixN
Deprecated - An owned matrix column-major matrix with
D
columns. - Matrix
Slice Deprecated - A matrix slice.
- Matrix
Slice1 Deprecated - A column-major 1x1 matrix slice.
- Matrix
Slice2 Deprecated - A column-major 2x2 matrix slice.
- Matrix
Slice3 Deprecated - A column-major 3x3 matrix slice.
- Matrix
Slice4 Deprecated - A column-major 4x4 matrix slice.
- Matrix
Slice5 Deprecated - A column-major 5x5 matrix slice.
- Matrix
Slice6 Deprecated - A column-major 6x6 matrix slice.
- Matrix
Slice1x2 Deprecated - A column-major 1x2 matrix slice.
- Matrix
Slice1x3 Deprecated - A column-major 1x3 matrix slice.
- Matrix
Slice1x4 Deprecated - A column-major 1x4 matrix slice.
- Matrix
Slice1x5 Deprecated - A column-major 1x5 matrix slice.
- Matrix
Slice1x6 Deprecated - A column-major 1x6 matrix slice.
- Matrix
Slice1xX Deprecated - A column-major matrix slice with 1 row and a number of columns chosen at runtime.
- Matrix
Slice2x1 Deprecated - A column-major 2x1 matrix slice.
- Matrix
Slice2x3 Deprecated - A column-major 2x3 matrix slice.
- Matrix
Slice2x4 Deprecated - A column-major 2x4 matrix slice.
- Matrix
Slice2x5 Deprecated - A column-major 2x5 matrix slice.
- Matrix
Slice2x6 Deprecated - A column-major 2x6 matrix slice.
- Matrix
Slice2xX Deprecated - A column-major matrix slice with 2 rows and a number of columns chosen at runtime.
- Matrix
Slice3x1 Deprecated - A column-major 3x1 matrix slice.
- Matrix
Slice3x2 Deprecated - A column-major 3x2 matrix slice.
- Matrix
Slice3x4 Deprecated - A column-major 3x4 matrix slice.
- Matrix
Slice3x5 Deprecated - A column-major 3x5 matrix slice.
- Matrix
Slice3x6 Deprecated - A column-major 3x6 matrix slice.
- Matrix
Slice3xX Deprecated - A column-major matrix slice with 3 rows and a number of columns chosen at runtime.
- Matrix
Slice4x1 Deprecated - A column-major 4x1 matrix slice.
- Matrix
Slice4x2 Deprecated - A column-major 4x2 matrix slice.
- Matrix
Slice4x3 Deprecated - A column-major 4x3 matrix slice.
- Matrix
Slice4x5 Deprecated - A column-major 4x5 matrix slice.
- Matrix
Slice4x6 Deprecated - A column-major 4x6 matrix slice.
- Matrix
Slice4xX Deprecated - A column-major matrix slice with 4 rows and a number of columns chosen at runtime.
- Matrix
Slice5x1 Deprecated - A column-major 5x1 matrix slice.
- Matrix
Slice5x2 Deprecated - A column-major 5x2 matrix slice.
- Matrix
Slice5x3 Deprecated - A column-major 5x3 matrix slice.
- Matrix
Slice5x4 Deprecated - A column-major 5x4 matrix slice.
- Matrix
Slice5x6 Deprecated - A column-major 5x6 matrix slice.
- Matrix
Slice5xX Deprecated - A column-major matrix slice with 5 rows and a number of columns chosen at runtime.
- Matrix
Slice6x1 Deprecated - A column-major 6x1 matrix slice.
- Matrix
Slice6x2 Deprecated - A column-major 6x2 matrix slice.
- Matrix
Slice6x3 Deprecated - A column-major 6x3 matrix slice.
- Matrix
Slice6x4 Deprecated - A column-major 6x4 matrix slice.
- Matrix
Slice6x5 Deprecated - A column-major 6x5 matrix slice.
- Matrix
Slice6xX Deprecated - A column-major matrix slice with 6 rows and a number of columns chosen at runtime.
- Matrix
Slice Mut Deprecated - A mutable matrix slice.
- Matrix
Slice Mut1 Deprecated - A column-major 1x1 matrix slice.
- Matrix
Slice Mut2 Deprecated - A column-major 2x2 matrix slice.
- Matrix
Slice Mut3 Deprecated - A column-major 3x3 matrix slice.
- Matrix
Slice Mut4 Deprecated - A column-major 4x4 matrix slice.
- Matrix
Slice Mut5 Deprecated - A column-major 5x5 matrix slice.
- Matrix
Slice Mut6 Deprecated - A column-major 6x6 matrix slice.
- Matrix
Slice Mut1x2 Deprecated - A column-major 1x2 matrix slice.
- Matrix
Slice Mut1x3 Deprecated - A column-major 1x3 matrix slice.
- Matrix
Slice Mut1x4 Deprecated - A column-major 1x4 matrix slice.
- Matrix
Slice Mut1x5 Deprecated - A column-major 1x5 matrix slice.
- Matrix
Slice Mut1x6 Deprecated - A column-major 1x6 matrix slice.
- Matrix
Slice Mut1xX Deprecated - A column-major matrix slice with 1 row and a number of columns chosen at runtime.
- Matrix
Slice Mut2x1 Deprecated - A column-major 2x1 matrix slice.
- Matrix
Slice Mut2x3 Deprecated - A column-major 2x3 matrix slice.
- Matrix
Slice Mut2x4 Deprecated - A column-major 2x4 matrix slice.
- Matrix
Slice Mut2x5 Deprecated - A column-major 2x5 matrix slice.
- Matrix
Slice Mut2x6 Deprecated - A column-major 2x6 matrix slice.
- Matrix
Slice Mut2xX Deprecated - A column-major matrix slice with 2 rows and a number of columns chosen at runtime.
- Matrix
Slice Mut3x1 Deprecated - A column-major 3x1 matrix slice.
- Matrix
Slice Mut3x2 Deprecated - A column-major 3x2 matrix slice.
- Matrix
Slice Mut3x4 Deprecated - A column-major 3x4 matrix slice.
- Matrix
Slice Mut3x5 Deprecated - A column-major 3x5 matrix slice.
- Matrix
Slice Mut3x6 Deprecated - A column-major 3x6 matrix slice.
- Matrix
Slice Mut3xX Deprecated - A column-major matrix slice with 3 rows and a number of columns chosen at runtime.
- Matrix
Slice Mut4x1 Deprecated - A column-major 4x1 matrix slice.
- Matrix
Slice Mut4x2 Deprecated - A column-major 4x2 matrix slice.
- Matrix
Slice Mut4x3 Deprecated - A column-major 4x3 matrix slice.
- Matrix
Slice Mut4x5 Deprecated - A column-major 4x5 matrix slice.
- Matrix
Slice Mut4x6 Deprecated - A column-major 4x6 matrix slice.
- Matrix
Slice Mut4xX Deprecated - A column-major matrix slice with 4 rows and a number of columns chosen at runtime.
- Matrix
Slice Mut5x1 Deprecated - A column-major 5x1 matrix slice.
- Matrix
Slice Mut5x2 Deprecated - A column-major 5x2 matrix slice.
- Matrix
Slice Mut5x3 Deprecated - A column-major 5x3 matrix slice.
- Matrix
Slice Mut5x4 Deprecated - A column-major 5x4 matrix slice.
- Matrix
Slice Mut5x6 Deprecated - A column-major 5x6 matrix slice.
- Matrix
Slice Mut5xX Deprecated - A column-major matrix slice with 5 rows and a number of columns chosen at runtime.
- Matrix
Slice Mut6x1 Deprecated - A column-major 6x1 matrix slice.
- Matrix
Slice Mut6x2 Deprecated - A column-major 6x2 matrix slice.
- Matrix
Slice Mut6x3 Deprecated - A column-major 6x3 matrix slice.
- Matrix
Slice Mut6x4 Deprecated - A column-major 6x4 matrix slice.
- Matrix
Slice Mut6x5 Deprecated - A column-major 6x5 matrix slice.
- Matrix
Slice Mut6xX Deprecated - A column-major matrix slice with 6 rows and a number of columns chosen at runtime.
- Matrix
Slice MutMN Deprecated - A column-major matrix slice with
R
rows andC
columns. - Matrix
Slice MutN Deprecated - A column-major matrix slice with
D
rows and columns. - Matrix
Slice MutXx1 Deprecated - A column-major matrix slice with a number of rows chosen at runtime and 1 column.
- Matrix
Slice MutXx2 Deprecated - A column-major matrix slice with a number of rows chosen at runtime and 2 columns.
- Matrix
Slice MutXx3 Deprecated - A column-major matrix slice with a number of rows chosen at runtime and 3 columns.
- Matrix
Slice MutXx4 Deprecated - A column-major matrix slice with a number of rows chosen at runtime and 4 columns.
- Matrix
Slice MutXx5 Deprecated - A column-major matrix slice with a number of rows chosen at runtime and 5 columns.
- Matrix
Slice MutXx6 Deprecated - A column-major matrix slice with a number of rows chosen at runtime and 6 columns.
- Matrix
Slice Xx1 Deprecated - A column-major matrix slice with a number of rows chosen at runtime and 1 column.
- Matrix
Slice Xx2 Deprecated - A column-major matrix slice with a number of rows chosen at runtime and 2 columns.
- Matrix
Slice Xx3 Deprecated - A column-major matrix slice with a number of rows chosen at runtime and 3 columns.
- Matrix
Slice Xx4 Deprecated - A column-major matrix slice with a number of rows chosen at runtime and 4 columns.
- Matrix
Slice Xx5 Deprecated - A column-major matrix slice with a number of rows chosen at runtime and 5 columns.
- Matrix
Slice Xx6 Deprecated - A column-major matrix slice with a number of rows chosen at runtime and 6 columns.
- Matrix
Sum - The type of the result of a matrix sum.
- Matrix
Vec Deprecated - Renamed to
VecStorage
. - Matrix
View - A matrix view.
- Matrix
View1 - An immutable column-major 1x1 matrix view.
- Matrix
View2 - An immutable column-major 2x2 matrix view.
- Matrix
View3 - An immutable column-major 3x3 matrix view.
- Matrix
View4 - An immutable column-major 4x4 matrix view.
- Matrix
View5 - An immutable column-major 5x5 matrix view.
- Matrix
View6 - An immutable column-major 6x6 matrix view.
- Matrix
View1x2 - An immutable column-major 1x2 matrix view.
- Matrix
View1x3 - An immutable column-major 1x3 matrix view.
- Matrix
View1x4 - An immutable column-major 1x4 matrix view.
- Matrix
View1x5 - An immutable column-major 1x5 matrix view.
- Matrix
View1x6 - An immutable column-major 1x6 matrix view.
- Matrix
View1xX - An immutable column-major matrix view with 1 row and a number of columns chosen at runtime.
- Matrix
View2x1 - An immutable column-major 2x1 matrix view.
- Matrix
View2x3 - An immutable column-major 2x3 matrix view.
- Matrix
View2x4 - An immutable column-major 2x4 matrix view.
- Matrix
View2x5 - An immutable column-major 2x5 matrix view.
- Matrix
View2x6 - An immutable column-major 2x6 matrix view.
- Matrix
View2xX - An immutable column-major matrix view with 2 rows and a number of columns chosen at runtime.
- Matrix
View3x1 - An immutable column-major 3x1 matrix view.
- Matrix
View3x2 - An immutable column-major 3x2 matrix view.
- Matrix
View3x4 - An immutable column-major 3x4 matrix view.
- Matrix
View3x5 - An immutable column-major 3x5 matrix view.
- Matrix
View3x6 - An immutable column-major 3x6 matrix view.
- Matrix
View3xX - An immutable column-major matrix view with 3 rows and a number of columns chosen at runtime.
- Matrix
View4x1 - An immutable column-major 4x1 matrix view.
- Matrix
View4x2 - An immutable column-major 4x2 matrix view.
- Matrix
View4x3 - An immutable column-major 4x3 matrix view.
- Matrix
View4x5 - An immutable column-major 4x5 matrix view.
- Matrix
View4x6 - An immutable column-major 4x6 matrix view.
- Matrix
View4xX - An immutable column-major matrix view with 4 rows and a number of columns chosen at runtime.
- Matrix
View5x1 - An immutable column-major 5x1 matrix view.
- Matrix
View5x2 - An immutable column-major 5x2 matrix view.
- Matrix
View5x3 - An immutable column-major 5x3 matrix view.
- Matrix
View5x4 - An immutable column-major 5x4 matrix view.
- Matrix
View5x6 - An immutable column-major 5x6 matrix view.
- Matrix
View5xX - An immutable column-major matrix view with 5 rows and a number of columns chosen at runtime.
- Matrix
View6x1 - An immutable column-major 6x1 matrix view.
- Matrix
View6x2 - An immutable column-major 6x2 matrix view.
- Matrix
View6x3 - An immutable column-major 6x3 matrix view.
- Matrix
View6x4 - An immutable column-major 6x4 matrix view.
- Matrix
View6x5 - An immutable column-major 6x5 matrix view.
- Matrix
View6xX - An immutable column-major matrix view with 6 rows and a number of columns chosen at runtime.
- Matrix
View Mut - A mutable matrix view.
- Matrix
View Mut1 - A mutable column-major 1x1 matrix view.
- Matrix
View Mut2 - A mutable column-major 2x2 matrix view.
- Matrix
View Mut3 - A mutable column-major 3x3 matrix view.
- Matrix
View Mut4 - A mutable column-major 4x4 matrix view.
- Matrix
View Mut5 - A mutable column-major 5x5 matrix view.
- Matrix
View Mut6 - A mutable column-major 6x6 matrix view.
- Matrix
View Mut1x2 - A mutable column-major 1x2 matrix view.
- Matrix
View Mut1x3 - A mutable column-major 1x3 matrix view.
- Matrix
View Mut1x4 - A mutable column-major 1x4 matrix view.
- Matrix
View Mut1x5 - A mutable column-major 1x5 matrix view.
- Matrix
View Mut1x6 - A mutable column-major 1x6 matrix view.
- Matrix
View Mut1xX - A mutable column-major matrix view with 1 row and a number of columns chosen at runtime.
- Matrix
View Mut2x1 - A mutable column-major 2x1 matrix view.
- Matrix
View Mut2x3 - A mutable column-major 2x3 matrix view.
- Matrix
View Mut2x4 - A mutable column-major 2x4 matrix view.
- Matrix
View Mut2x5 - A mutable column-major 2x5 matrix view.
- Matrix
View Mut2x6 - A mutable column-major 2x6 matrix view.
- Matrix
View Mut2xX - A mutable column-major matrix view with 2 rows and a number of columns chosen at runtime.
- Matrix
View Mut3x1 - A mutable column-major 3x1 matrix view.
- Matrix
View Mut3x2 - A mutable column-major 3x2 matrix view.
- Matrix
View Mut3x4 - A mutable column-major 3x4 matrix view.
- Matrix
View Mut3x5 - A mutable column-major 3x5 matrix view.
- Matrix
View Mut3x6 - A mutable column-major 3x6 matrix view.
- Matrix
View Mut3xX - A mutable column-major matrix view with 3 rows and a number of columns chosen at runtime.
- Matrix
View Mut4x1 - A mutable column-major 4x1 matrix view.
- Matrix
View Mut4x2 - A mutable column-major 4x2 matrix view.
- Matrix
View Mut4x3 - A mutable column-major 4x3 matrix view.
- Matrix
View Mut4x5 - A mutable column-major 4x5 matrix view.
- Matrix
View Mut4x6 - A mutable column-major 4x6 matrix view.
- Matrix
View Mut4xX - A mutable column-major matrix view with 4 rows and a number of columns chosen at runtime.
- Matrix
View Mut5x1 - A mutable column-major 5x1 matrix view.
- Matrix
View Mut5x2 - A mutable column-major 5x2 matrix view.
- Matrix
View Mut5x3 - A mutable column-major 5x3 matrix view.
- Matrix
View Mut5x4 - A mutable column-major 5x4 matrix view.
- Matrix
View Mut5x6 - A mutable column-major 5x6 matrix view.
- Matrix
View Mut5xX - A mutable column-major matrix view with 5 rows and a number of columns chosen at runtime.
- Matrix
View Mut6x1 - A mutable column-major 6x1 matrix view.
- Matrix
View Mut6x2 - A mutable column-major 6x2 matrix view.
- Matrix
View Mut6x3 - A mutable column-major 6x3 matrix view.
- Matrix
View Mut6x4 - A mutable column-major 6x4 matrix view.
- Matrix
View Mut6x5 - A mutable column-major 6x5 matrix view.
- Matrix
View Mut6xX - A mutable column-major matrix view with 6 rows and a number of columns chosen at runtime.
- Matrix
View MutXx1 - A mutable column-major matrix view with a number of rows chosen at runtime and 1 column.
- Matrix
View MutXx2 - A mutable column-major matrix view with a number of rows chosen at runtime and 2 columns.
- Matrix
View MutXx3 - A mutable column-major matrix view with a number of rows chosen at runtime and 3 columns.
- Matrix
View MutXx4 - A mutable column-major matrix view with a number of rows chosen at runtime and 4 columns.
- Matrix
View MutXx5 - A mutable column-major matrix view with a number of rows chosen at runtime and 5 columns.
- Matrix
View MutXx6 - A mutable column-major matrix view with a number of rows chosen at runtime and 6 columns.
- Matrix
View Xx1 - An immutable column-major matrix view with a number of rows chosen at runtime and 1 column.
- Matrix
View Xx2 - An immutable column-major matrix view with a number of rows chosen at runtime and 2 columns.
- Matrix
View Xx3 - An immutable column-major matrix view with a number of rows chosen at runtime and 3 columns.
- Matrix
View Xx4 - An immutable column-major matrix view with a number of rows chosen at runtime and 4 columns.
- Matrix
View Xx5 - An immutable column-major matrix view with a number of rows chosen at runtime and 5 columns.
- Matrix
View Xx6 - An immutable column-major matrix view with a number of rows chosen at runtime and 6 columns.
- Matrix
Xx1 - A heap-allocated, column-major, matrix with a dynamic number of rows and 1 columns.
- Matrix
Xx2 - A heap-allocated, column-major, matrix with a dynamic number of rows and 2 columns.
- Matrix
Xx3 - A heap-allocated, column-major, matrix with a dynamic number of rows and 3 columns.
- Matrix
Xx4 - A heap-allocated, column-major, matrix with a dynamic number of rows and 4 columns.
- Matrix
Xx5 - A heap-allocated, column-major, matrix with a dynamic number of rows and 5 columns.
- Matrix
Xx6 - A heap-allocated, column-major, matrix with a dynamic number of rows and 6 columns.
- OMatrix
- An owned matrix column-major matrix with
R
rows andC
columns. - OVector
- An owned D-dimensional column vector.
- Owned
- The owned data storage that can be allocated from
S
. - Owned
Uninit - The owned data storage that can be allocated from
S
. - Point
- A point with
D
elements. - Point1
- A statically sized 1-dimensional column point.
- Point2
- A statically sized 2-dimensional column point.
- Point3
- A statically sized 3-dimensional column point.
- Point4
- A statically sized 4-dimensional column point.
- Point5
- A statically sized 5-dimensional column point.
- Point6
- A statically sized 6-dimensional column point.
- Projective2
- An invertible 2D general transformation. Stored as a homogeneous 3x3 matrix.
- Projective3
- An invertible 3D general transformation. Stored as a homogeneous 4x4 matrix.
- RStride
- The row-stride of the owned data storage for a buffer of dimension
(R, C)
. - Reflection1
- A 1-dimensional reflection.
- Reflection2
- A 2-dimensional reflection.
- Reflection3
- A 3-dimensional reflection.
- Reflection4
- A 4-dimensional reflection.
- Reflection5
- A 5-dimensional reflection.
- Reflection6
- A 6-dimensional reflection.
- Rotation2
- A 2-dimensional rotation matrix.
- Rotation3
- A 3-dimensional rotation matrix.
- RowD
Vector - A dynamically sized row vector.
- RowO
Vector - An owned D-dimensional row vector.
- RowS
Vector - A statically sized D-dimensional row vector.
- RowVector
- A matrix with one row and
D
columns . - RowVector1
- A stack-allocated, 1-dimensional row vector.
- RowVector2
- A stack-allocated, 2-dimensional row vector.
- RowVector3
- A stack-allocated, 3-dimensional row vector.
- RowVector4
- A stack-allocated, 4-dimensional row vector.
- RowVector5
- A stack-allocated, 5-dimensional row vector.
- RowVector6
- A stack-allocated, 6-dimensional row vector.
- SMatrix
- A statically sized column-major matrix with
R
rows andC
columns. - SMatrix
Slice Deprecated - A column-major matrix slice with dimensions known at compile-time.
- SMatrix
Slice Mut Deprecated - A column-major matrix slice with dimensions known at compile-time.
- SMatrix
View - An immutable column-major matrix view with dimensions known at compile-time.
- SMatrix
View Mut - A mutable column-major matrix view with dimensions known at compile-time.
- SVector
- A statically sized D-dimensional column vector.
- SVector
Slice Deprecated - A column vector slice with dimensions known at compile-time.
- SVector
Slice Mut Deprecated - A column vector slice with dimensions known at compile-time.
- SVector
View - An immutable column vector view with dimensions known at compile-time.
- SVector
View Mut - A mutable column vector view with dimensions known at compile-time.
- Same
Shape Storage - The data storage for the sum of two matrices with dimensions
(R1, C1)
and(R2, C2)
. - Scale1
- A 1-dimensional scale.
- Scale2
- A 2-dimensional scale.
- Scale3
- A 3-dimensional scale.
- Scale4
- A 4-dimensional scale.
- Scale5
- A 5-dimensional scale.
- Scale6
- A 6-dimensional scale.
- Similarity2
- A 2-dimensional similarity.
- Similarity3
- A 3-dimensional similarity.
- Similarity
Matrix2 - A 2-dimensional similarity using a rotation matrix for its rotation part.
- Similarity
Matrix3 - A 3-dimensional similarity using a rotation matrix for its rotation part.
- Slice
Storage Deprecated - A matrix data storage for a matrix view. Only contains an internal reference to another matrix data storage.
- Slice
Storage Mut Deprecated - A mutable matrix data storage for mutable matrix view. Only contains an internal mutable reference to another matrix data storage.
- Square
Matrix - A square matrix.
- Transform2
- A 2D general transformation that may not be invertible. Stored as a homogeneous 3x3 matrix.
- Transform3
- A 3D general transformation that may not be inversible. Stored as a homogeneous 4x4 matrix.
- Translation1
- A 1-dimensional translation.
- Translation2
- A 2-dimensional translation.
- Translation3
- A 3-dimensional translation.
- Translation4
- A 4-dimensional translation.
- Translation5
- A 5-dimensional translation.
- Translation6
- A 6-dimensional translation.
- U0
- U1
- U2
- U3
- U4
- U5
- U6
- U7
- U8
- U9
- U10
- U11
- U12
- U13
- U14
- U15
- U16
- U17
- U18
- U19
- U20
- U21
- U22
- U23
- U24
- U25
- U26
- U27
- U28
- U29
- U30
- U31
- U32
- U33
- U34
- U35
- U36
- U37
- U38
- U39
- U40
- U41
- U42
- U43
- U44
- U45
- U46
- U47
- U48
- U49
- U50
- U51
- U52
- U53
- U54
- U55
- U56
- U57
- U58
- U59
- U60
- U61
- U62
- U63
- U64
- U65
- U66
- U67
- U68
- U69
- U70
- U71
- U72
- U73
- U74
- U75
- U76
- U77
- U78
- U79
- U80
- U81
- U82
- U83
- U84
- U85
- U86
- U87
- U88
- U89
- U90
- U91
- U92
- U93
- U94
- U95
- U96
- U97
- U98
- U99
- U100
- U101
- U102
- U103
- U104
- U105
- U106
- U107
- U108
- U109
- U110
- U111
- U112
- U113
- U114
- U115
- U116
- U117
- U118
- U119
- U120
- U121
- U122
- U123
- U124
- U125
- U126
- U127
- Uninit
Matrix - An owned matrix with uninitialized data.
- Uninit
Vector - An owned matrix with uninitialized data.
- Unit
Complex - A 2D rotation represented as a complex number with magnitude 1.
- Unit
Dual Quaternion - A unit dual quaternion. May be used to represent a rotation followed by a translation.
- Unit
Quaternion - A unit quaternions. May be used to represent a rotation.
- Unit
Vector1 - A stack-allocated, 1-dimensional unit vector.
- Unit
Vector2 - A stack-allocated, 2-dimensional unit vector.
- Unit
Vector3 - A stack-allocated, 3-dimensional unit vector.
- Unit
Vector4 - A stack-allocated, 4-dimensional unit vector.
- Unit
Vector5 - A stack-allocated, 5-dimensional unit vector.
- Unit
Vector6 - A stack-allocated, 6-dimensional unit vector.
- Vector
- A matrix with one column and
D
rows. - Vector1
- A stack-allocated, 1-dimensional column vector.
- Vector2
- A stack-allocated, 2-dimensional column vector.
- Vector3
- A stack-allocated, 3-dimensional column vector.
- Vector4
- A stack-allocated, 4-dimensional column vector.
- Vector5
- A stack-allocated, 5-dimensional column vector.
- Vector6
- A stack-allocated, 6-dimensional column vector.
- VectorN
Deprecated - An owned matrix column-major matrix with
R
rows andC
columns. - Vector
Slice Deprecated - A column vector slice with dimensions known at compile-time.
- Vector
Slice1 Deprecated - A 1D column vector slice.
- Vector
Slice2 Deprecated - A 2D column vector slice.
- Vector
Slice3 Deprecated - A 3D column vector slice.
- Vector
Slice4 Deprecated - A 4D column vector slice.
- Vector
Slice5 Deprecated - A 5D column vector slice.
- Vector
Slice6 Deprecated - A 6D column vector slice.
- Vector
Slice Mut Deprecated - A column vector slice with dimensions known at compile-time.
- Vector
Slice Mut1 Deprecated - A 1D column vector slice.
- Vector
Slice Mut2 Deprecated - A 2D column vector slice.
- Vector
Slice Mut3 Deprecated - A 3D column vector slice.
- Vector
Slice Mut4 Deprecated - A 4D column vector slice.
- Vector
Slice Mut5 Deprecated - A 5D column vector slice.
- Vector
Slice Mut6 Deprecated - A 6D column vector slice.
- Vector
Sum - The type of the result of a matrix sum.
- Vector
View - An immutable column vector view with dimensions known at compile-time.
- Vector
View1 - An immutable 1D column vector view.
- Vector
View2 - An immutable 2D column vector view.
- Vector
View3 - An immutable 3D column vector view.
- Vector
View4 - An immutable 4D column vector view.
- Vector
View5 - An immutable 5D column vector view.
- Vector
View6 - An immutable 6D column vector view.
- Vector
View Mut - A mutable column vector view with dimensions known at compile-time.
- Vector
View Mut1 - A mutable 1D column vector view.
- Vector
View Mut2 - A mutable 2D column vector view.
- Vector
View Mut3 - A mutable 3D column vector view.
- Vector
View Mut4 - A mutable 4D column vector view.
- Vector
View Mut5 - A mutable 5D column vector view.
- Vector
View Mut6 - A mutable 6D column vector view.