chol

Fatoração de Cholesky de uma matriz simétrica positiva definida.

Categoria: Mathematics > Linear Algebra

Sintaxe

R = chol(A)

Retorna a triangular superior R com R'*R = A.

L = chol(A, 'lower')

Retorna a triangular inferior L com L*L' = A.

[R, p] = chol(A)

Não gera erro quando A não é positiva definida; p vale 0 em caso de sucesso.

Descrição

Uma matriz é positiva definida quando é simétrica e todos os seus autovalores são positivos. Tal matriz se fatora de modo único como R'*R, com R triangular superior e diagonal positiva. A fatoração custa cerca de metade de lu e é numericamente estável sem pivotamento.

Serve para resolver sistemas com x = R\(R'\b), para testar barato se uma matriz é positiva definida (use a forma de duas saídas) e para gerar números aleatórios correlacionados a partir de uma matriz de covariância. Com uma única saída, uma matriz que não é positiva definida gera um erro.

Argumentos de entrada

A
Matriz quadrada simétrica (ou hermitiana). Apenas o triângulo superior é lido.
'lower'
Opção que retorna o fator triangular inferior.

Argumentos de saída

R
Fator triangular com diagonal positiva.
p
0 se A é positiva definida; caso contrário, o índice do pivô que falhou, e R é o fator do bloco principal de ordem p - 1.

Exemplo

Fatorar, conferir e um caso que falha

A = [4 2; 2 3];
R = chol(A)
R'*R
L = chol(A, 'lower')
[~, p] = chol([1 2; 2 1])
Saída
R = 2×2

    2.0000    1.0000
         0    1.4142
ans = 2×2

    4.0000    2.0000
    2.0000    3.0000
L = 2×2

    2.0000         0
    1.0000    1.4142
p = 2

Veja também

cholupdate lu ldl qr eig