Represents a ComplexMatrix that is symmetrical about the main diagonal.

Namespace: Extreme.Mathematics.LinearAlgebra.Complex
Assembly: Extreme.Numerics (Extreme.Numerics)

Syntax

Visual Basic (Declaration)
Public NotInheritable Class ComplexHermitianMatrix _
	Inherits ComplexMatrix
C#
public sealed class ComplexHermitianMatrix : ComplexMatrix
C++
public ref class ComplexHermitianMatrix sealed : public ComplexMatrix

Methods

IconTypeDescription
Add(TransposeOperation, TransposeOperation, DoubleComplex, ComplexMatrix)
Adds a multiple of a ComplexMatrix to this ComplexMatrix and returns the result.
AddOuterProduct(ComplexVector)
Updates a hermitian matrix with the outer product of a vector and itself.
AddOuterProduct(Double, ComplexVector)
Updates a hermitian matrix with the scaled outer product of a vector and its conjugate transpose.
AddOuterProduct(ComplexMatrix)
Updates a hermitian matrix with the product of a matrix and its conjugate transpose.
AddOuterProduct(Double, ComplexMatrix)
Updates a hermitian matrix with the scaled outer product of a matrix and its conjugate transpose.
AddProductToVector(DoubleComplex, ComplexVector, TransposeOperation, DoubleComplex, ComplexGeneralVector)
Multiplies a ComplexVector by this ComplexMatrix and stores the result in a second ComplexVector.
AddSymmetricOuterProduct(DoubleComplex, ComplexVector, ComplexVector)
Updates a hermitian matrix with the scaled outer product of a vector and a transposed vector.
AddSymmetricOuterProduct(DoubleComplex, ComplexMatrix, ComplexMatrix)
Updates a hermitian matrix with the scaled outer product of a vector and its conjugate transpose.
Clone()
Constructs a deep copy of this ComplexMatrix.
CloneData()
Gives this instance its own copy of its elements.
Conjugate()
Returns the conjugate transpose of this instance.
ConjugateTranspose()
Returns the conjugate transpose of this instance.
CopyTo(ComplexMatrix)
Copies the components of this ComplexMatrix to another matrix.
Equals(Object)
Determines whether the specified Object is equal to the current ComplexMatrix.
EstimateConditionNumber()
Calculates an estimate for the condition number of the ComplexHermitianMatrix.
static memberExtract(ComplexGeneralMatrix, Int32, Int32, Int32, MatrixTriangleMode, Boolean)
Creates a ComplexHermitianMatrix from a part of a ComplexGeneralMatrix.
static memberExtract(ComplexMatrix, Int32, Int32, Int32, MatrixTriangleMode)
Creates a ComplexHermitianMatrix from a part of a ComplexMatrix.
Finalize()
Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection.
FrobeniusNorm()
Returns the Frobenius norm of this ComplexMatrix.
static memberFromOuterProduct(ComplexMatrix)
Constructs a new ComplexHermitianMatrix by multiplying a matrix on the left by its conjugate transpose.
static memberFromOuterProduct(ComplexMatrix, MatrixOperationSide)
Constructs a new ComplexHermitianMatrix by multiplying a matrix by its conjugate transpose.
GetColumn(Int32)
Returns a column ComplexVector for this instance that points at the specified column.
GetColumn(Int32, Int32, Int32)
Returns a column ComplexVector for this instance starting at the specified column and row and of the specified length.
GetColumn(Int32, Int32, Int32, Int32)
Returns a column ComplexVector for this instance starting at the specified column and row and of the specified length.
GetColumn(Int32, Range)
Returns a column ComplexVector for this instance starting at the specified column and row and of the specified length.
GetColumnEnumerator()
Gets an IEnumerator than can be used to enumerate the columns of this ComplexMatrix.
GetComponents()
Gets the components of the ComplexVector.
GetComponents(MatrixElementOrder)
Gets the components of the ComplexVector.
GetDeterminant()
Calculates the determinant of the ComplexHermitianMatrix underlying this system of equations.
GetDiagonal(Int32)
Gets a ComplexVector view of the specified diagonal of this instance.
GetHashCode()
Returns the hash code for this instance.
GetImaginaryPart()
Returns a real matrix containing the imaginary components of the matrix.
GetInverse()
Calculates the inverse matrix.
GetObjectData(SerializationInfo, StreamingContext)
Populates a SerializationInfo with the data needed to serialize the target object.
GetRealPart()
Returns a real matrix containing the real components of the matrix.
GetRow(Int32)
Returns a row ComplexVector for this instance that points at the specified row.
GetRow(Int32, Int32, Int32)
Returns a row ComplexVector for this instance over the specified range.
GetRow(Int32, Range)
Returns a row ComplexVector for this instance starting at the specified row and column and of the specified length.
GetRow(Int32, Int32, Int32, Int32)
Returns a row ComplexVector for this instance starting at the specified row and column and of the specified length.
GetRowEnumerator()
Returns an IEnumerator instance that allows you to enumerate the rows of this ComplexMatrix.
GetSubmatrix(Range, Range, TransposeOperation)
Gets a ComplexMatrix that is a submatrix of this ComplexMatrix.
GetSubmatrix(Range, Range)
Gets a ComplexMatrix that is a submatrix of this ComplexMatrix.
GetSubmatrix(Int32, Int32, Int32, Int32)
Gets a ComplexMatrix that is a submatrix of this ComplexMatrix.
GetSubmatrix(Int32, Int32, Int32, Int32, Int32, Int32, TransposeOperation)
Gets a ComplexMatrix that is a submatrix of this ComplexMatrix.
GetType()
Gets the Type of the current instance.
GetValue(Int32, Int32)
Gets the matrix component at the specified position.
InfinityNorm()
Returns the infinity norm of this ComplexMatrix.
IsComponentWritable(Int32, Int32)
Gets a value indicating whether the value of the component at the specified row and column can be changed.
IsSingular()
Gets a value indicating whether the ComplexHermitianMatrix is singular.
MemberwiseClone()
Creates a shallow copy of the current Object.
Multiply(MatrixOperationSide, TransposeOperation, TransposeOperation, ComplexMatrix)
Multiplies this ComplexMatrix by another matrix and returns the result.
OneNorm()
Returns the 1-norm of this ComplexMatrix.
Rank(Double)
Returns the numerical rank of a matrix using the specified tolerance.
SetValue(DoubleComplex, Int32, Int32)
Sets the matrix component at the specified position to the specified value.
ShallowCopy()
Makes a shallow copy of this ComplexMatrix.
Solve(ComplexGeneralVector, Boolean)
Solves the system of simultaneous linear equations for the specified right-hand side ComplexVector.
Solve(ComplexGeneralMatrix, Boolean)
Solves the system of simultaneous linear equations for the specified right-hand side ComplexGeneralMatrix and optionally overwrites the right-hand side with the solution.
Solve(ComplexVector)
Solves the system of linear equations for the specified right-hand side ComplexVector.
Solve(ComplexMatrix)
Solves the system of linear equations for the specified right-hand side ComplexMatrix.
SubtractOuterProduct(ComplexVector)
Updates a hermitian matrix with the outer product of a vector and its conjugate transpose.
SubtractOuterProduct(ComplexMatrix)
Updates a hermitian matrix by subtracting the product of a matrix and its conjugate transpose.
ToGeneralMatrix()
Makes a copy of this instance and returns it as a ComplexGeneralMatrix.
ToString()
Returns a String representation of this ComplexMatrix.
ToString(String)
Returns a String representation of this ComplexMatrix.
ToString(String, IFormatProvider)
Returns a String representation of this ComplexMatrix.
Trace()
Gets the sum of the diagonal elements of this ComplexMatrix.
Transpose()
Returns the transpose of this instance.

