Fatoração de Cholesky

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 = L L {\displaystyle A=LL^{*}}

onde L {\displaystyle L} é uma matriz triangular inferior com entradas diagonais positivas e reais, e L {\displaystyle L^{*}} denota a matriz conjugada transposta de L . {\displaystyle 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 {\displaystyle A} é hermitiana e positiva semi-definida, então ainda tem uma decomposição da forma A = L L {\displaystyle A=LL^{*}} se as entradas diagonais de L {\displaystyle L} são permitidas serem nulas.[3]

Quando A {\displaystyle A} tem entradas reais, L {\displaystyle L} também tem entradas reais e a fatorização pode ser escrita A = L L T {\displaystyle A=LL^{T}} [4]

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

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

Decomposição LDL

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

A = L D L {\displaystyle \mathbf {A=LDL} ^{*}}

onde L {\displaystyle L} é uma matriz triangular unitária e D {\displaystyle D} é uma matriz diagonal.

Esta composição é relacionada a decomposição de Cholesky clássica, da forma L L , {\displaystyle LL^{*},} como segue:

A = L D L = L D 1 2 D 1 2 L = L D 1 2 ( L D 1 2 ) {\displaystyle \mathbf {A=LDL} ^{*}=\mathbf {L} \mathbf {D} ^{\frac {1}{2}}\mathbf {D} ^{{\frac {1}{2}}{*}}\mathbf {L} ^{*}=\mathbf {L} \mathbf {D} ^{\frac {1}{2}}(\mathbf {L} \mathbf {D} ^{\frac {1}{2}})^{*}}

Ou dada a decomposição de Cholesky clássica L C h o l e s k y {\displaystyle \mathbf {L} ^{Cholesky}} a forma L D L T {\displaystyle \mathbf {L} \mathbf {D} \mathbf {L} ^{T}} pode ser achada usando a propriedade de que a diagonal de L {\displaystyle L} deve ser 1 e de que ambas a decomposição de Cholesky e a forma L D L T {\displaystyle \mathbf {L} \mathbf {D} \mathbf {L} ^{T}} são triangulos inferiores,[5] Se S {\displaystyle S} é uma matriz diagonal que contém a diagonal principal de L C h o l e s k y {\displaystyle \mathbf {L} ^{Cholesky}} então: D = S 2 {\displaystyle \mathbf {D} =\mathbf {S} ^{2}}

L = L C h o l e s k y S 1 {\displaystyle \mathbf {L} =\mathbf {L} ^{Cholesky}\mathbf {S} ^{-1}}

A variante L D L , {\displaystyle 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 L D L {\displaystyle LDL} com entradas negativas em D . {\displaystyle D.} Para esses casos, a decomposição LDL pode ser preferível. Para matrizes reais, a fatorização tem a forma A = L D L T {\displaystyle A=LDL^{T}} e é geralmente referida como uma decomposição LDLT (ou decomposição L D L T {\displaystyle LDL^{T}} ). É fortemente relacionado a decomposição em autovalores de matrizes simétricas, A = Q Λ Q T . {\displaystyle A=Q\Lambda Q^{T}.}

Exemplos

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

( 4 12 16 12 37 43 16 43 98 ) = ( 2 0 0 6 1 0 8 5 3 ) ( 2 6 8 0 1 5 0 0 3 ) {\displaystyle {\begin{aligned}\left({\begin{array}{*{3}{r}}4&12&-16\\12&37&-43\\-16&-43&98\\\end{array}}\right)=\left({\begin{array}{*{3}{r}}2&0&0\\6&1&0\\-8&5&3\\\end{array}}\right)\left({\begin{array}{*{3}{r}}2&6&-8\\0&1&5\\0&0&3\\\end{array}}\right)\end{aligned}}}

E sua decomposição L D L T : {\displaystyle LDL^{T}:}

( 4 12 16 12 37 43 16 43 98 ) = ( 1 0 0 3 1 0 4 5 1 ) ( 4 0 0 0 1 0 0 0 9 ) ( 1 3 4 0 1 5 0 0 1 ) {\displaystyle {\begin{aligned}\left({\begin{array}{*{3}{r}}4&12&-16\\12&37&-43\\-16&-43&98\\\end{array}}\right)&=\left({\begin{array}{*{3}{r}}1&0&0\\3&1&0\\-4&5&1\\\end{array}}\right)\left({\begin{array}{*{3}{r}}4&0&0\\0&1&0\\0&0&9\\\end{array}}\right)\left({\begin{array}{*{3}{r}}1&3&-4\\0&1&5\\0&0&1\\\end{array}}\right)\end{aligned}}}

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 , {\displaystyle L,} é uma versão modificada da Eliminação gaussiana.

O algoritmo recursivo começa com i := 1 {\displaystyle i:=1} e

A ( 1 ) := A {\displaystyle A^{(1)}:=A}

No passo i , {\displaystyle i,} a matriz A ( i ) {\displaystyle A^{(i)}} tem a seguinte forma:

A ( i ) = ( I i 1 0 0 0 a i , i b i 0 b i B ( i ) ) , {\displaystyle \mathbf {A} ^{(i)}={\begin{pmatrix}\mathbf {I} _{i-1}&0&0\\0&a_{i,i}&\mathbf {b} _{i}^{*}\\0&\mathbf {b} _{i}&\mathbf {B} ^{(i)}\end{pmatrix}},}

onde I i 1 {\displaystyle I_{i-1}} denota a matriz identidade de dimensão i 1. {\displaystyle i-1.}

Se nós definirmos agora a matriz L i {\displaystyle L_{i}} por

L i := ( I i 1 0 0 0 a i , i 0 0 1 a i , i b i I n i ) , {\displaystyle \mathbf {L} _{i}:={\begin{pmatrix}\mathbf {I} _{i-1}&0&0\\0&{\sqrt {a_{i,i}}}&0\\0&{\frac {1}{\sqrt {a_{i,i}}}}\mathbf {b} _{i}&\mathbf {I} _{n-i}\end{pmatrix}},}

então nós podemos escrever A ( i ) {\displaystyle A^{(i)}} como

A ( i ) = L i A ( i + 1 ) L i {\displaystyle \mathbf {A} ^{(i)}=\mathbf {L} _{i}\mathbf {A} ^{(i+1)}\mathbf {L} _{i}^{*}}

onde

A ( i + 1 ) = ( I i 1 0 0 0 1 0 0 0 B ( i ) 1 a i , i b i b i ) . {\displaystyle \mathbf {A} ^{(i+1)}={\begin{pmatrix}\mathbf {I} _{i-1}&0&0\\0&1&0\\0&0&\mathbf {B} ^{(i)}-{\frac {1}{a_{i,i}}}\mathbf {b} _{i}\mathbf {b} _{i}^{*}\end{pmatrix}}.}

Note que b i b i {\displaystyle b_{i}b_{i}^{*}} é um produto diádico, assim sendo este algoritmo é chamado de versão produto diádico em (Golub & Van Loan).

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

L := L 1 L 2 L n . {\displaystyle \mathbf {L} :=\mathbf {L} _{1}\mathbf {L} _{2}\dots \mathbf {L} _{n}.}

Referências

  1. Press, William H.; Teukolsky, Saul A.; Vetterling, William T.; Flannery, Brian P. (1992). Numerical Recipes in C: The Art of Scientific Computing (second edition). [S.l.]: Cambridge University England EPress. p. 994. ISBN 0-521-43108-5 
  2. Golub & Van Loan (1996, p. 143), Horn & Johnson (1985, p. 407), Trefethen & Bau (1997, p. 174)
  3. Golub & Van Loan (1996, p. 147)
  4. Horn & Johnson (1985, p. 407)
  5. variance – LDLT decomposition from Cholesky decomposition – Cross Validated. Stats.stackexchange.com (2016-04-21). Retrieved on 2016-11-02.
  6. Krishnamoorthy, Aravindh; Menon, Deepak (2011). «Matrix Inversion Using Cholesky Decomposition». 1111: 4144. Bibcode:2011arXiv1111.4144K. arXiv:1111.4144Acessível livremente 
Ícone de esboço Este artigo sobre matemática é um esboço. Você pode ajudar a Wikipédia expandindo-o.