﻿FloatHermitianMatrix Class   # FloatHermitianMatrix Class

Class FloatHermitianMatrix represents a matrix of single-precision floating point complex values. Inheritance Hierarchy
SystemObject
CenterSpace.NMath.CoreFloatHermitianMatrix

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

The FloatHermitianMatrix type exposes the following members. Constructors
NameDescription FloatHermitianMatrix(Int32)
Constructs a FloatHermitianMatrix instance with the specified size. FloatHermitianMatrix(FloatComplexMatrix)
Constructs a square FloatHermitianMatrix instance by extracting the upper triangular part of a square general matrix. FloatHermitianMatrix(FloatComplexVector)
Constructs a FloatHermitianMatrix instance using the data in the given vector. FloatHermitianMatrix(FloatComplexVector, Int32)
Constructs a FloatHermitianMatrix instance with the specified size, and using the data in the given vector.
Top Properties
NameDescription Cols
Gets the number of columns in the matrix. DataVector
Gets the data vector referenced by this matrix. Item
Gets and sets the value at the specified position. Symmetry is maintained. Order
Gets the order of the matrix. Rows
Gets the number of rows in the matrix.
Top Methods
NameDescription  Add(FloatComplex, FloatHermitianMatrix)
Adds a scalar and an Hermitian matrix.  Add(FloatHermitianMatrix, FloatComplex)
Adds an Hermitian matrix and a scalar.  Add(FloatHermitianMatrix, FloatHermitianMatrix) 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.  Divide(FloatComplex, FloatHermitianMatrix)
Divide a scalar by an Hermitian matrix.  Divide(FloatHermitianMatrix, FloatComplex)
Divide an Hermitian matrix by a scalar.  Divide(FloatHermitianMatrix, FloatHermitianMatrix)
Divide an Hermitian matrix by another. Equals
Tests for equality of this matrix and another matrix. Two matrices are equal if they have the same dimensions 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. The matrix and the submatrix share the same data. MakeDiagonalReal
Sets the imaginary parts on the main diagonal to zero thereby meeting the strict definition of an Hermitian matrix.  Multiply(FloatComplex, FloatHermitianMatrix)
Multiply a scalar and an Hermitian matrix.  Multiply(FloatHermitianMatrix, FloatComplex)
Multiply an Hermitian matrix and a scalar.  Multiply(FloatHermitianMatrix, FloatHermitianMatrix)
Multiply two lower Hermitian matrices.  Negate
Negation operator. OnDeserialized
Checks that the matrix is square following deserialization Resize
Changes the order of this matrix to that specified, adding zeros or truncating as necessary. ShallowCopy
Creates a shallow copy of this matrix.  Subtract(FloatComplex, FloatHermitianMatrix)
Subtracts an Hermitian matrix from a scalar.  Subtract(FloatHermitianMatrix, FloatComplex)
Subtracts a scalar from an Hermitian matrix.  Subtract(FloatHermitianMatrix, FloatHermitianMatrix)
Subtracts one Hermitian matrix from another. ToGeneralMatrix
Converts this Hermitian matrix to a general matrix.  ToString
Returns a formatted string representation of this matrix.

ToTabDelimited

ToTabDelimited(String)

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

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
Transposes the Hermitian matrix.
Top Operators
NameDescription  Addition(FloatComplex, FloatHermitianMatrix)
Adds a scalar and an Hermitian matrix.  Addition(FloatHermitianMatrix, FloatComplex)
Adds an Hermitian matrix and a scalar.  Addition(FloatHermitianMatrix, FloatHermitianMatrix)  Division(FloatComplex, FloatHermitianMatrix)
Divide a scalar by an Hermitian matrix.  Division(FloatHermitianMatrix, FloatComplex)
Divide an Hermitian matrix by a scalar.  Division(FloatHermitianMatrix, FloatHermitianMatrix)
Divide an Hermitian matrix by another.  Equality
Tests for equality of two Hermitian matrices. Two matrices are equal if they have the same order and all values are equal.  (FloatSymmetricMatrix to FloatHermitianMatrix)
Implicitly converts a FloatSymmetricMatrix instance into a FloatHermitianMatrix instance.  Inequality
Tests for inequality of two Hermitian matrices. Two matrices are equal if they have the same order and all values are equal.  Multiply(FloatComplex, FloatHermitianMatrix)
Multiply a scalar and an Hermitian matrix.  Multiply(FloatHermitianMatrix, FloatComplex)
Multiply an Hermitian matrix and a scalar.  Multiply(FloatHermitianMatrix, FloatHermitianMatrix)
Multiply two lower Hermitian matrices. Multiply two lower Hermitian matrices.  Subtraction(FloatComplex, FloatHermitianMatrix)
Subtracts an Hermitian matrix from a scalar.  Subtraction(FloatHermitianMatrix, FloatComplex)
Subtracts a scalar from an Hermitian matrix.  Subtraction(FloatHermitianMatrix, FloatHermitianMatrix)
Subtracts one Hermitian matrix from another.  UnaryNegation
Negation operator.  UnaryPlus
Unary + operator. Just returns the input matrix.
Top Remarks
An Hermitian matrix is equal to its conjugate transpose. In other words, A[i,j] = conj(A[j,i]) for all elements i,j in matrix A.
The matrix is stored in a vector column by column. For efficiency, only the upper triangle is stored. For example, the following 5 by 5 Hermitian matrix:
```    | a00 a01 a02 a03 a04 |
| a10 a11 a12 a13 a14 |
A = | a20 a21 a22 a23 a24 |
| a30 a31 a32 a33 a34 |
| a40 a41 a42 a43 a44 |```
is stored in a data vector v as:
`v = [a00 a01 a11 a02 a12 a22 a03 a13 a23 a33 a04 a14 a24 a34 a44 ]`
In general, A[i,j] = v[j(j+1)/2+i], i<=j conj(v[i(i+1)/2+j]), j<i See Also