Mendz.Matrix is on GitHub and NuGet

Matrix, square matrix, dense matrix, sparse matrix and compressed matrix galore! Create matrices, perform mathematical operations with them, and even compress them using CRS (compressed row storage), CCS (compressed column storage) or CVS (compressed value storage). Mendz.Matrix is a simple and lightweight library for working with matrices.

Mendz.Matrix supports T[,] dense and DOK sparse matrices. Some simple matrix operations are also supported like transpose, addition, subtraction and multiplication. It also contains matrix compression implementations for CRS, CCS and CVS.

Dense matrices are two-dimensional arrays T[,]. This simple representation is compatible with most Math libraries that support matrix operations. Mendz.Matrix provides APIs that let the creation and maintenance of dense matrices easier and faster.

Sparse matrices are DOKs (dictionary of keys). They can be coordinates keyed or linear index keyed. CoordinatesKeyedSparseMatrix uses a tuple of row and column coordinates as keys. LinearIndexKeyedSparseMatrix uses linear index keys which can be row- or column- major order calculations of the matrix coordinates.

Mendz.Matrix.Compressed provides CRS, CCS and CVS compressions of matrices. CRS and CCS are two popular matrix compression algorithms: CRS compresses matrices by rows; CCS compresses matrices by columns. CVS is a lossless compression of matrices by their values -- read more about CVS at https://github.com/etmendz/Mendz.Matrix/wiki/CVS.

NuGet Mendz.Matrix and then learn the code at GitHub.

Comments