ichol
Fatoração de Cholesky incompleta de uma matriz esparsa simétrica definida positiva.
Categoria: Mathematics > Sparse Matrices
Sintaxe
L = ichol(A)
Retorna uma L triangular inferior esparsa com o mesmo padrão de não nulos de tril(A) tal que L*L' aproxima A.
L = ichol(A, opts)
Escolhe a variante com uma struct: type é 'nofill' ou 'ict', além de opções como droptol e michol.
Descrição
Uma fatoração de Cholesky completa de uma matriz esparsa cria muitos novos não nulos (preenchimento). A versão incompleta descarta a maior parte deles, mantendo um fator esparso mas apenas aproximadamente igual a A. Não serve para resolver o sistema diretamente: L*L' funciona como pré-condicionador do pcg, que passa a convergir em bem menos iterações.
A fatoração pode falhar com um erro se surgir um pivô não positivo.
Argumentos de entrada
A- Matriz esparsa, simétrica e definida positiva. Só o triângulo inferior é lido.
opts- Struct com os campos
type,droptol(para'ict') emichol('on'ou'off').
Argumentos de saída
L- Fator de Cholesky incompleto, triangular inferior esparso.
Exemplo
Pré-condicionando o pcg
A = sparse(diag(4*ones(5,1)) + diag(ones(4,1),1) + diag(ones(4,1),-1));
L = ichol(A);
full(L)
b = (1:5)';
[x, flag] = pcg(A, b, 1e-10, 50, L, L');
flag
ans = 5×5
2.0000 0 0 0 0
0.5000 1.9365 0 0 0
0 0.5164 1.9322 0 0
0 0 0.5175 1.9319 0
0 0 0 0.5176 1.9319
flag = 0