Click or drag to resize

DoubleTriDiagMatrix Class

Class DoubleTriDiagMatrix represents a tridiagonal matrix of double-precision floating point values. A tridiagonal matrix is a matrix which has all its non-zero entries on the main diagonal, the super diagonal, and the subdiagonal.
Inheritance Hierarchy
SystemObject
  CenterSpace.NMath.CoreDoubleTriDiagMatrix

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

The DoubleTriDiagMatrix type exposes the following members.

Constructors
 NameDescription
Public methodDoubleTriDiagMatrix(DoubleBandMatrix) Constructs a DoubleTriDiagMatrix instance by extracting the tridiagonal part of a banded matrix.
Public methodDoubleTriDiagMatrix(DoubleMatrix) Constructs a DoubleTriDiagMatrix instance by extracting the tridiagonal part of a general matrix.
Public methodDoubleTriDiagMatrix(Int32, Int32) Constructs a DoubleTriDiagMatrix instance with the specified number of rows and columns.
Public methodDoubleTriDiagMatrix(DoubleVector, Int32, Int32) Constructs a DoubleTriDiagMatrix instance with the specified dimensions 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.
Public propertyRows Gets the number of rows in the matrix.
Top
Methods
 NameDescription
Public methodStatic memberAdd(Double, DoubleTriDiagMatrix) Adds a scalar to the non-zero elements of a tridiagonal matrix.
Public methodStatic memberAdd(DoubleTriDiagMatrix, DoubleTriDiagMatrix) Adds two tridiagonal matrices.
Public methodStatic memberAdd(DoubleTriDiagMatrix, Double) Adds a scalar to the non-zero elements of a tridiagonal matrix.
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 methodDiagonal Returns a vector view of the main diagonal of this matrix.
Public methodDiagonal(Int32) Returns a vector view of a diagonal of this matrix.
Public methodStatic memberDivide(Double, DoubleTriDiagMatrix) Divides a scalar by the non-zero elements of a tridiagonal matrix.
Public methodStatic memberDivide(DoubleTriDiagMatrix, DoubleTriDiagMatrix) Divides a tridiagonal matrix by another.
Public methodStatic memberDivide(DoubleTriDiagMatrix, Double) Divides the non-zero elements of a tridiagonal 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, DoubleTriDiagMatrix) Multiplies the non-zero elements of a tridiagonal matrix by a scalar.
Public methodStatic memberMultiply(DoubleTriDiagMatrix, DoubleTriDiagMatrix) Multiplies two tridiagonal matrices.
Public methodStatic memberMultiply(DoubleTriDiagMatrix, Double) Multiplies the non-zero elements of a tridiagonal matrix and a scalar.
Public methodStatic memberNegate Negation operator.
Public methodResize Changes the dimensions of this matrix to those specified, adding zeros or truncating as necessary.
Public methodShallowCopy Creates a shallow copy of this matrix.
Public methodStatic memberSubtract(Double, DoubleTriDiagMatrix) Subtracts the non-zero elements of a tridiagonal matrix from a scalar.
Public methodStatic memberSubtract(DoubleTriDiagMatrix, DoubleTriDiagMatrix) Subtracts two tridiagonal matrices.
Public methodStatic memberSubtract(DoubleTriDiagMatrix, Double) Subtracts a scalar from the non-zero elements of a tridiagonal matrix.
Public methodCode exampleToCommaSeparated Returns a formatted string representation of this matrix using commas and newlines.
Public methodCode exampleToCommaSeparated(String) Returns a formatted string representation of this matrix using commas and newlines. Numbers are formatted using the specified format string.
Public methodToGeneralMatrix Converts this tridiagonal matrix to a general matrix.
Public methodCode exampleToString Returns a formatted string representation of this matrix.
(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 Returns the transpose of this matrix.
Top
Operators
 NameDescription
Public operatorStatic memberAddition(Double, DoubleTriDiagMatrix) Adds a scalar to the non-zero elements of a tridiagonal matrix.
Public operatorStatic memberAddition(DoubleTriDiagMatrix, DoubleTriDiagMatrix) Adds two tridiagonal matrices.
Public operatorStatic memberAddition(DoubleTriDiagMatrix, Double) Adds a scalar to the non-zero elements of a tridiagonal matrix.
Public operatorStatic memberDivision(Double, DoubleTriDiagMatrix) Divides a scalar by the non-zero elements of a tridiagonal matrix.
Public operatorStatic memberDivision(DoubleTriDiagMatrix, DoubleTriDiagMatrix) Divides a tridiagonal matrix by another.
Public operatorStatic memberDivision(DoubleTriDiagMatrix, Double) Divides the non-zero elements of a tridiagonal matrix by a scalar.
Public operatorStatic memberEquality(DoubleTriDiagMatrix, DoubleTriDiagMatrix) Tests for equality of two tridiagonal matrices. Two matrices are equal if they have the same dimensions, and all values are equal.
Public operatorStatic member(FloatTriDiagMatrix to DoubleTriDiagMatrix) Implicitly converts a FloatTriDiagMatrix instance into a DoubleTriDiagMatrix instance.
Public operatorStatic memberInequality(DoubleTriDiagMatrix, DoubleTriDiagMatrix) Tests for equality of two tridiagonal matrices. Two matrices are equal if they have the same dimensions, and all values are equal.
Public operatorStatic memberMultiply(Double, DoubleTriDiagMatrix) Multiplies the non-zero elements of a tridiagonal matrix by a scalar.
Public operatorStatic memberMultiply(DoubleTriDiagMatrix, DoubleTriDiagMatrix) Multiplies two tridiagonal matrices.
Public operatorStatic memberMultiply(DoubleTriDiagMatrix, Double) Multiplies the non-zero elements of a tridiagonal matrix and a scalar.
Public operatorStatic memberSubtraction(Double, DoubleTriDiagMatrix) Subtracts the non-zero elements of a tridiagonal matrix from a scalar.
Public operatorStatic memberSubtraction(DoubleTriDiagMatrix, DoubleTriDiagMatrix) Subtracts two tridiagonal matrices.
Public operatorStatic memberSubtraction(DoubleTriDiagMatrix, Double) Subtracts a scalar from the non-zero elements of a tridiagonal matrix.
Public operatorStatic memberUnaryNegation(DoubleTriDiagMatrix) Negation operator.
Public operatorStatic memberUnaryPlus(DoubleTriDiagMatrix) Unary + operator. Just returns the input matrix.
Top
Remarks
The element in the ith row, jth column is defined to be zero whenever j - i > 1. or i - j > 1.
The matrix is stored in a vector column by column. Zero elements are not stored. There are some blank entries in the data vector so the each column takes up the same number of elements, 3, in the vector. For example, the following 8 by 8 matrix,
C#
    | a11 a12 0   0   0   0   0   0   |
    | a21 a22 a23 0   0   0   0   0   |
    | 0   a32 a33 a34 0   0   0   0   |
A = | 0   0   a43 a44 a45 0   0   0   |
    | 0   0   0   a54 a55 a56 0   0   |
    | 0   0   0   0   a65 a66 a67 0   |
    | 0   0   0   0   0   a76 a77 a78 |
    | 0   0   0   0   0   0   a87 a88 |
is stored in a data vector v as
C#
v = [x   a11 a21 
     a12 a22 a32 
     a23 a33 a43
     a34 a44 a54
     a45 a55 a65
     a56 a66 a67
     a67 a77 a87
     a78 a88 x ]
where x denotes an unused location.
See Also