**Chapter
16. **** ****The Matrix Namespace** (.NET, C#, CSharp, VB, Visual Basic, F#)

The CenterSpace.NMath.Matrix namespace provides:

● Structured sparse matrix classes, including triangular, symmetric, Hermitian, banded, tridiagonal, symmetric banded, and Hermitian banded.

● Functions for converting between general matrices and structured sparse matrix types.

● Functions for transposing structured sparse matrices, computing inner products, and calculating matrix norms.

● Classes for factoring structured sparse matrices, including LU factorization for banded and tridiagonal matrices, Bunch-Kaufman factorization for symmetric and Hermitian matrices, and Cholesky decomposition for symmetric and Hermitian positive definite matrices. Once constructed, matrix factorizations can be used to solve linear systems and compute determinants, inverses, and condition numbers.

● General sparse vector and matrix classes, and matrix factorizations.

● Orthogonal decomposition classes for general matrices, including QR decomposition and singular value decomposition (SVD).

● Advanced least squares factorization classes for general matrices, including Cholesky, QR, and SVD.

● Classes for solving symmetric, Hermitian, and nonsymmetric eigenvalue problems.

To avoid using fully qualified names, preface your code with an appropriate namespace statement. For example:

Code Example – C#

using CenterSpace.NMath.Matrix;

Code Example – VB

imports CenterSpace.NMath.Matrix

**NOTE—****In
most cases, you must also preface your code with a namespace statement
for the CenterSpace.NMath.Core namespace (****Chapter ****2****).**