Fatoração de Cholesky

Fonte: testwiki
Revisão em 21h49min de 30 de julho de 2023 por imported>Samuel Ribeiro dos Santos1 (growthexperiments-addlink-summary-summary:2|1|0)
(dif) ← Revisão anterior | Revisão atual (dif) | Revisão seguinte → (dif)
Saltar para a navegação Saltar para a pesquisa

Em álgebra linear, a decomposição de Cholesky ou fatoração de Cholesky é uma decomposição de uma matriz hermitiana e positiva definida no produto de uma matriz triangular inferior e sua matriz adjunta, o que é útil por exemplo para soluções numéricas eficientes e simulações de Monte Carlo. Foi descoberta por André-Louis Cholesky para matrizes reais. Quando é aplicável, a decomposição de Cholesky é aproximadamente duas vezes mais eficiente que a decomposição LU para resolver sistemas de equações lineares.[1]

Definição

A decomposição de Cholesky de uma matriz Hermitiana positiva definida "A" se dá da forma:

A=LL*

onde L é uma matriz triangular inferior com entradas diagonais positivas e reais, e L* denota a matriz conjugada transposta de L. Toda matriz hermitiana positiva-definida (e portanto também toda matriz real simétrica e positiva-definida) tem uma única decomposição de Cholesky.[2]

Se a matriz A é hermitiana e positiva semi-definida, então ainda tem uma decomposição da forma A=LL* se as entradas diagonais de L são permitidas serem nulas.[3]

Quando A tem entradas reais, L também tem entradas reais e a fatorização pode ser escrita A=LLT[4]

A decomposição de Cholesky é única quando A é positiva definida; existe apenas uma matriz triangular inferior L com entradas diagonais estritamente positivas tais que A=LL*, contudo, a decomposição não precisa ser única quando A é positiva semidefinida.

O inverso é trivial: se A pode ser escrita como LL* para alguma L inversível, triangular inferior ou de outra forma, então A é hermitiana e positiva definida.

Decomposição LDL

Uma variante fortemente relacionada da decomposição de Cholesky clássica é a decomposição LDL,

𝐀=𝐋𝐃𝐋*

onde L é uma matriz triangular unitária e D é uma matriz diagonal.

Esta composição é relacionada a decomposição de Cholesky clássica, da forma LL*, como segue:

𝐀=𝐋𝐃𝐋*=𝐋𝐃12𝐃12*𝐋*=𝐋𝐃12(𝐋𝐃12)*

Ou dada a decomposição de Cholesky clássica 𝐋Cholesky a forma 𝐋𝐃𝐋T pode ser achada usando a propriedade de que a diagonal de L deve ser 1 e de que ambas a decomposição de Cholesky e a forma 𝐋𝐃𝐋T são triangulos inferiores,[5] Se S é uma matriz diagonal que contém a diagonal principal de 𝐋Cholesky então: 𝐃=𝐒2

𝐋=𝐋Cholesky𝐒1

A variante LDL, se eficientemente implementada, requer o mesmo espaço e complexidade computacional para construir e usar, mas evita extrair raízes quadradas.[6] Para matrizes indefinidas para as quais não existe a decomposição de Cholesky têm uma decomposição LDL com entradas negativas em D. Para esses casos, a decomposição LDL pode ser preferível. Para matrizes reais, a fatorização tem a forma A=LDLT e é geralmente referida como uma decomposição LDLT (ou decomposição LDLT). É fortemente relacionado a decomposição em autovalores de matrizes simétricas, A=QΛQT.

Exemplos

Eis uma decomposição de Cholesky de uma matriz simétrica real:

(41216123743164398)=(200610853)(268015003)

E sua decomposição LDLT:

(41216123743164398)=(100310451)(400010009)(134015001)

Algoritmo computacional

Padrão de acesso (branco) e padrão de escrita (amarelo) para o algoritmo Cholesky — Banachiewicz em uma matriz 5 × 5

O algoritmo de Cholesky, usado para calcular a matriz de decomposição L, é uma versão modificada da Eliminação gaussiana.

O algoritmo recursivo começa com i:=1 e

A(1):=A

No passo i, a matriz A(i) tem a seguinte forma:

𝐀(i)=(𝐈i1000ai,i𝐛i*0𝐛i𝐁(i)),

onde Ii1 denota a matriz identidade de dimensão i1.

Se nós definirmos agora a matriz Li por

𝐋i:=(𝐈i1000ai,i001ai,i𝐛i𝐈ni),

então nós podemos escrever A(i) como

𝐀(i)=𝐋i𝐀(i+1)𝐋i*

onde

𝐀(i+1)=(𝐈i10001000𝐁(i)1ai,i𝐛i𝐛i*).

Note que bibi* é um produto diádico, assim sendo este algoritmo é chamado de versão produto diádico em (Golub & Van Loan).

Repete-se isto para i de 1 a n. Depois de n passos, têm-se A(n+1)=I. Consequentemente, a matriz triangular inferior L que estamos procurando é calculado como

𝐋:=𝐋1𝐋2𝐋n.

Predefinição:Referências

Predefinição:Mínimo sobre