Difference between revisions of "Decompose"

m (adding doc status category)
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
[[category:Matrix Functions]]
 
[[category:Matrix Functions]]
 +
[[Category:Functions that operate on complex numbers]]
 
[[Category:Doc Status C]] <!-- For Lumina use, do not change -->
 
[[Category:Doc Status C]] <!-- For Lumina use, do not change -->
  
'''Decompose(C,I,J)'''
+
==Decompose(C, I, J)==
  
Returns the Cholesky decomposition (square root) matrix of
+
Returns the Cholesky decomposition (square root) matrix of matrix «C» along dimensions «I» and «J». Matrix «C» must be symmetric
matrix C along dimensions I and J. Matrix C must be symmetric
+
and positive-definite. (Positive-definite means that ''v*C*v > 0'', for all vectors ''v''.)
and positive-definite. (Positive-definite means that v * C * v > 0,
 
for all vectors v.)
 
  
Cholesky decomposition computes a lower diagonal matrix L
+
Cholesky decomposition computes a lower diagonal matrix ''L'' such that ''L*L' = C'', where ''L''' is the transpose of ''L''.
such that L * L' = C, where L' is the transpose of L.
+
 
 +
== Testing for positive definiteness ==
 +
To avoid an error, the following [[User-Defined Functions|user-defined function]] can be used to test for positive definiteness:
 +
 
 +
Declaration:
 +
:'''IsPosDefinite'''(A: Number[I, J]; I, J: Index)
 +
Description:
 +
:Returns true (1) if «A» is positive-definite, 0 (false) otherwise.
 +
Definition:
 +
::<code>Min(EigenDecomp(A + Transpose(A, I, J), I, J)[.Item = 'value'], J) > 0</code>
 +
 
 +
== Complex numbers ==
 +
When «C» contains [[Complex Numbers|complex numbers]], then the matrix must be [http://en.wikipedia.org/wiki/Hermitian_matrix Hermitian] and positive definite. The Hermitian condition is the same as the symmetric condition for real-valued matrices, but requires the [[transpose]] to be the complex conjugate of the matrix.
 +
 
 +
== See Also ==
 +
* [[SingularValueDecomp]]
 +
* [[EigenDecomp]]
 +
* [[Transpose]]
 +
* [[MatrixMultiply]]
 +
* [[Matrix functions]]
 +
* [[Complex Numbers]]

Latest revision as of 23:03, 8 March 2016


Decompose(C, I, J)

Returns the Cholesky decomposition (square root) matrix of matrix «C» along dimensions «I» and «J». Matrix «C» must be symmetric and positive-definite. (Positive-definite means that v*C*v > 0, for all vectors v.)

Cholesky decomposition computes a lower diagonal matrix L such that L*L' = C, where L' is the transpose of L.

Testing for positive definiteness

To avoid an error, the following user-defined function can be used to test for positive definiteness:

Declaration:

IsPosDefinite(A: Number[I, J]; I, J: Index)

Description:

Returns true (1) if «A» is positive-definite, 0 (false) otherwise.

Definition:

Min(EigenDecomp(A + Transpose(A, I, J), I, J)[.Item = 'value'], J) > 0

Complex numbers

When «C» contains complex numbers, then the matrix must be Hermitian and positive definite. The Hermitian condition is the same as the symmetric condition for real-valued matrices, but requires the transpose to be the complex conjugate of the matrix.

See Also

Comments


You are not allowed to post comments.