Class FloatSymBandMatrix represents a symmetric banded matrix of single-precision
floating point values. A symmetric banded matrix is a symmetric 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 FloatSymBandMatrix : ICloneable |
| Visual Basic (Declaration) |
|---|
<SerializableAttribute> _ Public Class FloatSymBandMatrix _ Implements ICloneable |
| Visual C++ |
|---|
[SerializableAttribute] public ref class FloatSymBandMatrix : ICloneable |
Remarks
If hb is the half bandwidth,
then the element in the ith row, jth
column is defined to be zero whenever j - i > hb. or i - j > hb.
The upper triangular part of the matrix is stored in a vector, column by column (zero elements and the lower triagular part of the matrix are not stored). There are some blank entries in the data vector so the each column takes up the same number of elements, half bandwidth + 1, in the vector. For example, the following 9 by 9 matrix with half bandwidth 2,
CopyC#
is stored in a data vector v as
CopyC#
where x denotes an unused location.
The upper triangular part of the matrix is stored in a vector, column by column (zero elements and the lower triagular part of the matrix are not stored). There are some blank entries in the data vector so the each column takes up the same number of elements, half bandwidth + 1, in the vector. For example, the following 9 by 9 matrix with half bandwidth 2,
| a11 a12 a13 0 0 0 0 0 0 | | a12 a22 a23 a24 0 0 0 0 0 | | a13 a23 a33 a34 a35 0 0 0 0 | A = | 0 a24 a34 a44 a45 a46 0 0 0 | | 0 0 a35 a45 a55 a56 a57 0 0 | | 0 0 0 a46 a56 a66 a67 a68 0 | | 0 0 0 0 a57 a67 a77 a78 a79 | | 0 0 0 0 0 a68 a78 a88 a89 | | 0 0 0 0 0 0 a79 a89 a99 |
v = [x x a11
x a12 a22
a13 a23 a33
a24 a34 a44
a35 a45 a55
a46 a56 a66
a57 a67 a77
a68 a78 a88
a79 a89 a99 ]