Неполная LU-факторизация
ilu(A,options)
[L,U] = ilu(A,options)
[L,U,P] = ilu(A,options)
ilu производит модуль нижняя треугольная матрица, верхняя треугольная матрица и матрица перестановок.
ilu(A,options) вычисляет неполную LU-факторизацию AОпции входная структура максимум с пятью опциями настройки. Поля нужно назвать, точно так же, как показано в приведенной ниже таблице. Можно включать любое количество этих полей в структуре и задать их в любом порядке. Проигнорированы любые дополнительные поля.
Имя поля | Описание |
|---|---|
| Тип факторизации. Значения для
Если |
| Пропустите допуск неполной LU-факторизации. Ненулевые записи abs(U(i,j)) >= droptol*norm(A(:,j)), за исключением диагональных элементов, которые сохраняются независимо от удовлетворения критерию. Записи abs(L(i,j)) >= droptol*norm(A(:,j))/U(j,j). |
| Модифицированная неполная LU-факторизация. Значения для
|
| Если |
| Порог центра между |
ilu(A,options) возвращает L+U-speye(size(A)), где L модуль нижняя треугольная матрица и U верхняя треугольная матрица.
[L,U] = ilu(A,options) возвращает модуль нижняя треугольная матрица в L и верхняя треугольная матрица в U.
[L,U,P] = ilu(A,options) возвращает модуль нижняя треугольная матрица в L, верхняя треугольная матрица в U, и матрица перестановок в P.
ilu работает над разреженными квадратными матрицами только.
Начните с разреженной матрицы и вычислите LU-факторизацию.
A = gallery('neumann', 1600) + speye(1600);
options.type = 'crout';
options.milu = 'row';
options.droptol = 0.1;
[L,U] = ilu(A,options);
e = ones(size(A,2),1);
norm(A*e-L*U*e)
ans =
1.4251e-014
Это показывает тот A и L*U, где L и U даны модифицированным ILU Crout, имейте ту же сумму строки.
Начните с разреженной матрицы и вычислите LU-факторизацию.
A = gallery('neumann', 1600) + speye(1600);
options.type = 'nofill';
nnz(A)
ans =
7840
nnz(lu(A))
ans =
126478
nnz(ilu(A,options))
ans =
7840
Это показывает тот A имеет 7840 ненули, полная LU-факторизация имеет 126478 ненули и неполная LU-факторизация, с 0 уровень временной замены, имеет 7840 ненули, та же сумма как A.
Эти неполные факторизации могут быть полезны как предварительные формирователи для системы линейных уравнений, решаемых итерационными методами, такими как BICG (Градиенты BiConjugate), GMRES (Обобщенный Метод минимальных невязок).
[1] Саад, Yousef, итерационные методы для разреженных линейных систем, издательства PWS, 1996, глава 10 - предварительное создание условий методов.