public readonly struct RMatrix : IFormattable,
IEquatable<RMatrix>, IEqualityOperators<RMatrix, RMatrix, bool>,
IEqualityOperators<RMatrix, LMatrix, bool>, IEqualityOperators<RMatrix, Matrix, bool>,
IAdditionOperators<RMatrix, RMatrix, RMatrix>, IAdditionOperators<RMatrix, double, RMatrix>,
ISubtractionOperators<RMatrix, RMatrix, RMatrix>, ISubtractionOperators<RMatrix, double, RMatrix>,
IMultiplyOperators<RMatrix, DVector, DVector>, IMultiplyOperators<RMatrix, double, RMatrix>,
IDivisionOperators<RMatrix, double, RMatrix>, IUnaryNegationOperators<RMatrix, RMatrix>,
IMatrix
Having a separate type for upper-triangular matrices is not a matter of storage, but of semantics.
Upper-triangular matrices may have a different number of rows and columns.
RMatrix(DVector) | Creates a diagonal matrix given its diagonal. |
RMatrix(Int32) | Creates an empty square matrix. |
RMatrix(Int32, NormalRandom) | Creates a squared matrix filled with a standard normal distribution. |
RMatrix(Int32, Int32) | Creates an empty rectangular matrix. |
RMatrix(Int32, Random) | Creates a squared matrix filled with a uniform distribution generator. |
RMatrix(Int32, Int32, NormalRandom) | Creates a matrix filled with a standard normal distribution. |
RMatrix(Int32, Int32, Double) | Creates a matrix with a given number of rows and columns, and its internal array. |
RMatrix(Int32, Int32, Random) | Creates a matrix filled with a uniform distribution generator. |
RMatrix(Int32, Random, Double, Double) | Creates a square matrix filled with a uniform distribution generator. |
RMatrix(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(Object) | Checks if the provided argument is a matrix with the same values. (Overrides ValueTypeEquals(Object)) |
Equals(RMatrix) | Checks if the provided argument is a matrix with the same values. |
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. |
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, RMatrix) | Adds a scalar value to an upper triangular matrix. |
Addition(RMatrix, LMatrix) | Adds an upper triangular matrix and a lower triangular one. |
Addition(RMatrix, RMatrix) | Sums two upper matrices with the same size. |
Addition(RMatrix, Double) | Adds a scalar value to an upper triangular matrix. |
Division(DVector, RMatrix) | Solves the equation m*x = v for the vector x. |
Division(Matrix, RMatrix) | Solves the equation m2*x = m1 for the matrix x. |
Division(RMatrix, Double) | Divides a matrix by a scalar value. |
Equality(RMatrix, LMatrix) | Checks two matrices for equality. |
Equality(RMatrix, Matrix) | Checks two matrices for equality. |
Equality(RMatrix, RMatrix) | Checks two matrices for equality. |
(RMatrix to Matrix) | Explicit conversion from a triangular matrix to a rectangular one. |
(Matrix to RMatrix) | Implicit conversion from a rectangular to an upper triangular matrix. |
Inequality(RMatrix, LMatrix) | Checks two matrices for equality. |
Inequality(RMatrix, Matrix) | Checks two matrices for equality. |
Inequality(RMatrix, RMatrix) | Checks two matrices for equality. |
Multiply(Double, RMatrix) | Multiplies an upper triangular matrix by a scalar value. |
Multiply(Matrix, RMatrix) | Multiplies a rectangular matrix by an upper triangular one. |
Multiply(RMatrix, DVector) | Transform a vector using a matrix. |
Multiply(RMatrix, Matrix) | Multiplies an upper triangular matrix by a rectangular one. |
Multiply(RMatrix, RMatrix) | Multiplies two upper-triangular matrices. |
Multiply(RMatrix, Double) | Multiplies an upper triangular matrix by a scalar value. |
Subtraction(Double, RMatrix) | Subtracts an upper triangular matrix from a scalar value. |
Subtraction(RMatrix, RMatrix) | Subtracts two upper matrices with the same size. |
Subtraction(RMatrix, Double) | Subtracts a scalar value from an upper triangular matrix. |
UnaryNegation(RMatrix) | Negates an upper right matrix. |