Rheolef
7.2
an efficient C++ finite element environment
|
modified incomplete Cholesky factorization preconditionner
solver pa = mic(a);
mic
is a function that returns the modified incomplete Cholesky factorization preconditioner as a solver
. The method is described in
C-J. Lin and J. J. More, Incomplete Cholesky factorizations with limited memory, SIAM J. Sci. Comput. 21(1), pp. 24-45, 1999
It performs the following incomplete factorization: S P A P^T S
that approximates L L^T
where L
is a lower triangular factor, S
is a diagonal scaling matrix, and P
is a fill-in reducing permutation as computed by the AMDcol
ordering method.
This preconditioner supports an option related to the shifting strategy: let B = S P A P^T S
be the scaled matrix on which the factorization is carried out, and beta
be the minimum value of the diagonal. If beta > 0
then, the factorization is directly performed on the matrix B
. Otherwise, the factorization is performed on the shifted matrix B + (shift+|beta|I
where shift
is the provided option. The default value is shift = 0.001
. If the factorization fails, then the shift is doubled until it succeed or a maximum of ten is reached. If it still fails, it is better to use another preconditioning technique.
Float shift = 1e-3; solver pa = mic (a,shift);
This documentation has been generated from file linalg/lib/mic.h