NMath Reference Guide

## Double |

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

Syntax

The DoubleTriDiagMatrix type exposes the following members.

Constructors

Name | Description | |
---|---|---|

DoubleTriDiagMatrix(DoubleBandMatrix) | Constructs a DoubleTriDiagMatrix instance by extracting the tridiagonal part of a banded matrix. | |

DoubleTriDiagMatrix(DoubleMatrix) | Constructs a DoubleTriDiagMatrix instance by extracting the tridiagonal part of a general matrix. | |

DoubleTriDiagMatrix(Int32, Int32) | Constructs a DoubleTriDiagMatrix instance with the specified number of rows and columns. | |

DoubleTriDiagMatrix(DoubleVector, Int32, Int32) | Constructs a DoubleTriDiagMatrix instance with the specified dimensions using the data in the given vector. |

Properties

Name | Description | |
---|---|---|

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. | |

Rows | Gets the number of rows in the matrix. |

Methods

Name | Description | |
---|---|---|

Add(Double, DoubleTriDiagMatrix) | Adds a scalar to the non-zero elements of a tridiagonal matrix. | |

Add(DoubleTriDiagMatrix, DoubleTriDiagMatrix) | Adds two tridiagonal matrices. | |

Add(DoubleTriDiagMatrix, Double) | Adds a scalar to the non-zero elements of a tridiagonal matrix. | |

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. | |

Diagonal | Returns a vector view of the main diagonal of this matrix. | |

Diagonal(Int32) | Returns a vector view of a diagonal of this matrix. | |

Divide(Double, DoubleTriDiagMatrix) | Divides a scalar by the non-zero elements of a tridiagonal matrix. | |

Divide(DoubleTriDiagMatrix, DoubleTriDiagMatrix) | Divides a tridiagonal matrix by another. | |

Divide(DoubleTriDiagMatrix, Double) | Divides the non-zero elements of a tridiagonal 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) | |

LeadingSubmatrix | Returns the k by k upper left corner of the matrix. The matrix and the submatrix share the same data. | |

Multiply(Double, DoubleTriDiagMatrix) | Multiplies the non-zero elements of a tridiagonal matrix by a scalar. | |

Multiply(DoubleTriDiagMatrix, DoubleTriDiagMatrix) | Multiplies two tridiagonal matrices. | |

Multiply(DoubleTriDiagMatrix, Double) | Multiplies the non-zero elements of a tridiagonal matrix and a scalar. | |

Negate | Negation operator. | |

Resize | Changes the dimensions of this matrix to those specified, adding zeros or truncating as necessary. | |

ShallowCopy | Creates a shallow copy of this matrix. | |

Subtract(Double, DoubleTriDiagMatrix) | Subtracts the non-zero elements of a tridiagonal matrix from a scalar. | |

Subtract(DoubleTriDiagMatrix, DoubleTriDiagMatrix) | Subtracts two tridiagonal matrices. | |

Subtract(DoubleTriDiagMatrix, Double) | Subtracts a scalar from the non-zero elements of a tridiagonal matrix. | |

ToCommaSeparated | Returns a formatted string representation of this matrix using commas and newlines. | |

ToCommaSeparated(String) | Returns a formatted string representation of this matrix using commas and newlines. Numbers are formatted using the specified format string. | |

ToGeneralMatrix | Converts this tridiagonal matrix to a general matrix. | |

ToString |
Returns a formatted string representation of this matrix.
(Overrides ObjectToString) | |

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

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 | Returns the transpose of this matrix. |

Operators

Name | Description | |
---|---|---|

Addition(Double, DoubleTriDiagMatrix) | Adds a scalar to the non-zero elements of a tridiagonal matrix. | |

Addition(DoubleTriDiagMatrix, DoubleTriDiagMatrix) | Adds two tridiagonal matrices. | |

Addition(DoubleTriDiagMatrix, Double) | Adds a scalar to the non-zero elements of a tridiagonal matrix. | |

Division(Double, DoubleTriDiagMatrix) | Divides a scalar by the non-zero elements of a tridiagonal matrix. | |

Division(DoubleTriDiagMatrix, DoubleTriDiagMatrix) | Divides a tridiagonal matrix by another. | |

Division(DoubleTriDiagMatrix, Double) | Divides the non-zero elements of a tridiagonal matrix by a scalar. | |

Equality(DoubleTriDiagMatrix, DoubleTriDiagMatrix) | Tests for equality of two tridiagonal matrices. Two matrices are equal if they have the same dimensions, and all values are equal. | |

(FloatTriDiagMatrix to DoubleTriDiagMatrix) | Implicitly converts a FloatTriDiagMatrix instance into a DoubleTriDiagMatrix instance. | |

Inequality(DoubleTriDiagMatrix, DoubleTriDiagMatrix) | Tests for equality of two tridiagonal matrices. Two matrices are equal if they have the same dimensions, and all values are equal. | |

Multiply(Double, DoubleTriDiagMatrix) | Multiplies the non-zero elements of a tridiagonal matrix by a scalar. | |

Multiply(DoubleTriDiagMatrix, DoubleTriDiagMatrix) | Multiplies two tridiagonal matrices. | |

Multiply(DoubleTriDiagMatrix, Double) | Multiplies the non-zero elements of a tridiagonal matrix and a scalar. | |

Subtraction(Double, DoubleTriDiagMatrix) | Subtracts the non-zero elements of a tridiagonal matrix from a scalar. | |

Subtraction(DoubleTriDiagMatrix, DoubleTriDiagMatrix) | Subtracts two tridiagonal matrices. | |

Subtraction(DoubleTriDiagMatrix, Double) | Subtracts a scalar from the non-zero elements of a tridiagonal matrix. | |

UnaryNegation(DoubleTriDiagMatrix) | Negation operator. | |

UnaryPlus(DoubleTriDiagMatrix) | Unary + operator. Just returns the input matrix. |

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,
is stored in a data vector v as
where x denotes an unused location.

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 |

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 ]

See Also