This is my implementation of the basic linear algebra problems in C#. Please feel free to relay your comments, suggestions or corrections.
This component covers:
- Matrix addition / subtraction.
- Matrix concatenation / shrinking / extraction.
- Matrix reduction and elimination (Gauss and Gauss-Jordan).
- Determinant calculation using Laplace Expansion method.
- Invertibility and inverses.
- Matrix mirrors.
- Matrix multiplication and powers.
- Transposes.
- Identity matrices.
- Transformation matrices.
- Projection matrices.
- Reflection matrices.
- 2D and 3D rotation matrices.
- 2D and 3D shearing matrices.
- Cloning and equality comparers.
- Vector addition / subtraction.
- Angel between vectors.
- Vector normalization and magnitude calculator.
- Dot product and cross product.
- Vector scaling.
- Projection onto other vectors and subspaces.
I have created raw functions that operate on Array objects and wrapped those functions inside two class objects Matrix and Vector. I have overrided some operators to make it easier for users to perform various operations.
This component is also available as a NuGet package on the following link: https://www.nuget.org/packages/Elsheimy.Components.Linears/