Estou aplicando o método das diferenças finitas em um sistema de 3 equações acopladas. Duas das equações não são acopladas, no entanto, a terceira equação se une às outras duas. Notei que, alterando a ordem das equações, digamos de para que a matriz do coeficiente se torna simétrica.( x , z , y )
Existe alguma vantagem em fazer isso? Por exemplo, em termos de estabilidade ou eficiência / velocidade da solução. As matrizes são altamente esparsas; se isso for importante, os termos diferentes de zero são ao longo das diagonais centrais.
finite-difference
symmetry
boyfarrell
fonte
fonte
Respostas:
Absolutamente!
Primeiro, alguns sistemas de álgebra linear são inteligentes o suficiente para armazenar apenas metade da matriz, o que pode economizar um monte de memória. Mas, mesmo que não seja esse o caso, vários algoritmos na álgebra linear numérica explorarão a simetria.
Por exemplo, dada uma matriz simétrica, qualquer resolvedor eletrônico saberá imediatamente que todos os valores próprios são de valor real e o método da solução pode usar esse fato.
Uma coisa típica em que muitas pessoas pensam são os métodos do subespaço de Krylov para a solução dos sistemas de equações : Se o seu problema é simétrico, você sabe que não precisa de métodos para problemas não simétricos como o GMRES e pode residir em algo menos intensivo em memória, como MINRES, ou - se sua matriz também for positiva - CG. O comportamento de convergência dos métodos de Krylov não é influenciado por permutações; portanto, você pode usar métodos simétricos para o seu sistema não-permutado.Ax=b
Outro exemplo é o de fatoração sua matriz em que uma parte triangular inferior e uma parte superior triangular . Se é simétrico, então , e você só precisa armazenar um fator ( decomposição de Cholesky ).L U A A = L L TA=LU L U A A=LLT
fonte