Proofs: Incomplete Cholesky factorization
These are the human proofs of Incomplete Cholesky factorization, at full length.
Cost of IC(0) and of applying it full
This proof shows: time.worst, space.extra, flops.solve, square_roots.worst.
Let bound the number of nonzeros in a row of the lower triangle of , so each row of has at most entries.
Factorization. For row and each of its at most off-diagonal positions , L3 intersects the partial row (at most entries) with row (at most entries); iterating over the smaller one with constant time dictionary lookups costs . L4 is one division. L5 costs and L7 one square root. So row costs , and the factorization time with exactly square roots when it succeeds (at most in any case).
Storage. The rows of hold entries; extracting the lower part of row takes temporary space. So extra space.
Applying . The forward sweep with does one multiplication and one subtraction per off-diagonal entry and one division per row: flops. The backward sweep with does the same: . Total flops.
IC(0) satisfies the pattern equations and terminates full
This proof shows: correctness, termination.
Exact arithmetic. Notation of the page; write , the entries of . Entries of outside are .
Theorem 1 (pattern equations). If the code returns , then is lower triangular with positive diagonal, only for , and for all .
Proof. Rows are built in order and only positions in are written, so the pattern claim holds, and by L6 and L7. Fix with . When L3 runs, rows are complete and for has already been computed (increasing order in L2). So
and only with and contribute to the sum; L3 sums exactly these terms and L4 sets . So . For the diagonal, by L5 and L7. By symmetry of and of , the equations hold for the transposed positions too.
Corollary (full pattern). If is the whole lower triangle, Theorem 1 gives entrywise, so is its Cholesky factor, which is unique among lower triangular factors with positive diagonal.
Lemma 2 (breakdown means a bad pivot). If the code returns BREAKDOWN at row , then for the rows already computed. If is the whole lower triangle, this happens if and only if is not positive definite.
Proof. The first claim is L5 and L6. For the full pattern, rows form the Cholesky factor of the leading block , and is the Schur complement , whose sign is the sign of . By Sylvester's criterion all exactly when the matrix is positive definite.
Theorem 3 (termination). Each row performs at most executions of L3 and L4, each a finite sum, and one of L5 to L7. So after at most rows the code returns , or BREAKDOWN at the first row with .