## Incomplete Cholesky Decomposition

version 1.0.0 (33 KB) by
Implementation of the Incomplete Cholesky Decomposition with Thresholding

Updated 24 Sep 2021

From GitHub

# Sparse Incomplete Cholesky Decomposition

Implementation of the Incomplete Cholesky Decomposition with few methods.
The project includes a C implementation with a MATLAB MEX wrapper.

The aim is to have 3 variants of the incomplete decomposition:

1. Threshold (IC(\tau))
Using a threshold, $\tau$ to define which elements will be kept from the decomposition.
It can be using global threshold or by a column.
Implemented
2. Pattern (IC(l))
Filling elements which are up to l steps in the graph of the matrix A. For l = 0 called Zero Fill where filling zeros in elements not defined by the pattern.
Also could be filled by a given pattern of sparsity (So given A as the pattern it matches l = 0).
Not Implemented
3. Number of Non Zero Elements (IC(p))
Keeps the largest p elements per column.
Not Implemented

## Generating MATLAB MEX

2. Run MakeMex in MATLAB with pre defined MATLAB MEX Compiler.
3. Go through the Unit Tests and the Run Time Analysis.

The MEX Wrapper supports only Sparse Real Matrices of Type Double.

## Performance

Comparing the performance with MATLAB's functions.

## Decomposition

The MEX file and MATLAB's ICT were the most memory efficient.

## To Do

• Move the array sorting related code to a dedicated repository with complete run time analysis.

## References

### Cite As

Royi Avital (2022). Incomplete Cholesky Decomposition (https://github.com/RoyiAvital/IncompleteCholeskyDecomposition), GitHub. Retrieved .

##### MATLAB Release Compatibility
Created with R2021a
Compatible with any release
##### Platform Compatibility
Windows macOS Linux