A decomposição LU reescreve uma matriz quadrada A como o produto de uma matriz triangular inferior L e uma matriz triangular superior U, de modo que A = LU. É a mesma aritmética da eliminação gaussiana comum, apenas empacotada para que o trabalho de eliminação possa ser reutilizado – e é exatamente por isso que é o método padrão que a maioria das bibliotecas numéricas usa para resolver sistemas lineares, inverter matrizes e calcular determinantes.

Por que se preocupar em fatorar A?

Se você precisar resolver Ax = b apenas uma vez, a eliminação gaussiana simples na matriz aumentada funciona bem. A decomposição LU compensa quando você precisa resolver Ax = b para o mesmo A em relação a muitos vetores b diferentes — uma situação comum em simulações, análise de circuitos e solucionadores iterativos. Uma vez que A = LU é calculado, cada novo b custa apenas uma substituição direta barata (resolva Ly = b) seguida por uma substituição reversa barata (resolva Ux = y), em vez de executar novamente a eliminação completa de O(n³) do zero todas as vezes.

Como o pivotamento parcial o mantém correto

A eliminação gaussiana é interrompida no momento em que um pivô (a entrada diagonal pela qual você está prestes a dividir) é zero — você não pode dividir por zero, e dividir por um número muito pequeno amplifica o erro de arredondamento. A rotação parcial corrige isso verificando as linhas restantes na coluna atual e trocando aquela que tiver o maior valor absoluto antes de eliminar. Cada troca é rastreada em uma matriz de permutação P, então a identidade que se mantém depois é P·A = L·U em vez de A = L·U. A guia Etapas desta calculadora mostra exatamente quando e por que cada troca acontece.

O determinante é um subproduto livre

Como L é triangular com 1s em sua diagonal, det(L) = 1 sempre. Como U é triangular, seu determinante é apenas o produto de sua diagonal. E como cada troca de linha inverte o sinal de um determinante, det(A) resulta em (−1)^(número de trocas) × (produto da diagonal de U) — nenhuma expansão de cofator separada é necessária. É também por isso que um zero em qualquer lugar da diagonal de U sinaliza uma matriz singular: o produto se torna zero, então det(A) = 0, não importa o que o pivô tenha feito ao longo do caminho.