Skip to content

elsheimy/Elsheimy.Components.Linears

Repository files navigation

Elsheimy.Components.Linears

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:

Matrices

  • 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.

Vectors

  • 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.

NuGet Package

This component is also available as a NuGet package on the following link: https://www.nuget.org/packages/Elsheimy.Components.Linears/

Releases

No releases published

Packages

No packages published

Languages