It performs the following incomplete factorization: where L is a lower triangular factor, S is a diagonal scaling matrix, P is a fill-in reducing permutation as computed by the ordering method, and is a shift for ensuring the decomposed matrix is positive definite.
Shiftingstrategy: Let be the scaled matrix on which the factorization is carried out, and be the minimum value of the diagonal. If then, the factorization is directly performed on the matrix B, and . Otherwise, the factorization is performed on the shifted matrix for a shifting factor . We start with , where is the initial shift value as returned and set by setInitialShift() method. The default value is . If the factorization fails, then the shift in doubled until it succeed or a maximum of ten attempts. If it still fails, as returned by the info() method, then you can either increase the initial shift, or better use another preconditioning technique.
Inheritance diagram for Eigen::IncompleteCholesky< Scalar, UpLo_, OrderingType_ >: