Click or drag to resize

RMatrix Structure

Represents an upper triangular matrix.
Inheritance Hierarchy
SystemObject
  SystemValueType
    Austra.LibraryRMatrix

Namespace: Austra.Library
Assembly: Austra.Library (in Austra.Library.dll) Version: 2.7.0+6baf2f2fa1d256420275372aea03344dd79bdd55
Syntax
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

The RMatrix type exposes the following members.

Constructors
 NameDescription
Public methodRMatrix(DVector)Creates a diagonal matrix given its diagonal.
Public methodRMatrix(Int32)Creates an empty square matrix.
Public methodRMatrix(Int32, NormalRandom) Creates a squared matrix filled with a standard normal distribution.
Public methodRMatrix(Int32, Int32)Creates an empty rectangular matrix.
Public methodRMatrix(Int32, Random) Creates a squared matrix filled with a uniform distribution generator.
Public methodRMatrix(Int32, Int32, NormalRandom)Creates a matrix filled with a standard normal distribution.
Public methodRMatrix(Int32, Int32, Double) Creates a matrix with a given number of rows and columns, and its internal array.
Public methodRMatrix(Int32, Int32, Random)Creates a matrix filled with a uniform distribution generator.
Public methodRMatrix(Int32, Random, Double, Double)Creates a square matrix filled with a uniform distribution generator.
Public methodRMatrix(Int32, Int32, Random, Double, Double)Creates a matrix filled with a uniform distribution generator.
Top
Properties
 NameDescription
Public propertyColsGets the number of columns.
Public propertyIsInitializedHas the matrix been properly initialized?
Public propertyIsSquareChecks if the matrix is a square one.
Public propertyItemGets the value at a single cell.
Public propertyRowsGets the number of rows.
Top
Methods
 NameDescription
Public methodAMaxGets the cell with the maximum absolute value.
Public methodAMinGets the cell with the minimum absolute value.
Public methodCloneCreates an identical lower triangular matrix.
Public methodContainsChecks if the matrix contains the given value.
Public methodDeterminantGets the determinant of the matrix.
Public methodDiagonalGets the main diagonal.
Public methodEquals(Object)Checks if the provided argument is a matrix with the same values.
(Overrides ValueTypeEquals(Object))
Public methodEquals(RMatrix)Checks if the provided argument is a matrix with the same values.
Public methodGetHashCodeReturns the hashcode for this matrix.
(Overrides ValueTypeGetHashCode)
Public methodGetTypeGets the Type of the current instance.
(Inherited from Object)
Public methodStatic memberIdentityCreates an identity matrix given its size.
Public methodInverseCalculates the inverse of the matrix.
Public methodMaximumGets the cell with the maximum value.
Public methodMinimumGets the cell with the minimum value.
Public methodMultiplyTransposeMultiplies this matrix by the transposed argument.
Public methodRedim(Int32)Creates a new matrix with different dimensions.
Public methodRedim(Int32, Int32)Creates a new matrix with different dimensions.
Public methodSolve(DVector)Solves the equation Ax = b for x.
Public methodSolve(DVector, DVector)Solves the equation Ax = b for x.
Public methodSquareMultiplies this matrix by its own transposed.
Public methodStatsGets statistics on the matrix cells.
Public methodSumCalculates the sum of the matrix cells.
Public methodToStringGets a textual representation of this matrix.
(Overrides ValueTypeToString)
Public methodToString(String, IFormatProvider)Gets a textual representation of this matrix.
Public methodTraceCalculates the trace of a matrix.
Public methodTransposeTransposes the matrix.
Top
Operators
 NameDescription
Public operatorStatic memberAddition(Double, RMatrix)Adds a scalar value to an upper triangular matrix.
Public operatorStatic memberAddition(RMatrix, LMatrix)Adds an upper triangular matrix and a lower triangular one.
Public operatorStatic memberAddition(RMatrix, RMatrix)Sums two upper matrices with the same size.
Public operatorStatic memberAddition(RMatrix, Double)Adds a scalar value to an upper triangular matrix.
Public operatorStatic memberDivision(DVector, RMatrix)Solves the equation m*x = v for the vector x.
Public operatorStatic memberDivision(Matrix, RMatrix)Solves the equation m2*x = m1 for the matrix x.
Public operatorStatic memberDivision(RMatrix, Double)Divides a matrix by a scalar value.
Public operatorStatic memberEquality(RMatrix, LMatrix)Checks two matrices for equality.
Public operatorStatic memberEquality(RMatrix, Matrix)Checks two matrices for equality.
Public operatorStatic memberEquality(RMatrix, RMatrix)Checks two matrices for equality.
Public operatorStatic member(RMatrix to Matrix) Explicit conversion from a triangular matrix to a rectangular one.
Public operatorStatic member(Matrix to RMatrix) Implicit conversion from a rectangular to an upper triangular matrix.
Public operatorStatic memberInequality(RMatrix, LMatrix)Checks two matrices for equality.
Public operatorStatic memberInequality(RMatrix, Matrix)Checks two matrices for equality.
Public operatorStatic memberInequality(RMatrix, RMatrix)Checks two matrices for equality.
Public operatorStatic memberMultiply(Double, RMatrix)Multiplies an upper triangular matrix by a scalar value.
Public operatorStatic memberMultiply(Matrix, RMatrix)Multiplies a rectangular matrix by an upper triangular one.
Public operatorStatic memberMultiply(RMatrix, DVector)Transform a vector using a matrix.
Public operatorStatic memberMultiply(RMatrix, Matrix)Multiplies an upper triangular matrix by a rectangular one.
Public operatorStatic memberMultiply(RMatrix, RMatrix)Multiplies two upper-triangular matrices.
Public operatorStatic memberMultiply(RMatrix, Double)Multiplies an upper triangular matrix by a scalar value.
Public operatorStatic memberSubtraction(Double, RMatrix)Subtracts an upper triangular matrix from a scalar value.
Public operatorStatic memberSubtraction(RMatrix, RMatrix)Subtracts two upper matrices with the same size.
Public operatorStatic memberSubtraction(RMatrix, Double)Subtracts a scalar value from an upper triangular matrix.
Public operatorStatic memberUnaryNegation(RMatrix)Negates an upper right matrix.
Top
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.

See Also