System.DoubleNumerics by Weingartner

<PackageReference Include="System.DoubleNumerics" Version="3.1.3" />

 Matrix3x2

public struct Matrix3x2 : IEquatable<Matrix3x2>
public double M11

public double M12

public double M21

public double M22

public double M31

public double M32

public static Matrix3x2 Identity { get; }

public bool IsIdentity { get; }

public Vector2 Translation { get; set; }

public Matrix3x2(double m11, double m12, double m21, double m22, double m31, double m32)

public static Matrix3x2 Add(Matrix3x2 value1, Matrix3x2 value2)

public static Matrix3x2 CreateRotation(double radians)

public static Matrix3x2 CreateRotation(double radians, Vector2 centerPoint)

public static Matrix3x2 CreateScale(double xScale, double yScale)

public static Matrix3x2 CreateScale(double xScale, double yScale, Vector2 centerPoint)

public static Matrix3x2 CreateScale(Vector2 scales)

public static Matrix3x2 CreateScale(Vector2 scales, Vector2 centerPoint)

public static Matrix3x2 CreateScale(double scale)

public static Matrix3x2 CreateScale(double scale, Vector2 centerPoint)

public static Matrix3x2 CreateSkew(double radiansX, double radiansY)

public static Matrix3x2 CreateSkew(double radiansX, double radiansY, Vector2 centerPoint)

public static Matrix3x2 CreateTranslation(Vector2 position)

public static Matrix3x2 CreateTranslation(double xPosition, double yPosition)

public static bool Invert(Matrix3x2 matrix, out Matrix3x2 result)

public static Matrix3x2 Lerp(Matrix3x2 matrix1, Matrix3x2 matrix2, double amount)

public static Matrix3x2 Multiply(Matrix3x2 value1, Matrix3x2 value2)

public static Matrix3x2 Multiply(Matrix3x2 value1, double value2)

public static Matrix3x2 Negate(Matrix3x2 value)

public static Matrix3x2 op_Addition(Matrix3x2 value1, Matrix3x2 value2)

public static bool op_Equality(Matrix3x2 value1, Matrix3x2 value2)

public static bool op_Inequality(Matrix3x2 value1, Matrix3x2 value2)

public static Matrix3x2 op_Multiply(Matrix3x2 value1, Matrix3x2 value2)

public static Matrix3x2 op_Multiply(Matrix3x2 value1, double value2)

public static Matrix3x2 op_Subtraction(Matrix3x2 value1, Matrix3x2 value2)

public static Matrix3x2 op_UnaryNegation(Matrix3x2 value)

public static Matrix3x2 Subtract(Matrix3x2 value1, Matrix3x2 value2)

public bool Equals(Matrix3x2 other)

public double GetDeterminant()

public string ToMultiLineString()