Click or drag to resize

FloatHermitianBandMatrix Class

Class FloatHermitianBandMatrix represents an Hermitian banded matrix of double-precision floating point values. An Hermitian banded matrix is an Hermitian matrix that has all its non-zero entries near the diagonal.
Inheritance Hierarchy
SystemObject
  CenterSpace.NMath.CoreFloatHermitianBandMatrix

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

The FloatHermitianBandMatrix type exposes the following members.

Constructors
 NameDescription
Public methodFloatHermitianBandMatrix(FloatComplexBandMatrix) Constructs a FloatHermitianBandMatrix instance from a square banded matrix.
Public methodFloatHermitianBandMatrix(FloatComplexTriDiagMatrix) Constructs a FloatHermitianBandMatrix instance from a square tridiagonal matrix.
Public methodFloatHermitianBandMatrix(FloatComplexMatrix, Int32) Constructs a FloatHermitianBandMatrix instance by extracting the Hermitian part of a band of entries from a square matrix.
Public methodFloatHermitianBandMatrix(Int32, Int32) Constructs a FloatHermitianBandMatrix instance with the specified number of rows, columns, and half bandwidth.
Public methodFloatHermitianBandMatrix(FloatComplexVector, Int32, Int32) Constructs a FloatHermitianBandMatrix instance with the specified dimensions and half bandwidth using the data in the passed vector.
Top
Properties
 NameDescription
Public propertyBandwidth Gets the bandwidth of the matrix.
Public propertyCols Gets the number of columns in the matrix.
Public propertyDataVector Gets the data vector referenced by this matrix.
Public propertyHalfBandwidth Gets the half bandwidth of the matrix.
Public propertyItem Gets and sets the value at the specified position.
Public propertyOrder Gets the order of the matrix (the number of rows and columns).
Public propertyRows Gets the number of rows in the matrix.
Top
Methods
 NameDescription
Public methodStatic memberAdd Adds two banded matrices.
Public methodClone Creates a deep copy of this matrix.
Public methodDeepenThisCopy Guarantees that there is only one reference to the underlying data and that this data is in contiguous storage.
Public methodStatic memberDivide(FloatComplex, FloatHermitianBandMatrix) Divides a scalar by the non-zero elements of a banded matrix.
Public methodStatic memberDivide(FloatHermitianBandMatrix, FloatComplex) Divides the non-zero elements of a banded matrix by a scalar.
Public methodStatic memberDivide(FloatHermitianBandMatrix, FloatHermitianBandMatrix) Divides a banded matrix by another.
Public methodEquals 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))
Public methodGetHashCode Returns an integer hash code for this matrix.
(Overrides ObjectGetHashCode)
Public methodIsDiagonalReal Determines if the main diagonal elements are real values.
Public methodLeadingSubmatrix Returns the k by k upper left corner of the matrix.
Public methodMakeDiagonalReal Sets the imaginary parts on the main diagonal to zero thereby meeting the strict definition of an Hermitian banded matrix.
Public methodStatic memberMultiply(FloatComplex, FloatHermitianBandMatrix) Multiplies the non-zero elements of a banded matrix by a scalar.
Public methodStatic memberMultiply(FloatHermitianBandMatrix, FloatComplex) Multiplies the non-zero elements of a banded matrix and a scalar.
Public methodStatic memberMultiply(FloatHermitianBandMatrix, FloatHermitianBandMatrix) Multiplies two banded matrices.
Public methodStatic memberNegate Negation operator.
Public methodResize(Int32) Changes the dimensions of this matrix to those specified, adding zeros or truncating as necessary.
Public methodResize(Int32, Int32) Changes the dimensions and half bandwidth of this matrix to those specified, adding zeros or truncating as necessary.
Public methodShallowCopy Creates a shallow copy of this matrix.
Public methodStatic memberSubtract Subtracts two banded matrices.
Public methodToGeneralMatrix Converts this banded Hermitian matrix to a general matrix.
Public methodCode exampleToString Returns a formatted string representation of this matrix.

ToTabDelimited

ToTabDelimited(String)


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

ToTabDelimited

ToTabDelimited(String)

Public methodCode exampleToTabDelimited Returns a formatted string representation of this matrix using tabs and newlines.
Public methodCode exampleToTabDelimited(String) Returns a formatted string representation of this matrix using tabs and newlines. Numbers are formatted using the specified format string.
Public methodTranspose Transposes the matrix.
Top
Operators
 NameDescription
Public operatorStatic memberAddition(FloatHermitianBandMatrix, FloatHermitianBandMatrix) Adds two Hermitian banded matrices.
Public operatorStatic memberDivision(FloatComplex, FloatHermitianBandMatrix) Divides a scalar by the non-zero elements of a Hermitian banded matrix.
Public operatorStatic memberDivision(FloatHermitianBandMatrix, FloatComplex) Divides the non-zero elements of a Hermitian banded matrix by a scalar.
Public operatorStatic memberDivision(FloatHermitianBandMatrix, FloatHermitianBandMatrix) Divides a Hermitian banded matrix by another.
Public operatorStatic memberEquality(FloatHermitianBandMatrix, FloatHermitianBandMatrix) Tests for equality of two Hermitian banded matrices. Two matrices are equal if they have the same dimensions, and half bandwidth, and all values are equal.
Public operatorStatic member(FloatSymBandMatrix to FloatHermitianBandMatrix) Implicitly converts a FloatSymBandMatrix instance into a FloatHermitianBandMatrix instance.
Public operatorStatic memberInequality(FloatHermitianBandMatrix, FloatHermitianBandMatrix) Tests for equality of two Hermitian banded matrices. Two matrices are equal if they have the same dimensions, and half bandwidths, and all values are equal.
Public operatorStatic memberMultiply(FloatComplex, FloatHermitianBandMatrix) Multiplies the non-zero elements of a Hermitian banded matrix by a scalar.
Public operatorStatic memberMultiply(FloatHermitianBandMatrix, FloatComplex) Multiplies the non-zero elements of a Hermitian banded matrix and a scalar.
Public operatorStatic memberMultiply(FloatHermitianBandMatrix, FloatHermitianBandMatrix) Multiplies two Hermitian banded matrices.
Public operatorStatic memberSubtraction(FloatHermitianBandMatrix, FloatHermitianBandMatrix) Subtracts two Hermitian banded matrices.
Public operatorStatic memberUnaryNegation(FloatHermitianBandMatrix) Negation operator.
Public operatorStatic memberUnaryPlus(FloatHermitianBandMatrix) 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.
See Also