Question: Cholesky Decomposition output not normalized - implementation unclear

Hello

we have a matrix A (s.p.d) and b where LDL^t=A is the cholesky decompositon.

Why is the commands output

LUDecomposition(A, method = 'Cholesky', output = ['L', 'U']);

different from the output described in books or wikipedia.

To be exact:

L, the lower triangular matrix, is not normalized (the diagonal entries should be 1, they are not!)
L^t (upper triangular matrix) too.
D is not available for Cholesky at all.

 

If we calculate it with GaussianElimination

LUDecomposition(A, output = ['L', 'U'])

L is the wanted normalized lower triangular matrix, but its not normalized with cholesky.

And the DIAGONAL enntries are the wanted diagonal matrix D with cholesky.

 

This output is very confusing. Please can someone explain how to use/get the correct decomposition?

A example worksheet is attached.

Thank you :)!


 

with(LinearAlgebra)

[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CARE, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, ColumnSpace, CompanionMatrix, CompressedSparseForm, ConditionNumber, ConstantMatrix, ConstantVector, Copy, CreatePermutation, CrossProduct, DARE, DeleteColumn, DeleteRow, Determinant, Diagonal, DiagonalMatrix, Dimension, Dimensions, DotProduct, EigenConditionNumbers, Eigenvalues, Eigenvectors, Equal, ForwardSubstitute, FrobeniusForm, FromCompressedSparseForm, FromSplitForm, GaussianElimination, GenerateEquations, GenerateMatrix, Generic, GetResultDataType, GetResultShape, GivensRotationMatrix, GramSchmidt, HankelMatrix, HermiteForm, HermitianTranspose, HessenbergForm, HilbertMatrix, HouseholderMatrix, IdentityMatrix, IntersectionBasis, IsDefinite, IsOrthogonal, IsSimilar, IsUnitary, JordanBlockMatrix, JordanForm, KroneckerProduct, LA_Main, LUDecomposition, LeastSquares, LinearSolve, LyapunovSolve, Map, Map2, MatrixAdd, MatrixExponential, MatrixFunction, MatrixInverse, MatrixMatrixMultiply, MatrixNorm, MatrixPower, MatrixScalarMultiply, MatrixVectorMultiply, MinimalPolynomial, Minor, Modular, Multiply, NoUserValue, Norm, Normalize, NullSpace, OuterProductMatrix, Permanent, Pivot, PopovForm, ProjectionMatrix, QRDecomposition, RandomMatrix, RandomVector, Rank, RationalCanonicalForm, ReducedRowEchelonForm, Row, RowDimension, RowOperation, RowSpace, ScalarMatrix, ScalarMultiply, ScalarVector, SchurForm, SingularValues, SmithForm, SplitForm, StronglyConnectedBlocks, SubMatrix, SubVector, SumBasis, SylvesterMatrix, SylvesterSolve, ToeplitzMatrix, Trace, Transpose, TridiagonalForm, UnitVector, VandermondeMatrix, VectorAdd, VectorAngle, VectorMatrixMultiply, VectorNorm, VectorScalarMultiply, ZeroMatrix, ZeroVector, Zip]

(1)

b := `<,>`(1, 2, 2)

Vector[column](%id = 18446744078207759414)

(2)

A := Matrix(3, 3, {(1, 1) = 4, (1, 2) = 6, (1, 3) = 2, (2, 1) = 6, (2, 2) = 10, (2, 3) = 8, (3, 1) = 2, (3, 2) = 8, (3, 3) = 30})

Matrix(%id = 18446744078207760614)

(3)

LUDecomposition(A, method = 'Cholesky', output = ['L', 'U'])

Matrix(%id = 18446744078207732662), Matrix(%id = 18446744078207732422)

(4)

LUDecomposition(A, output = ['L', 'U'])

Matrix(%id = 18446744078207771822), Matrix(%id = 18446744078207772062)

(5)

``


 

Download dasfindetnichtmalpeterlustig.mw

 

dasfindetnichtmalpeterlustig.mw

 

Please Wait...