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