Additive ring
Vector space
Hilbert space (inner product)
Normed vector space
Norms and related results
FiniteDim : finite-dimensional objects
HasData : accessing inner data (do not export)
Sparse : sparse datastructures
Set : things that behave as sets
Sparse Vector
Creation
Element insertion
fromList
toList
Lookup
Sub-vectors
Outer vector product
Sparse Matrix
Creation
Diagonal matrix
Identity matrix
Super- or sub- diagonal matrix
Element insertion
fromList
toList
Lookup
Predicates
Matrix data and metadata
Non-zero elements in a row
Bandwidth bounds (min, max)
Sub-matrices
Extract j'th column
Extract i'th row
Matrix stacking
Misc. SpMatrix operations
Sparsify : remove almost-0 elements (i.e. if |x| < eps)
Value rounding
Primitive algebra operations
Matrix transpose
Multiply matrix by a scalar
Frobenius norm
Matrix action on a vector
Matrix-matrix product
Matrix-matrix product, sparsified
Sparsified matrix products of two matrices
Matrix condition number
Householder transformation
Givens rotation matrix
QR decomposition
Eigenvalue algorithms
All eigenvalues (QR algorithm)
One eigenvalue and eigenvector (Rayleigh iteration)
Householder vector (G & VL Alg. 5.1.1, function house)
SVD
Iterative linear solvers
CGS
BiCSSTAB
Linear solver interface
Control primitives for bounded iteration with convergence check
Rounding operations
Random matrices and vectors
Pretty printing
Pretty printer typeclass
Misc. utilities
Bounds checking