Structured Arrays
Structured arrays are vectors, matrices and arrays with special structure that allows for efficient specification and representation as well as efficient computation. Structured arrays complement packed arrays (arrays with single type for all elements) and sparse arrays (arrays where most elements are zero). Structured arrays occur in all computational domains and typically enable efficiency breakthroughs years or decades before general unstructured arrays can tackle the same problem. The Wolfram Language provides a convenient specification and representation for the structured arrays that often occur in applications, as well as optimized algorithms for performing operations on them, such as linear solving, inversion and eigenvalue computations.
Diagonal and Permutation Matrix Structures
IdentityMatrix — identity matrices
DiagonalMatrix — diagonal matrices
PermutationMatrix — permutation matrices
Triangular Matrix Structures
LowerTriangularMatrix ▪ UpperTriangularMatrix
Block Matrix Structures
BlockDiagonalMatrix ▪ BlockUpperTriangularMatrix ▪ BlockLowerTriangularMatrix
Special Entries Matrix Structures
VandermondeMatrix — Vandermonde matrices
CauchyMatrix — Cauchy matrices
ToeplitzMatrix — Toeplitz matrices
HankelMatrix — Hankel matrices
FourierMatrix — Fourier matrices
HilbertMatrix — Hilbert matrices
Symmetric Structures
SymmetrizedArray — arrays with a specified symmetry
SymmetricMatrix — symmetric matrices
HermitianMatrix — Hermitian matrices
Orthogonal and Unitary Structures
OrthogonalMatrix — orthogonal matrices
UnitaryMatrix — unitary matrices
Other Matrices That Produce Structured Arrays
RotationMatrix ▪ ReflectionMatrix ▪ HadamardMatrix ▪ FourierDCTMatrix ▪ …
Operations on Structured Arrays
Normal — convert structured arrays to lists
TargetStructure — specify a representation for a structured array
Dot ▪ Norm ▪ Inverse ▪ LinearSolve ▪ …
Structures with Special Entries
QuantityArray — represent an array of quantities