Vector and Matrix Library Features

Below is a list of features for the vector and matrix library portion of the Extreme Optimization Numerical Libraries for .NET. Also see the detailed mathematics, statistics, and data analysis feature lists.

General

• Single, double, or quad precision real or complex components.
• Based on standard BLAS and LAPACK routines.
• 100% managed implementation for security, portability and small sizes.
• Native, processor-optimized implementation for speed with large sizes based on the Intel� Math Kernel Library.
• Native 64bit support.

GPU computing

• GPU computing: offload computations to the GPU.
• Data is kept on the GPU as long as possible for optimal performance.

Vectors

• Dense vectors.
• Band vectors.
• Constant vectors.
• Row, column and diagonal vectors.
• Vector views.

Vector Operations

• Basic arithmetic operations.
• Element-wise operations.
• Norms, dot products.
• Largest and smallest values.
• Functions of vectors (sine, cosine, etc.)

Matrices

• General matrices.
• Triangular matrices.
• Real symmetric matrices and complex Hermitian matrices.
• Band matrices.
• Diagonal matrices.
• Matrix views.

Matrix Operations

• Basic arithmetic operations.
• Matrix-vector products.
• Element-wise operations.
• Row and column scaling.
• Norms, rank, condition numbers.
• Singular values, eigenvalues and eigenvectors.

Matrix Decompositions

• LU decomposition.
• QR decomposition.
• Cholesky decomposition.
• QL, LQ, QR decompositions.
• Symmetric eigenvalue decomposition.
• Non-symmetric eigenvalue decomposition.
• Generalized eigenvalue decomposition.
• Singular value decomposition.
• Generalized singular value decomposition.
• Banded LU and Cholesky decomposition.
• Non-negative matrix factorization (NMF) - Coming soon!

Sparse Matrices

• Sparse vectors
• Sparse matrices
• Matrices in Compressed Sparse Column format
• Sparse LU and Cholesky Decomposition
• Read matrices in Matrix Market format

Linear equations and least squares

• Shared API for matrices and decompositions.
• Determinants, inverses, numerical rank, condition numbers.
• Solve equations with one or multiple right-hand sides.
• Least squares solutions using QR or Singular Value Decomposition.
• Moore-Penrose Pseudo-inverse.
• Non-negative least squares (NNLS)