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, eRé o fator do bloco principal de ordemp - 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])
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