Constructors

IconTypeDescription
ComplexHermitianMatrixNew(Int32)
Constructs a new ComplexHermitianMatrix with the specified dimension.
ComplexHermitianMatrixNew(Int32, DoubleComplex[](), MatrixTriangleMode)
Constructs a new ComplexHermitianMatrix of the specified dimension using the specified data.
ComplexHermitianMatrixNew(Int32, DoubleComplex[](), MatrixTriangleMode, Boolean)
Constructs a new ComplexHermitianMatrix of the specified dimension using the specified data.

Properties

IconTypeDescription
ColumnCount
Gets the number of columns in the ComplexMatrix.
Columns
Gets the ComplexColumnCollection for this instance.
ElementOrder
Gets a value indicating the order in which the matrix elements are stored.
Item(Int32, Int32)
Gets or sets the specified element in this ComplexMatrix.
Item(Int32, Range)
Gets or sets the components of a row of this ComplexMatrix.
Item(Range, Range)
Gets or sets the components of a submatrix of this ComplexMatrix.
Item(Range, Int32)
Gets or sets the components of a column of this ComplexMatrix.
RowCount
Gets the number of rows in the ComplexMatrix.
Rows
Gets the ComplexRowCollection for this instance.
TriangleMode
Gets a value that indicates whether the components of a ComplexHermitianMatrix are stored in the upper or lower triangle.

Remarks

Use the ComplexHermitianMatrix class to represent dense matrices whose elements are symmetrical about the main diagonal. Symmetric matrices are always square.

The components of a ComplexHermitianMatrix are stored in a one-dimensional array of DoubleComplex values. Thanks to the symmetry, only the upper or lower-triangular portion needs to be stored.

Symmetric matrices can be constructed from scratch, or they can be derived or extracted from the upper or lower triangular portion of a ComplexGeneralMatrix using one of the Extract(ComplexGeneralMatrix, Int32, Int32, Int32, MatrixTriangleMode, Boolean) methods.

The rows and column vectors of a hermitian matrix are of type

The ComplexHermitianMatrix class implements algorithms using the hermitian matrix BLAS and LAPACK routines. Symmetric matrices are always stored in column-major order.

ComplexRowVector and ComplexColumnVector, respectively.

Inheritance Hierarchy

See Also