# Elsheimy.Components.Linears 1.0.0

Basic linear algebra functions.
* Matrix addition, subtraction, concatenation, shrinking, extraction, reduction, elimintation, determinant calculation, invertibility and inverses, mirrors, multiplication and powers, and transposes.
* Identity, transformation, projection, reflection, rotation, and shearing matrices.
* Vector addition, subtractions, angels, normalization, products, scaling and projection.

`Install-Package Elsheimy.Components.Linears -Version 1.0.0`
`dotnet add package Elsheimy.Components.Linears --version 1.0.0`
`<PackageReference Include="Elsheimy.Components.Linears" Version="1.0.0" />`
For projects that support PackageReference, copy this XML node into the project file to reference the package.
`paket add Elsheimy.Components.Linears --version 1.0.0`
`#r "nuget: Elsheimy.Components.Linears, 1.0.0"`
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
```// Install Elsheimy.Components.Linears as a Cake Addin

// Install Elsheimy.Components.Linears as a Cake Tool
#tool nuget:?package=Elsheimy.Components.Linears&version=1.0.0```

## Elsheimy.Components.Linears

This is my implementation of the basic linear algebra problems. It covers:

### Matrices:

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

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

## Elsheimy.Components.Linears

This is my implementation of the basic linear algebra problems. It covers:

### Matrices:

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

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

## Dependencies

• #### .NETStandard 2.0

• No dependencies.

## Used By

### NuGet packages

This package is not used by any NuGet packages.

### GitHub repositories

This package is not used by any popular GitHub repositories.