public readonly struct LMatrix : IFormattable,
IEquatable<LMatrix>, IEqualityOperators<LMatrix, LMatrix, bool>,
IEqualityOperators<LMatrix, RMatrix, bool>, IEqualityOperators<LMatrix, Matrix, bool>,
IAdditionOperators<LMatrix, LMatrix, LMatrix>, IAdditionOperators<LMatrix, RMatrix, Matrix>,
IAdditionOperators<LMatrix, double, LMatrix>, ISubtractionOperators<LMatrix, LMatrix, LMatrix>,
ISubtractionOperators<LMatrix, RMatrix, Matrix>, ISubtractionOperators<LMatrix, double, LMatrix>,
IMultiplyOperators<LMatrix, Matrix, Matrix>, IMultiplyOperators<LMatrix, DVector, DVector>,
IMultiplyOperators<LMatrix, double, LMatrix>, IDivisionOperators<LMatrix, double, LMatrix>,
IUnaryNegationOperators<LMatrix, LMatrix>, IMatrixHaving a separate type for lower-triangular matrices is not a matter of storage, but of semantics. For instance, the Cholesky factorization always returns either a lower or upper triangular matrix, so it's important for the API to make clear which type of matrix is returning.
Lower-triangular matrices may have a different number of rows and columns.
| LMatrix(DVector) | Creates a diagonal matrix given its diagonal. |
| LMatrix(Int32) | Creates an empty square matrix. |
| LMatrix(Int32, NormalRandom) | Creates a squared matrix with a standard normal distribution. |
| LMatrix(Int32, Int32) | Creates an empty rectangular matrix. |
| LMatrix(Int32, Random) | Creates a square lower matrix filled with a uniform distribution generator. |
| LMatrix(Int32, Int32, NormalRandom) | Creates a matrix filled with a standard normal distribution. |
| LMatrix(Int32, Int32, Double) | Creates a matrix with a given number of rows and columns, and its internal array. |
| LMatrix(Int32, Int32, Random) | Creates a matrix filled with a uniform distribution generator. |
| LMatrix(Int32, Random, Double, Double) | Creates a square matrix filled with a uniform distribution generator. |
| LMatrix(Int32, Int32, Random, Double, Double) | Creates a matrix filled with a uniform distribution generator. |
| Cols | Gets the number of columns. |
| IsInitialized | Has the matrix been properly initialized? |
| IsSquare | Checks if the matrix is a square one. |
| Item | Gets the value at a single cell. |
| Rows | Gets the number of rows. |
| AMax | Gets the cell with the maximum absolute value. |
| AMin | Gets the cell with the minimum absolute value. |
| Clone | Creates an identical lower triangular matrix. |
| Contains | Checks if the matrix contains the given value. |
| Determinant | Gets the determinant of the matrix. |
| Diagonal | Gets the main diagonal. |
| Equals(LMatrix) | Checks if the provided argument is a matrix with the same values. |
| Equals(Object) | Checks if the provided argument is a matrix with the same values. (Overrides ValueTypeEquals(Object)) |
| GetHashCode | Returns the hashcode for this matrix. (Overrides ValueTypeGetHashCode) |
| GetType | Gets the Type of the current instance. (Inherited from Object) |
| Identity | Creates an identity matrix given its size. |
| Inverse | Calculates the inverse of the matrix. |
| Maximum | Gets the cell with the maximum value. |
| Minimum | Gets the cell with the minimum value. |
| MultiplyAdd(DVector, DVector) | Transforms a vector and adds an offset. |
| MultiplyAdd(DVector, DVector, Double) | Transforms a vector and adds an offset. |
| MultiplySubtract(DVector, DVector) | Transforms a vector and subtracts an offset. |
| MultiplySubtract(DVector, DVector, Double) | Transforms a vector and subtracts an offset. |
| MultiplyTranspose | Multiplies this matrix by the transposed argument. |
| Redim(Int32) | Creates a new matrix with different dimensions. |
| Redim(Int32, Int32) | Creates a new matrix with different dimensions. |
| Solve(DVector) | Solves the equation Ax = b for x. |
| Solve(DVector, DVector) | Solves the equation Ax = b for x. |
| Square | Multiplies this matrix by its own transposed. |
| Stats | Gets statistics on the matrix cells. |
| Sum | Calculates the sum of the matrix cells. |
| ToString | Gets a textual representation of this matrix. (Overrides ValueTypeToString) |
| ToString(String, IFormatProvider) | Gets a textual representation of this matrix. |
| Trace | Calculates the trace of a matrix. |
| Transpose | Transposes the matrix. |
| Addition(Double, LMatrix) | Adds a scalar value to a lower triangular matrix. |
| Addition(LMatrix, LMatrix) | Sums two lower matrices with the same size. |
| Addition(LMatrix, RMatrix) | Adds a lower-triangular matrix and an upper-triangular one. |
| Addition(LMatrix, Double) | Adds a scalar value to a lower triangular matrix. |
| Division(DVector, LMatrix) | Solves the equation m*x = v for the vector x. |
| Division(LMatrix, Double) | Divides a matrix by a scalar value. |
| Division(Matrix, LMatrix) | Solves the equation m2*x = m1 for the matrix x. |
| Equality(LMatrix, LMatrix) | Checks two matrices for equality. |
| Equality(LMatrix, Matrix) | Checks two matrices for equality. |
| Equality(LMatrix, RMatrix) | Checks two matrices for equality. |
| (LMatrix to Matrix) | Explicit conversion from a triangular matrix to a rectangular one. |
| (LMatrix to Double) | Explicit conversion from a matrix to a onedimensional array. |
| (Matrix to LMatrix) | Implicit conversion from a rectangular to a lower triangular matrix. |
| Inequality(LMatrix, LMatrix) | Checks two matrices for inequality. |
| Inequality(LMatrix, Matrix) | Checks two matrices for inequality. |
| Inequality(LMatrix, RMatrix) | Checks two matrices for inequality. |
| Multiply(Double, LMatrix) | Multiplies a lower triangular matrix by a scalar value. |
| Multiply(LMatrix, DVector) | Transform a vector using a matrix. |
| Multiply(LMatrix, LMatrix) | Multiplies two lower-triangular matrices. |
| Multiply(LMatrix, Matrix) | Multiplies a lower triangular matrix by a rectangular one. |
| Multiply(LMatrix, RMatrix) | Multiplies a lower-triangular matrix with an upper-triangular one. |
| Multiply(LMatrix, Double) | Multiplies a lower triangular matrix by a scalar value. |
| Multiply(Matrix, LMatrix) | Multiplies a rectangular matrix by a lower triangular one. |
| Multiply(RMatrix, LMatrix) | Multiplies an upper-triangular matrix with a lower-triangular one. |
| Subtraction(Double, LMatrix) | Subtracts a lower triangular matrix from a scalar value. |
| Subtraction(LMatrix, LMatrix) | Subtracts two lower matrices with the same size. |
| Subtraction(LMatrix, RMatrix) | Subtracts an upper triangular matrix from a lower triangular one. |
| Subtraction(LMatrix, Double) | Subtracts a scalar value from a lower triangular matrix. |
| UnaryNegation(LMatrix) | Negates a lower matrix. |