Description
Decomposes the matrix A into a triangular form L such that L*L.Transpose() = A, or a triangular form L, a permutation matrix P, and a diagonal matrix D such that P^T*L*D*L^T*P = A. The version used depends on the overload chosen. By default, L will be a lower triangle form, unless an upper triangle form is specified.
Timing Precision Mode
This page describes functionality in nanosecond timing precision mode.
Click here to see the documentation for this object in millisecond timing precision mode.
Method Signature
Arguments
L
|
|
Description:
|
The lower triangular decomposition of the matrix.
|
D
|
|
Description:
|
The diagonal matrix of the decomposition of the matrix.
|
P
|
|
Description:
|
The permutation matrix of the decomposition of the matrix.
|
Syntax
myMatrix1.CholeskyDecomposition(myMatrix2, myMatrix3, myMatrix4);
|
This example shows how to calculate the Cholesky decomposition of a Matrix m such that m = P.Transpose*L*D*L.Transpose*P.
Matrix m;
Matrix L;///Lower Triangle Matrix
Matrix D;///Diagonal Matrix
Matrix P;///Permutation Matrix
m = [ 86.369050169, -53.589688429, 21.550668165;
-53.589688429, 66.607779930, -33.357806584;
21.550668165, -33.357806584, 52.400058718 ];
m.CholeskyDecomposition(L, D, P);
Report L, D, P;
|
Output report:
L = 1.000000000 0.000000000 0.000000000
-0.620473287 1.000000000 0.000000000
0.249518411 -0.599163793 1.000000000
D = 86.369050169 0.000000000 0.000000000
0.000000000 33.356809816 0.000000000
0.000000000 0.000000000 35.047767237
P = 1.000000000 0.000000000 0.000000000
0.000000000 1.000000000 0.000000000
0.000000000 0.000000000 1.000000000
|
|
See also
Matrix Object
Matrix.CholeskyDecomposition
Matrix, Array, and Variable Math Guide
|