Digite uma matriz quadrada, abra a aba Decomposições e clique em LU(A). Como a resposta é um par de matrizes, e não uma só, ela vive inteiramente no painel de passo a passo, que abre sozinho e mostra L e U lado a lado no fim. Cholesky(A) fica na mesma aba, para o caso simétrico explicado abaixo.
O que são os fatores
A LU escreve A = L·U, com L triangular inferior e U triangular superior. Nenhuma das duas é misteriosa: U é exatamente a forma escalonada que a eliminação de Gauss produz, e L guarda os multiplicadores usados no caminho. Fazer a eliminação uma vez entrega as duas.
Exemplo resolvido
| 4 | 3 |
| 6 | 3 |
| 1 | 0 |
| 3/2 | 1 |
| 4 | 3 |
| 0 | −3/2 |
O 3/2 em L é o multiplicador que zerou o 6 abaixo do pivô. Repare que o determinante saiu de graça: multiplique a diagonal de U e obtenha 4 · (−3/2) = −6, vezes −1 a cada troca de linha realizada.
Por que vale a pena
Porque a fatoração é reaproveitável. Resolver Ax = b do zero custa cerca de n³/3 operações. Com L e U em mãos, cada novo lado direito custa apenas n²: resolva Ly = b por substituição direta e depois Ux = y por substituição retroativa. Se você resolve o mesmo sistema contra muitos vetores b diferentes — o caso normal em engenharia e simulação — a economia é enorme. Para uma matriz 100×100 e cinquenta lados direitos, isso é uma fatoração mais cinquenta passagens baratas, em vez de cinquenta eliminações completas.
Substituição direta e retroativa, na prática
Tome a matriz 3×3 carregada acima. Uma eliminação entrega os dois fatores:
| 2 | 1 | 1 |
| 4 | −6 | 0 |
| −2 | 7 | 2 |
| 1 | 0 | 0 |
| 2 | 1 | 0 |
| −1 | −1 | 1 |
| 2 | 1 | 1 |
| 0 | −8 | −2 |
| 0 | 0 | 1 |
Os elementos de L são exatamente os multiplicadores usados na eliminação: 2 zerou o 4, −1 zerou o −2, e −1 zerou o que sobrou na segunda coluna. Agora resolva Ax = b com b = (4, −2, 7). Primeiro Ly = b, de cima para baixo, cada linha dando um valor novo de imediato porque tudo à direita dela é zero:
y₁ = 4; depois 2·4 + y₂ = −2, então y₂ = −10; depois −4 + 10 + y₃ = 7, então y₃ = 1.
Em seguida Ux = y, de baixo para cima: x₃ = 1; depois −8x₂ − 2 = −10, então x₂ = 1; depois 2x₁ + 1 + 1 = 4, então x₁ = 1. A solução é (1, 1, 1), obtida sem uma única divisão por algo que não fosse um elemento da diagonal. O determinante vem de graça dos mesmos fatores: 2 · (−8) · 1 = −16.
Pivotamento
Nem toda matriz admite um A = L·U simples: um zero na posição do pivô quebra o método. A saída é uma matriz de permutação, resultando em P·A = L·U. Na prática o pivotamento é usado de qualquer forma, porque escolher o maior pivô disponível mantém os erros de arredondamento sob controle. A fatoração é única depois de fixada uma convenção; esta calculadora usa a de Doolittle, que põe uns na diagonal de L.
Cholesky: o caso simétrico
Se A for simétrica e definida positiva, ela fatora como A = L·Lᵀ — uma raiz quadrada para matrizes, com um único fator triangular. Simétrica significa A = Aᵀ; definida positiva significa que todo autovalor é maior que zero. Parece restritivo, mas as matrizes que isso descreve estão em toda parte: matrizes de covariância, matrizes de Gram, as equações normais dos mínimos quadrados e as matrizes de rigidez de elementos finitos são todas simétricas definidas positivas por construção.
| 4 | 2 |
| 2 | 5 |
| 2 | 0 |
| 1 | 2 |
| 2 | 1 |
| 0 | 2 |
Cada elemento da diagonal de L é uma raiz quadrada — aqui √4 = 2 e √(5 − 1²) = 2 — e é por isso que o método exige que a quantidade sob cada raiz continue positiva. Essa exigência é exatamente a definição positiva, o que transforma o algoritmo num teste: se a decomposição completa, a matriz é definida positiva; se ela topa com um valor não positivo sob a raiz, não é. Cholesky é cerca de duas vezes mais rápida que a LU, usa metade da memória e é estável sem pivotamento, e é por isso que os solucionadores testam a simetria primeiro e recorrem a ela sempre que podem.
Erros comuns
- Supor que toda matriz fatora. Um zero na posição do pivô quebra a LU simples. A saída é uma matriz de permutação:
P·A = L·U. - Usar Cholesky numa matriz não simétrica. A = L·Lᵀ é simétrica por construção, então uma entrada não simétrica não tem essa fatoração. Use LU.
- Achar que basta ser simétrica. Uma matriz simétrica com autovalor negativo é indefinida e falha no meio do algoritmo.
- Esperar fatores inteiros. A diagonal de Cholesky envolve raízes quadradas, então L costuma ser irracional mesmo quando A não é.
- Esquecer as trocas de linha no determinante. Cada troca inverte o sinal.