Click or drag to resize

DoubleLowerTriMatrix Class

Class DoubleLowerTriMatrix represents a lower triangular matrix of double-precision floating point values. A lower triangular matrix is a square matrix with all elements above the main diagonal equal to zero.
Inheritance Hierarchy
SystemObject
  CenterSpace.NMath.CoreDoubleLowerTriMatrix

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

The DoubleLowerTriMatrix type exposes the following members.

Constructors
  NameDescription
Public methodDoubleLowerTriMatrix(Int32)
Constructs a square DoubleLowerTriMatrix instance with the specified size. All elements are initialized to zero.
Public methodDoubleLowerTriMatrix(DoubleMatrix)
Constructs a square DoubleLowerTriMatrix instance by extracting the lower triangular part of a square general matrix.
Public methodDoubleLowerTriMatrix(DoubleSymmetricMatrix)
Constructs a square DoubleLowerTriMatrix instance by extracting the lower triangular part of a symmetric matrix.
Public methodDoubleLowerTriMatrix(DoubleVector)
Constructs a square DoubleLowerTriMatrix instance using the data in the given vector.
Public methodDoubleLowerTriMatrix(DoubleMatrix, Int32)
Constructs a square DoubleLowerTriMatrix instance by extracting the lower triangular part of the specified leading square submatrix of a general matrix.
Public methodDoubleLowerTriMatrix(DoubleVector, Int32)
Constructs a square DoubleLowerTriMatrix 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, DoubleLowerTriMatrix)
Adds a scalar and a lower triangular matrix.
Public methodStatic memberAdd(DoubleLowerTriMatrix, DoubleLowerTriMatrix)
Adds two lower triangular matrices.
Public methodStatic memberAdd(DoubleLowerTriMatrix, Double)
Adds a lower 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, DoubleLowerTriMatrix)
Divide a scalar by a lower triangular matrix.
Public methodStatic memberDivide(DoubleLowerTriMatrix, DoubleLowerTriMatrix)
Divide a lower triangular matrix by another.
Public methodStatic memberDivide(DoubleLowerTriMatrix, Double)
Divide a lower 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, DoubleLowerTriMatrix)
Multiply a scalar and a lower triangular matrix.
Public methodStatic memberMultiply(DoubleLowerTriMatrix, DoubleLowerTriMatrix)
Multiply two lower triangular matrices.
Public methodStatic memberMultiply(DoubleLowerTriMatrix, Double)
Multiply a lower 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, DoubleLowerTriMatrix)
Subtracts a lower triangular matrix from a scalar.
Public methodStatic memberSubtract(DoubleLowerTriMatrix, DoubleLowerTriMatrix)
Subtracts one lower triangular matrix from another.
Public methodStatic memberSubtract(DoubleLowerTriMatrix, Double)
Subtracts a scalar from a lower 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 (Overrides ObjectToString.)
Public methodCode exampleToString(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, DoubleLowerTriMatrix)
Adds a scalar and a lower triangular matrix.
Public operatorStatic memberAddition(DoubleLowerTriMatrix, DoubleLowerTriMatrix)
Adds two lower triangular matrices.
Public operatorStatic memberAddition(DoubleLowerTriMatrix, Double)
Adds a lower triangular matrix and a scalar.
Public operatorStatic memberDivision(Double, DoubleLowerTriMatrix)
Divide a scalar by a lower triangular matrix.
Public operatorStatic memberDivision(DoubleLowerTriMatrix, DoubleLowerTriMatrix)
Divide a lower triangular matrix by another.
Public operatorStatic memberDivision(DoubleLowerTriMatrix, Double)
Divide a lower triangular matrix by a scalar.
Public operatorStatic memberEquality
Tests for equality of two lower triangular matrices. Two matrices are equal if they have the same dimensions and all values are equal.
Public operatorStatic member(FloatLowerTriMatrix to DoubleLowerTriMatrix)
Implicitly converts a FloatLowerTriMatrix instance into a DoubleLowerTriMatrix instance.
Public operatorStatic memberInequality
Tests for inequality of two lower triangular matrices. Two matrices are equal if they have the same dimensions and all values are equal.
Public operatorStatic memberMultiply(Double, DoubleLowerTriMatrix)
Multiply a scalar and a lower triangular matrix.
Public operatorStatic memberMultiply(DoubleLowerTriMatrix, DoubleLowerTriMatrix)
Multiply two lower triangular matrices.
Public operatorStatic memberMultiply(DoubleLowerTriMatrix, Double)
Multiply a lower triangular matrix and a scalar.
Public operatorStatic memberSubtraction(Double, DoubleLowerTriMatrix)
Subtracts a lower triangular matrix from a scalar.
Public operatorStatic memberSubtraction(DoubleLowerTriMatrix, DoubleLowerTriMatrix)
Subtracts one lower triangular matrix from another.
Public operatorStatic memberSubtraction(DoubleLowerTriMatrix, Double)
Subtracts a scalar from a lower triangular matrix.
Public operatorStatic memberUnaryNegation
Negation operator.
Public operatorStatic memberUnaryPlus
Unary + operator. Just returns the input matrix.
Top
Remarks
The matrix is stored in a vector row by row. For efficiency, zero elements are not stored. For example, the following 5 by 5 lower triangular matrix:
    | a00 0   0   0   0   |
    | a10 a11 0   0   0   |
A = | a20 a21 a22 0   0   |
    | a30 a31 a32 a33 0   |
    | a40 a41 a42 a43 a44 |
is stored in a data vector v as:
v = [a00 a10 a11 a20 a21 a22 a30 a31 a32 a33 a40 a41 a42 a43 a44 ]
In general, A[i,j] = v[i(i+1)/2 + j].
See Also