[GSoC] Week 6: Cholesky and LDL Algorithms
This week I implemented Cholesky decomposition and LDL decomposition. In addition to that I fixed two errors In CSymPy. I was also bale to finish work with LU decomposition and merge it to master. Also, I could solve the system using fraction free LU factorization.
Cholesky decomposition can be applied to a Hermitian positive definite matrix. Hermitian matrix is a matrix with complex entries that is equal to it’s conjugate transpose . Hence a symmetric matrix with real entries can be considered as a Hermitian matrix and can be decomposed using Cholesky decomposition if it’s positive definite. A Symmetric matrix is positive definite if is greater than zero for every non zero column matrix . If the above conditions are satisfied, Cholesky decomposition for a matrix can be written as where is an lower triangular Matrix. This is equal to when is a real matrix. This factorization can be used for fast solution of the system . I am yet to use this decomposition in solving above mentioned system.
LDL decomposition is closely related to Cholesky decomposition. As the name implies, in LDL decomposition of a matrix can be written as where is a lower triangular matrix and is a diagonal matrix . This decomposition can be used for some matrices which don’t have a Cholesky decomposition.
CSymPy printing error and simplification errror
I also worked on a printing error of CSymPy and a simplification error in Mul class which is used to represent multiplication types in CSymPy. There is still some work to be done to fix simplification error completely. The most important thing was that we were able to introduce a fix which doesn’t create a considerable slow down in speed after being applied.
 Hermitian Matrix, Wikipedia Article: http://en.wikipedia.org/wiki/Hermitian_matrix
 Positive definite Matrix, Wikipedia Article: http://en.wikipedia.org/wiki/Positive-definite_matrix
 LDL Decomposition, Wikipedia Article: http://en.wikipedia.org/wiki/Cholesky_decomposition#LDL_decomposition