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.
Namespace:
CenterSpace.NMath.MatrixAssembly: NMath (in NMath.dll) Version: 5.1.0.0
Syntax
| C# |
|---|
[SerializableAttribute] public class DoubleBandMatrix : ICloneable |
| Visual Basic (Declaration) |
|---|
<SerializableAttribute> _ Public Class DoubleBandMatrix _ Implements ICloneable |
| Visual C++ |
|---|
[SerializableAttribute] public ref class DoubleBandMatrix : ICloneable |
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,
CopyC#
is stored in a data vector v as
CopyC#
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,
| 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 |
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 ]