NMath Reference Guide

## Double |

Class DoubleBandMatrix represents a banded matrix of double-precision floating
point values. A banded matrix is a matrix that has all its non-zero entries near
the diagonal.

Inheritance Hierarchy

Syntax

The DoubleBandMatrix type exposes the following members.

Constructors

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

DoubleBandMatrix(DoubleSymBandMatrix) | Constructs a DoubleBandMatrix instance from the given DoubleSymBandMatrix. | |

DoubleBandMatrix(DoubleTriDiagMatrix) | Constructs a DoubleBandMatrix instance from the given tridiagonal matrix. | |

DoubleBandMatrix(DoubleMatrix, Int32, Int32) | Constructs a DoubleBandMatrix instance by extracting a band of entries from a general matrix. | |

DoubleBandMatrix(Int32, Int32, Int32, Int32) | Constructs a DoubleBandMatrix instance with the specified number of rows, columns, upper and lower bandwidths. | |

DoubleBandMatrix(DoubleVector, Int32, Int32, Int32, Int32) | Constructs a DoubleBandMatrix instance with the specified dimensions and upper and lower bandwidths using the data in the given vector. |

Properties

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

Bandwidth | Gets the bandwidth of the matrix. | |

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

LowerBandwidth | Gets the lower bandwidth of the matrix. | |

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

UpperBandwidth | Gets the upper bandwidth of the matrix. |

Methods

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

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

Add(DoubleBandMatrix, DoubleBandMatrix) | Adds two banded matrices. | |

Add(DoubleBandMatrix, Double) | Adds a scalar to the non-zero elements of a banded 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, DoubleBandMatrix) | Divides a scalar by the non-zero elements of a banded matrix. | |

Divide(DoubleBandMatrix, DoubleBandMatrix) | Divides a banded matrix by another. | |

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

Equals |
Tests for equality of this matrix and another matrix.
Two matrices are equal if they have the same dimensions, bandwidths
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. | |

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

Multiply(DoubleBandMatrix, DoubleBandMatrix) | Multiplies two banded matrices. | |

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

Negate | Negation operator. | |

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

Resize(Int32, Int32, Int32, Int32) | Changes the dimensions and bandwidths of this matrix to those specified, adding zeros or truncating as necessary. | |

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

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

Subtract(DoubleBandMatrix, DoubleBandMatrix) | Subtracts two banded matrices. | |

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

ToCommaSeparated | Returns a formatted string representation of this matrix. | |

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

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

ToString |
Returns a formatted string representation of this matrix.
You can also use these methods to format a matrix: (Overrides ObjectToString) | |

ToString(String) |
Returns a formatted string representation of this matrix. Numbers are displayed
using the specified format.
You can also use these methods to format a matrix: | |

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, DoubleBandMatrix) | Adds a scalar to the non-zero elements of a banded matrix. | |

Addition(DoubleBandMatrix, DoubleBandMatrix) | Adds two banded matrices. | |

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

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

Division(DoubleBandMatrix, DoubleBandMatrix) | Divides a banded matrix by another. | |

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

Equality(DoubleBandMatrix, DoubleBandMatrix) | Tests for equality of two banded matrices. Two matrices are equal if they have the same dimensions, upper and lower bandwidths, and all values are equal. | |

(FloatBandMatrix to DoubleBandMatrix) | Implicitly converts a FloatBandMatrix instance into a DoubleBandMatrix instance. | |

Inequality(DoubleBandMatrix, DoubleBandMatrix) | Tests for equality of two banded matrices. Two matrices are equal if they have the same dimensions, upper and lower bandwidths, and all values are equal. | |

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

Multiply(DoubleBandMatrix, DoubleBandMatrix) | Multiplies two banded matrices. | |

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

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

Subtraction(DoubleBandMatrix, DoubleBandMatrix) | Subtracts two banded matrices. | |

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

UnaryNegation(DoubleBandMatrix) | Negation operator. | |

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

Remarks

If ub is the upper bandwidth, and lb is the lower bandwidth,
then the element in the ith row, jth column is defined to be zero whenever
j - i > ub or i - j > lb.

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, upper bandwidth + lower bandwidth + 1, in the vector. For example, the following 8 by 8 matrix with upper bandwidth 2 and lower bandwidth 1,
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, upper bandwidth + lower bandwidth + 1, in the vector. For example, the following 8 by 8 matrix with upper bandwidth 2 and lower bandwidth 1,

C#

| a11 a12 a13 0 0 0 0 0 | | a21 a22 a23 a24 0 0 0 0 | | 0 a32 a33 a34 a35 0 0 0 | A = | 0 0 a43 a44 a45 a46 0 0 | | 0 0 0 a54 a55 a56 a57 0 | | 0 0 0 0 a65 a66 a67 a68 | | 0 0 0 0 0 a76 a77 a78 | | 0 0 0 0 0 0 a87 a88 |

C#

v = [x x a11 a21 x a12 a22 a32 a13 a23 a33 a43 a24 a34 a44 a54 a35 a45 a55 a65 a46 a56 a66 a76 a57 a67 a77 a87 a68 a78 a88 x ]

See Also