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') e michol ('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
Saída
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

Veja também

ilu pcg chol sparse