Click or drag to resize

FloatComplexBandMatrix Class

Class FloatComplexBandMatrix represents a banded matrix of single-precision complex numbers. A banded matrix is a matrix that has all its non-zero entries near the diagonal.
Inheritance Hierarchy
SystemObject
  CenterSpace.NMath.CoreFloatComplexBandMatrix

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

The FloatComplexBandMatrix type exposes the following members.

Constructors
 NameDescription
Public methodFloatComplexBandMatrix(FloatComplexTriDiagMatrix) Constructs a FloatComplexBandMatrix instance from the given tridiagonal matrix.
Public methodFloatComplexBandMatrix(FloatHermitianBandMatrix) Constructs a FloatComplexBandMatrix instance from the given Hermitian banded matrix.
Public methodFloatComplexBandMatrix(FloatComplexMatrix, Int32, Int32) Constructs a FloatComplexBandMatrix instance by extracting a band of entries from a general matrix.
Public methodFloatComplexBandMatrix(Int32, Int32, Int32, Int32) Constructs a FloatComplexBandMatrix instance with the specified number of rows, columns, upper and lower bandwidths.
Public methodFloatComplexBandMatrix(FloatComplexVector, Int32, Int32, Int32, Int32) Constructs a FloatComplexBandMatrix instance with the specified dimensions and upper and lower bandwidths using the data in the given 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 propertyItem Gets and sets the value at the specified position.
Public propertyLowerBandwidth Gets the lower bandwidth of the matrix.
Public propertyRows Gets the number of rows in the matrix.
Public propertyUpperBandwidth Gets the upper bandwidth of the matrix.
Top
Methods
 NameDescription
Public methodStatic memberAdd(FloatComplex, FloatComplexBandMatrix) Adds a scalar to the non-zero elements of a banded matrix.
Public methodStatic memberAdd(FloatComplexBandMatrix, FloatComplex) Adds a scalar to the non-zero elements of a banded matrix.
Public methodStatic memberAdd(FloatComplexBandMatrix, FloatComplexBandMatrix) Adds two banded matrices.
Public methodClone Creates a deep copy of this matrix.
Public methodConjTranspose Returns the conjugate transpose 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 methodDiagonal Returns a vector view of the main diagonal of this matrix.
Public methodDiagonal(Int32) Returns a vector view of a diagonal of this matrix.
Public methodStatic memberDivide(FloatComplex, FloatComplexBandMatrix) Divides a scalar by the non-zero elements of a banded matrix.
Public methodStatic memberDivide(FloatComplexBandMatrix, FloatComplex) Divides the non-zero elements of a banded matrix by a scalar.
Public methodStatic memberDivide(FloatComplexBandMatrix, FloatComplexBandMatrix) 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, bandwidths and all values are equal.
(Overrides ObjectEquals(Object))
Public methodGetHashCode Returns an integer hash code for this matrix.
(Overrides ObjectGetHashCode)
Public methodLeadingSubmatrix Returns the k by k upper left corner of the matrix.
Public methodStatic memberMultiply(FloatComplex, FloatComplexBandMatrix) Multiplies the non-zero elements of a banded matrix by a scalar.
Public methodStatic memberMultiply(FloatComplexBandMatrix, FloatComplex) Multiplies the non-zero elements of a banded matrix and a scalar.
Public methodStatic memberMultiply(FloatComplexBandMatrix, FloatComplexBandMatrix) Multiplies two banded matrices.
Public methodStatic memberNegate Negation operator.
Public methodResize(Int32, Int32) Changes the dimensions of this matrix to those specified, adding zeros or truncating as necessary.
Public methodResize(Int32, Int32, Int32, Int32) Changes the dimensions and bandwidths of this matrix to those specified, adding zeros or truncating as necessary.
Public methodShallowCopy Creates a shallow copy of this matrix.
Public methodStatic memberSubtract(FloatComplex, FloatComplexBandMatrix) Subtracts the non-zero elements of a banded matrix from a scalar.
Public methodStatic memberSubtract(FloatComplexBandMatrix, FloatComplex) Subtracts a scalar from the non-zero elements of a banded matrix.
Public methodStatic memberSubtract(FloatComplexBandMatrix, FloatComplexBandMatrix) Subtracts two banded matrices.
Public methodToGeneralMatrix Converts this banded matrix to a general matrix.
Public methodCode exampleToString Returns a formatted string representation of this matrix.

You can also use these methods to format a 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.

You can also use these methods to format a matrix:

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. Numbers are displayed using the specified format.
Public methodTranspose Returns the transpose of this matrix.
Top
Operators
 NameDescription
Public operatorStatic memberAddition(FloatComplex, FloatComplexBandMatrix) Adds a scalar to the non-zero elements of a banded matrix.
Public operatorStatic memberAddition(FloatComplexBandMatrix, FloatComplex) Adds a scalar to the non-zero elements of a banded matrix.
Public operatorStatic memberAddition(FloatComplexBandMatrix, FloatComplexBandMatrix) Adds two banded matrices.
Public operatorStatic memberDivision(FloatComplex, FloatComplexBandMatrix) Divides a scalar by the non-zero elements of a banded matrix.
Public operatorStatic memberDivision(FloatComplexBandMatrix, FloatComplex) Divides the non-zero elements of a banded matrix by a scalar.
Public operatorStatic memberDivision(FloatComplexBandMatrix, FloatComplexBandMatrix) Divides a banded matrix by another.
Public operatorStatic memberEquality(FloatComplexBandMatrix, FloatComplexBandMatrix) 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.
Public operatorStatic member(FloatBandMatrix to FloatComplexBandMatrix) Implicitly converts a FloatBandMatrix instance into a FloatComplexBandMatrix instance.
Public operatorStatic memberInequality(FloatComplexBandMatrix, FloatComplexBandMatrix) 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.
Public operatorStatic memberMultiply(FloatComplex, FloatComplexBandMatrix) Multiplies the non-zero elements of a banded matrix by a scalar.
Public operatorStatic memberMultiply(FloatComplexBandMatrix, FloatComplex) Multiplies the non-zero elements of a banded matrix and a scalar.
Public operatorStatic memberMultiply(FloatComplexBandMatrix, FloatComplexBandMatrix) Multiplies two banded matrices.
Public operatorStatic memberSubtraction(FloatComplex, FloatComplexBandMatrix) Subtracts the non-zero elements of a banded matrix from a scalar.
Public operatorStatic memberSubtraction(FloatComplexBandMatrix, FloatComplex) Subtracts a scalar from the non-zero elements of a banded matrix.
Public operatorStatic memberSubtraction(FloatComplexBandMatrix, FloatComplexBandMatrix) Subtracts two banded matrices.
Public operatorStatic memberUnaryNegation(FloatComplexBandMatrix) Negation operator.
Public operatorStatic memberUnaryPlus(FloatComplexBandMatrix) Unary + operator. Just returns the input matrix.
Top
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,
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 |
is stored in a data vector v as
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  ]
where x denotes an unused location.
See Also