Difference between revisions of "Error Messages/41278"
AManandhar (talk | contribs) m |
|||
(One intermediate revision by one other user not shown) | |||
Line 1: | Line 1: | ||
− | + | [[Category: Error messages]] | |
− | + | == Example messsage == | |
− | |||
− | |||
− | |||
− | |||
− | + | :<code>Array is not Hermitian in function Decompose. A Hermitian matrix is one that is equal to its own conjugate transpose, i.e.,</code> :<code> the element in the i<sup>th</sup> row and j<sup>th</sup> column is equal to the complex conjugate of the entry in the j<sup>th</sup> and i<sup>th</sup> column.</code> | |
− | = | + | == 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 [http://en.wikipedia.org/wiki/Hermitian_matrix 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 [http://en.wikipedia.org/wiki/Cholesky_decomposition Cholesky decomposition] of a matrix can only be obtained for a Hermitian matrix. | ||
+ | |||
+ | A Hermitian matrix, <code>A</code>, indexed by <code>I</code> and <code>J</code>, is a matrix with the following property: | ||
+ | :<code>A = ComplexConjugate(Transpose(A, I, J))</code> | ||
+ | |||
+ | Stated differently, this means that for any element: | ||
+ | :<code>RealPart(A[I = m, J = n]) = RealPart(A[J = m, I = n])</code> | ||
+ | :<code>ImPart(A[I = m, J = n]) = -ImPart(A[J = m, I = n])</code> | ||
+ | |||
+ | The diagonal elements are all real numbers. | ||
+ | |||
+ | ==Remedy== | ||
+ | Pass a Hermitian matrix as an input parameter to [[Decompose]]. | ||
+ | |||
+ | == See Also == | ||
+ | * [[Function calls and parameters]] | ||
+ | * [[User-Defined Functions]] | ||
+ | * [[Matrix functions]] | ||
+ | * [http://en.wikipedia.org/wiki/Hermitian_matrix Hermitian matrices] | ||
+ | * [http://en.wikipedia.org/wiki/Cholesky_decomposition Cholesky decomposition] | ||
* [[Decompose]] | * [[Decompose]] | ||
+ | * [[Complex Numbers]] | ||
+ | * [[Transpose]] | ||
+ | * [[RealPart]] | ||
+ | * [[ImPart]] | ||
+ | * [[Gaussian]] |
Latest revision as of 18:34, 20 April 2016
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