RMatrix Structure

Represents an upper triangular matrix.

Definition

Namespace: Austra.Library
Assembly: Austra.Library (in Austra.Library.dll) Version: 2.5.0+d1268756e036101f601080f153b3997e72fc912d
C#
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
Inheritance
Object    ValueType    RMatrix
Implements
IMatrix, IEquatableRMatrix, IFormattable, IAdditionOperatorsRMatrix, RMatrix, RMatrix, IAdditionOperatorsRMatrix, Double, RMatrix, IDivisionOperatorsRMatrix, Double, RMatrix, IEqualityOperatorsRMatrix, RMatrix, Boolean, IEqualityOperatorsRMatrix, LMatrix, Boolean, IEqualityOperatorsRMatrix, Matrix, Boolean, IMultiplyOperatorsRMatrix, DVector, DVector, IMultiplyOperatorsRMatrix, Double, RMatrix, ISubtractionOperatorsRMatrix, RMatrix, RMatrix, ISubtractionOperatorsRMatrix, Double, RMatrix, IUnaryNegationOperatorsRMatrix, RMatrix

Remarks

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.

Constructors

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.

Properties

ColsGets the number of columns.
IsInitializedHas the matrix been properly initialized?
IsSquareChecks if the matrix is a square one.
ItemGets the value at a single cell.
RowsGets the number of rows.

Methods

AMaxGets the cell with the maximum absolute value.
AMinGets the cell with the minimum absolute value.
CloneCreates an identical lower triangular matrix.
ContainsChecks if the matrix contains the given value.
DeterminantGets the determinant of the matrix.
DiagonalGets 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.
GetHashCodeReturns the hashcode for this matrix.
(Overrides ValueTypeGetHashCode)
GetTypeGets the Type of the current instance.
(Inherited from Object)
IdentityCreates an identity matrix given its size.
InverseCalculates the inverse of the matrix.
MaximumGets the cell with the maximum value.
MinimumGets the cell with the minimum value.
MultiplyTransposeMultiplies 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.
SquareMultiplies this matrix by its own transposed.
StatsGets statistics on the matrix cells.
SumCalculates the sum of the matrix cells.
ToStringGets a textual representation of this matrix.
(Overrides ValueTypeToString)
ToString(String, IFormatProvider)Gets a textual representation of this matrix.
TraceCalculates the trace of a matrix.
TransposeTransposes the matrix.

Operators

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.

See Also