Lightweight fast matrix class in C# based on http://blog.ivank.net/.
I also did some changes based on the comments on the original page.
All this is written in C#. Parse() and ToString() methods included. Matrix class can throw exceptions (MException).
- exponentiation by integer
- LU decomposition
- determinant
- inversion
- solve system of linear equations
- transpose, ...
- array-like access (
a[2,4]) - addition (
a + b) - subtraction (
a - b) - unary minus (
-a) - multiplication (
a * b) - constant multiplication (
5.4 * a)
It contains matrix multiplication with Strassen algorithm, which is memory efficient and cahce-oblivious, it works with still the same array in each level of recursion.
This algorithm is automatically selected if matrices are of form 2^N x 2^N, N>5.