Error Messages/41278
Example messsage
Array is not Hermitian in function Decompose. A Hermitian matrix is one that is equal to its own conjugate transpose, i.e.,
:the element in the ith row and jth column is equal to the complex conjugate of the entry in the jth and ith column.
Cause
You have passed a matrix to the system function Decompose (or to a user-defined function that uses Decompose, such as Gaussian), that contains at least one complex (non-real) number and that is not Hermitian. Non-Hermitian basically means non-symmetric as it usually applies to matrices containing complex numbers (when a matrix contains all real-valued numbers, the concept of Hermitian is the same as the concept of being symmetrical). The Cholesky decomposition of a matrix can only be obtained for a Hermitian matrix.
A Hermitian matrix, A
, indexed by I
and J
, is a matrix with the following property:
A = ComplexConjugate(Transpose(A, I, J))
Stated differently, this means that for any element:
RealPart(A[I = m, J = n]) = RealPart(A[J = m, I = n])
ImPart(A[I = m, J = n]) = -ImPart(A[J = m, I = n])
The diagonal elements are all real numbers.
Remedy
Pass a Hermitian matrix as an input parameter to Decompose.
Enable comment auto-refresher