Click or drag to resize

DoubleUpperTriMatrix Class

Class DoubleUpperTriMatrix represents an upper triangular matrix of double-precision floating point values. An upper triangular matrix is a square matrix with all elements below the main diagonal equal to zero.
Inheritance Hierarchy
SystemObject
  CenterSpace.NMath.CoreDoubleUpperTriMatrix

Namespace: CenterSpace.NMath.Core
Assembly: NMath (in NMath.dll) Version: 7.4
Syntax
[SerializableAttribute]
public class DoubleUpperTriMatrix : ICloneable

The DoubleUpperTriMatrix type exposes the following members.

Constructors
 NameDescription
Public methodDoubleUpperTriMatrix(DoubleMatrix) Constructs a square DoubleUpperTriMatrix instance by extracting the upper triangular part of a square general matrix.
Public methodDoubleUpperTriMatrix(DoubleSymmetricMatrix) Constructs a square DoubleUpperTriMatrix instance by extracting the upper triangular part of a symmetric matrix.
Public methodDoubleUpperTriMatrix(DoubleVector) Constructs a square DoubleUpperTriMatrix instance using the data in the given vector.
Public methodDoubleUpperTriMatrix(Int32) Constructs a square DoubleUpperTriMatrix instance with the specified size. All elements are initialized to zero.
Public methodDoubleUpperTriMatrix(DoubleMatrix, Int32) Constructs a square DoubleUpperTriMatrix instance by extracting the upper triangular part of the specified leading square submatrix of a general matrix.
Public methodDoubleUpperTriMatrix(DoubleVector, Int32) Constructs a square DoubleUpperTriMatrix instance with the specified size, and using the data in the given vector.
Top
Properties
 NameDescription
Public propertyCols Gets the number of columns in the matrix.
Public propertyDataVector Gets the data vector referenced by this matrix.
Public propertyItem Gets and sets the value at the specified position. Zero matrix elements are not stored, so assigning a non-zero value to a matrix element above the diagonal of the matrix raises an exception.
Public propertyOrder Gets the order of the matrix.
Public propertyRows Gets the number of rows in the matrix.
Top
Methods
 NameDescription
Public methodStatic memberAdd(Double, DoubleUpperTriMatrix) Adds a scalar and an upper triangular matrix.
Public methodStatic memberAdd(DoubleUpperTriMatrix, DoubleUpperTriMatrix) Adds two upper triangular matrices.
Public methodStatic memberAdd(DoubleUpperTriMatrix, Double) Adds an upper triangular matrix and a scalar.
Public methodClone Creates a deep copy of this matrix.
Public methodDeepenThisCopy Guarantees that there is only one reference to the underlying data and that this data is in contiguous storage.
Public methodStatic memberDivide(Double, DoubleUpperTriMatrix) Divide a scalar by an upper triangular matrix.
Public methodStatic memberDivide(DoubleUpperTriMatrix, DoubleUpperTriMatrix) Divide an upper triangular matrix by another.
Public methodStatic memberDivide(DoubleUpperTriMatrix, Double) Divide an upper triangular matrix by a scalar.
Public methodEquals Tests for equality of this matrix and another matrix. Two matrices are equal if they have the same dimensions and all values are equal.
(Overrides ObjectEquals(Object))
Public methodGetHashCode Returns an integer hash code for this matrix.
(Overrides ObjectGetHashCode)
Public methodLeadingSubmatrix Returns the k by k upper left corner of the matrix. The matrix and the submatrix share the same data.
Public methodStatic memberMultiply(Double, DoubleUpperTriMatrix) Multiply a scalar and an upper triangular matrix.
Public methodStatic memberMultiply(DoubleUpperTriMatrix, DoubleUpperTriMatrix) Multiply two upper triangular matrices.
Public methodStatic memberMultiply(DoubleUpperTriMatrix, Double) Multiply an upper triangular matrix and a scalar.
Public methodStatic memberNegate Negation operator.
Public methodOnDeserialized Checks that the matrix is square following deserialization
Public methodResize Changes the order of this matrix to that specified, adding zeros or truncating as necessary.
Public methodShallowCopy Creates a shallow copy of this matrix.
Public methodStatic memberSubtract(Double, DoubleUpperTriMatrix) Subtracts an upper triangular matrix from a scalar.
Public methodStatic memberSubtract(DoubleUpperTriMatrix, DoubleUpperTriMatrix) Subtracts one upper triangular matrix from another.
Public methodStatic memberSubtract(DoubleUpperTriMatrix, Double) Subtracts a scalar from an upper triangular matrix.
Public methodCode exampleToCommaSeparated Returns a formatted string representation of this matrix using tabs and newlines.
Public methodCode exampleToCommaSeparated(String) Returns a formatted string representation of this matrix using tabs and newlines. Numbers are formatted using the specified format string.
Public methodToGeneralMatrix Converts this triangular matrix to a general matrix.
Public methodCode exampleToString Returns a formatted string representation of this matrix.

