﻿DoubleUpperTriMatrix Class

# 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.3
Syntax
```[SerializableAttribute]
public class DoubleUpperTriMatrix : ICloneable```

The DoubleUpperTriMatrix type exposes the following members.

Constructors
NameDescription
DoubleUpperTriMatrix(Int32)
Constructs a square DoubleUpperTriMatrix instance with the specified size. All elements are initialized to zero.
DoubleUpperTriMatrix(DoubleMatrix)
Constructs a square DoubleUpperTriMatrix instance by extracting the upper triangular part of a square general matrix.
DoubleUpperTriMatrix(DoubleSymmetricMatrix)
Constructs a square DoubleUpperTriMatrix instance by extracting the upper triangular part of a symmetric matrix.
DoubleUpperTriMatrix(DoubleVector)
Constructs a square DoubleUpperTriMatrix instance using the data in the given vector.
DoubleUpperTriMatrix(DoubleMatrix, Int32)
Constructs a square DoubleUpperTriMatrix instance by extracting the upper triangular part of the specified leading square submatrix of a general matrix.
DoubleUpperTriMatrix(DoubleVector, Int32)
Constructs a square DoubleUpperTriMatrix instance with the specified size, and using the data in the given vector.
Top
Properties
NameDescription
Cols
Gets the number of columns in the matrix.
DataVector
Gets the data vector referenced by this matrix.
Item
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.
Order
Gets the order of the matrix.
Rows
Gets the number of rows in the matrix.
Top
Methods
NameDescription
Adds a scalar and an upper triangular matrix.
Adds an upper triangular matrix and a scalar.
Clone
Creates a deep copy of this matrix.
DeepenThisCopy
Guarantees that there is only one reference to the underlying data and that this data is in contiguous storage.
Divide(Double, DoubleUpperTriMatrix)
Divide a scalar by an upper triangular matrix.
Divide(DoubleUpperTriMatrix, DoubleUpperTriMatrix)
Divide an upper triangular matrix by another.
Divide(DoubleUpperTriMatrix, Double)
Divide an upper triangular matrix by a scalar.
Equals
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).)
GetHashCode
Returns an integer hash code for this matrix.
(Overrides ObjectGetHashCode.)
Returns the k by k upper left corner of the matrix. The matrix and the submatrix share the same data.
Multiply(Double, DoubleUpperTriMatrix)
Multiply a scalar and an upper triangular matrix.
Multiply(DoubleUpperTriMatrix, DoubleUpperTriMatrix)
Multiply two upper triangular matrices.
Multiply(DoubleUpperTriMatrix, Double)
Multiply an upper triangular matrix and a scalar.
Negate
Negation operator.
OnDeserialized
Checks that the matrix is square following deserialization
Resize
Changes the order of this matrix to that specified, adding zeros or truncating as necessary.
ShallowCopy
Creates a shallow copy of this matrix.
Subtract(Double, DoubleUpperTriMatrix)
Subtracts an upper triangular matrix from a scalar.
Subtract(DoubleUpperTriMatrix, DoubleUpperTriMatrix)
Subtracts one upper triangular matrix from another.
Subtract(DoubleUpperTriMatrix, Double)
Subtracts a scalar from an upper triangular matrix.
ToCommaSeparated
Returns a formatted string representation of this matrix using tabs and newlines.
ToCommaSeparated(String)
Returns a formatted string representation of this matrix using tabs and newlines. Numbers are formatted using the specified format string.
ToGeneralMatrix
Converts this triangular matrix to a general matrix.
ToString
Returns a formatted string representation of this matrix.

ToCommaSeparated

ToCommaSeparated(String)

ToTabDelimited

ToTabDelimited(String)

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

ToCommaSeparated

ToCommaSeparated(String)

ToTabDelimited

ToTabDelimited(String)

ToTabDelimited
Returns a formatted string representation of this matrix using tabs and newlines.
ToTabDelimited(String)
Returns a formatted string representation of this matrix using tabs and newlines. Numbers are formatted using the specified format string.
Transpose
Transposes this matrix.
Top
Operators
NameDescription
Adds a scalar and an upper triangular matrix.
Adds an upper triangular matrix and a scalar.
Division(Double, DoubleUpperTriMatrix)
Divide a scalar by an upper triangular matrix.
Division(DoubleUpperTriMatrix, DoubleUpperTriMatrix)
Divide an upper triangular matrix by another.
Division(DoubleUpperTriMatrix, Double)
Divide an upper triangular matrix by a scalar.
Equality
Tests for equality of two upper triangular matrices. Two matrices are equal if they have the same dimensions and all values are equal.
(FloatUpperTriMatrix to DoubleUpperTriMatrix)
Implicitly converts a FloatUpperTriMatrix instance into a DoubleUpperTriMatrix instance.
Inequality
Tests for inequality of two upper triangular matrices. Two matrices are equal if they have the same dimensions and all values are equal.
Multiply(Double, DoubleUpperTriMatrix)
Multiply a scalar and an upper triangular matrix.
Multiply(DoubleUpperTriMatrix, DoubleUpperTriMatrix)
Multiply two upper triangular matrices.
Multiply(DoubleUpperTriMatrix, Double)
Multiply an upper triangular matrix and a scalar.
Subtraction(Double, DoubleUpperTriMatrix)
Subtracts an upper triangular matrix from a scalar.
Subtraction(DoubleUpperTriMatrix, DoubleUpperTriMatrix)
Subtracts one upper triangular matrix from another.
Subtraction(DoubleUpperTriMatrix, Double)
Subtracts a scalar from an upper triangular matrix.
UnaryNegation
Negation operator.
UnaryPlus
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:
```    | 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:
`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].