RMatrix Structure |
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
The RMatrix type exposes the following members.
| Name | Description | |
|---|---|---|
| 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. |
| Name | Description | |
|---|---|---|
| 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. |
| Name | Description | |
|---|---|---|
| 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. |
| Name | Description | |
|---|---|---|
| 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. |
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.