table of contents
ilut(5rheolef) | ilut(5rheolef) |
NAME¶
ilut - incomplete LU factorization preconditionner (rheolef-7.2)
SYNOPSIS¶
solver pa = ilut(a);
DESCRIPTION¶
ilut is a function that returns the dual threshold incomplete LU factorization preconditionner of its argument as a solver(4). The method is described in
Yousef Saad,
ILUT: a dual threshold incomplete LU factorization,
Numer. Lin. Algebra Appl., 1(4), pp 387-402, 1994.
OPTIONS¶
During the factorization, two dropping rules are used and ilut supports two options:
drop_tol (float)
Any element whose magnitude is less than some tolerance is dropped. This tolerance is obtained by multiplying the option tolerance drop_tol by the average magnitude of all the original elements in the current row. By default, drop_tol is 1000*epsilon where epsilon is the machine precision associated to the Float_2 type.
fill_factor (integer)
On each row, after elimination, only the n_fillin largest elements in the L part and the fill largest elements in the U part are kept, in addition to the diagonal elements. The option fill_factor is used to compute n_fillin: n_fillin = (nnz*fill_factor)/n + 1 where n is the matrix size and nnz is its total number of non-zero entires. With fill_factor=1, the incomplete factorization as about the same non-zero entries as the initial matrix. With fill_factor=n, the factorization is complete, up to the dropped elements. By default fill_factor=10.
EXAMPLE¶
int fill_factor = 10; double drop_tol = 1e-12; solver pa = ilut (a, fill_factor, drop_tol);
IMPLEMENTATION¶
This documentation has been generated from file linalg/lib/ilut.h
AUTHOR¶
Pierre Saramito <Pierre.Saramito@imag.fr>
COPYRIGHT¶
Copyright (C) 2000-2018 Pierre Saramito <Pierre.Saramito@imag.fr> GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
Version 7.2 | rheolef |