ToCommaSeparated

ToCommaSeparated(String)

ToTabDelimited

ToTabDelimited(String)


(Overrides ObjectToString)
Public methodCode exampleToString(String) Returns a formatted string representation of this matrix. Numbers are displayed using the specified format.

ToCommaSeparated

ToCommaSeparated(String)

ToTabDelimited

ToTabDelimited(String)

Public methodCode exampleToTabDelimited Returns a formatted string representation of this matrix using tabs and newlines.
Public methodCode exampleToTabDelimited(String) Returns a formatted string representation of this matrix using tabs and newlines. Numbers are formatted using the specified format string.
Public methodTranspose Transposes this matrix.
Top
Operators
 NameDescription
Public operatorStatic memberAddition(Double, DoubleUpperTriMatrix) Adds a scalar and an upper triangular matrix.
Public operatorStatic memberAddition(DoubleUpperTriMatrix, DoubleUpperTriMatrix) Adds two upper triangular matrices.
Public operatorStatic memberAddition(DoubleUpperTriMatrix, Double) Adds an upper triangular matrix and a scalar.
Public operatorStatic memberDivision(Double, DoubleUpperTriMatrix) Divide a scalar by an upper triangular matrix.
Public operatorStatic memberDivision(DoubleUpperTriMatrix, DoubleUpperTriMatrix) Divide an upper triangular matrix by another.
Public operatorStatic memberDivision(DoubleUpperTriMatrix, Double) Divide an upper triangular matrix by a scalar.
Public operatorStatic memberEquality(DoubleUpperTriMatrix, DoubleUpperTriMatrix) Tests for equality of two upper triangular matrices. Two matrices are equal if they have the same dimensions and all values are equal.
Public operatorStatic member(FloatUpperTriMatrix to DoubleUpperTriMatrix) Implicitly converts a FloatUpperTriMatrix instance into a DoubleUpperTriMatrix instance.
Public operatorStatic memberInequality(DoubleUpperTriMatrix, DoubleUpperTriMatrix) Tests for inequality of two upper triangular matrices. Two matrices are equal if they have the same dimensions and all values are equal.
Public operatorStatic memberMultiply(Double, DoubleUpperTriMatrix) Multiply a scalar and an upper triangular matrix.
Public operatorStatic memberMultiply(DoubleUpperTriMatrix, DoubleUpperTriMatrix) Multiply two upper triangular matrices.
Public operatorStatic memberMultiply(DoubleUpperTriMatrix, Double) Multiply an upper triangular matrix and a scalar.
Public operatorStatic memberSubtraction(Double, DoubleUpperTriMatrix) Subtracts an upper triangular matrix from a scalar.
Public operatorStatic memberSubtraction(DoubleUpperTriMatrix, DoubleUpperTriMatrix) Subtracts one upper triangular matrix from another.
Public operatorStatic memberSubtraction(DoubleUpperTriMatrix, Double) Subtracts a scalar from an upper triangular matrix.
Public operatorStatic memberUnaryNegation(DoubleUpperTriMatrix) Negation operator.
Public operatorStatic memberUnaryPlus(DoubleUpperTriMatrix) Unary + operator. Just returns the input matrix.
Top
Remarks
The matrix is stored in a vector column by column. For efficiency, zero elements are not stored. For example, the following 5 by 5 upper triangular matrix:
C#
    | a00 a01 a02 a03 a04  |
    | 0   a11 a12 a13 a14  |
A = | 0   0   a22 a23 a24  |
    | 0   0   0   a33 a34  |
    | 0   0   0   0    a44 |
is stored in a data vector v as:
C#
v = [a00 a01 a11 a02 a12 a22 a03 a13 a23 a33 a04 a14 a24 a34 a44 ]
In general, A[i,j] = v[j(j+1)/2 + i].
See Also