Incomplete Cholesky Decomposition

버전 1.0.0 (33 KB) 작성자: Royi Avital
Implementation of the Incomplete Cholesky Decomposition with Thresholding
다운로드 수: 46
업데이트 날짜: 2022/2/27

Visitors

Sparse Incomplete Cholesky Decomposition

View Incomplete Cholesky Decomposition on File Exchange

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

  1. Download the repository.
  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.

Pre Conditioning (Solving the Linear System)

To Do

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

References

인용 양식

Royi Avital (2024). Incomplete Cholesky Decomposition (https://github.com/RoyiAvital/IncompleteCholeskyDecomposition), GitHub. 검색됨 .

MATLAB 릴리스 호환 정보
개발 환경: R2021a
모든 릴리스와 호환
플랫폼 호환성
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

GitHub 디폴트 브랜치를 사용하는 버전은 다운로드할 수 없음

버전 게시됨 릴리스 정보
1.0.0

이 GitHub 애드온의 문제를 보거나 보고하려면 GitHub 리포지토리로 가십시오.
이 GitHub 애드온의 문제를 보거나 보고하려면 GitHub 리포지토리로 가십시오.