﻿FloatSymBandMatrix Class

FloatSymBandMatrix Class

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.
Inheritance Hierarchy
SystemObject
CenterSpace.NMath.CoreFloatSymBandMatrix

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

The FloatSymBandMatrix type exposes the following members.

Constructors
NameDescription
FloatSymBandMatrix(FloatBandMatrix) Constructs a FloatSymBandMatrix instance from a square banded matrix.
FloatSymBandMatrix(FloatTriDiagMatrix) Constructs a FloatSymBandMatrix instance from a square tridiagonal matrix.
FloatSymBandMatrix(FloatMatrix, Int32) Constructs a FloatSymBandMatrix instance by extracting the symmetric part of a band of entries from a square matrix.
FloatSymBandMatrix(Int32, Int32) Constructs a FloatSymBandMatrix instance with the specified number of rows, columns, and half bandwidth.
FloatSymBandMatrix(FloatVector, Int32, Int32) Constructs a FloatSymBandMatrix instance with the specified dimensions and half bandwidth using the data in the passed vector.
Top
Properties
NameDescription
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.
HalfBandwidth Gets the half bandwidth of the matrix.
Item Gets and sets the value at the specified position.
Order Gets the order of the matrix (the number of rows and columns).
Rows Gets the number of rows in the matrix.
Top
Methods
NameDescription
Add(FloatSymBandMatrix, Single) Adds a scalar to the non-zero elements of a banded matrix.
Add(Single, FloatSymBandMatrix) 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(FloatSymBandMatrix, FloatSymBandMatrix) Divides a banded matrix by another.
Divide(FloatSymBandMatrix, Single) Divides the non-zero elements of a banded matrix by a scalar.
Divide(Single, FloatSymBandMatrix) Divides a scalar by the non-zero elements of a banded matrix.
Equals Tests for equality of this matrix and another matrix. Two matrices are equal if they have the same dimensions, upper bandwidth 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(FloatSymBandMatrix, FloatSymBandMatrix) Multiplies two banded matrices.
Multiply(FloatSymBandMatrix, Single) Multiplies the non-zero elements of a banded matrix and a scalar.
Multiply(Single, FloatSymBandMatrix) Multiplies the non-zero elements of a banded matrix by a scalar.
Negate Negation operator.
Resize(Int32) Changes the dimensions of this matrix to those specified, adding zeros or truncating as necessary.
Resize(Int32, Int32) Changes the dimensions and half bandwidth of this matrix to those specified, adding zeros or truncating as necessary.
ShallowCopy Creates a shallow copy of this matrix.
Subtract(FloatSymBandMatrix, FloatSymBandMatrix) Subtracts two banded matrices.
Subtract(FloatSymBandMatrix, Single) Subtracts a scalar from the non-zero elements of a banded matrix.
Subtract(Single, FloatSymBandMatrix) Subtracts the non-zero elements of a banded matrix from a scalar.
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 symmetric banded matrix to a general matrix.
ToString Returns a formatted string representation of this matrix.

ToCommaSeparated

ToCommaSeparated(String)

ToTabDelimited

ToTabDelimited(String)

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

ToCommaSeparated

ToCommaSeparated(String)

ToTabDelimited

ToTabDelimited(String)

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 this matrix.
Top
Operators
NameDescription
Addition(FloatSymBandMatrix, FloatSymBandMatrix) Adds two symmetric banded matrices.
Addition(FloatSymBandMatrix, Single) Adds a scalar to the non-zero elements of a banded matrix.
Addition(Single, FloatSymBandMatrix) Adds a scalar to the non-zero elements of a banded matrix.
Division(FloatSymBandMatrix, FloatSymBandMatrix) Divides a symmetric banded matrix by another.
Division(FloatSymBandMatrix, Single) Divides the non-zero elements of a symmetric banded matrix by a scalar.
Division(Single, FloatSymBandMatrix) Divides a scalar by the non-zero elements of a symmetric banded matrix.
Equality(FloatSymBandMatrix, FloatSymBandMatrix) Tests for equality of two symmetric banded matrices. Two matrices are equal if they have the same dimensions, and half bandwidth, and all values are equal.
Inequality(FloatSymBandMatrix, FloatSymBandMatrix) Tests for equality of two symmetric banded matrices. Two matrices are equal if they have the same dimensions, and half bandwidths, and all values are equal.
Multiply(FloatSymBandMatrix, FloatSymBandMatrix) Multiplies two symmetric banded matrices.
Multiply(FloatSymBandMatrix, Single) Multiplies the non-zero elements of a symmetric banded matrix and a scalar.
Multiply(Single, FloatSymBandMatrix) Multiplies the non-zero elements of a symmetric banded matrix by a scalar.
Subtraction(FloatSymBandMatrix, FloatSymBandMatrix) Subtracts two symmetric banded matrices.
Subtraction(FloatSymBandMatrix, Single) Subtracts a scalar from the non-zero elements of a symmetric banded matrix.
Subtraction(Single, FloatSymBandMatrix) Subtracts the non-zero elements of a symmetric banded matrix from a scalar.
UnaryNegation(FloatSymBandMatrix) Negation operator.
UnaryPlus(FloatSymBandMatrix) Unary + operator. Just returns the input matrix.
Top
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,
C#
```    | 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 |```
is stored in a data vector v as
C#
```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 ]```
where x denotes an unused location.