Lapack chamadas para inverter uma matriz
-
16-09-2019 - |
Pergunta
No meu entendimento, uma decomposição / fatoração (LU, QR, Cholesky, etc.) é necessário, seguido de cálculo matriz inversa baseado na fatoração. Existem outras maneiras de obter em torno dele (eu estou tentando descobrir se eu posso ficar com as 6 funções dadas gratuitamente na versão tryout de CULAtools )? Agradecemos antecipadamente para os comentários.
Solução
Claro, encontrar a Matriz Adjunta; que é uma maneira simples de inverter pequenas matricies. A Matriz Adjunta é simplesmente a transposta da matriz de co-factores, e o inverso de uma matriz quadrada é apenas o adjugate dividido pelo (escalar) determinante. Procurar esses termos na Wikipedia, se eles não estão familiarizados.
Se você estiver trabalhando w / grandes matrizes, eu comprar o pacote.
Paul
Outras dicas
As rotinas LAPACK que calculam a matriz inversa são xyyTRI
, onde x
indica o tipo de dados ( 'S' para único verdadeiro precisão, 'D' para real precisão dupla, 'C' para precisão única complexo, e 'Z' para complexo duplo de precisão) e yy
indica o tipo de matriz ( 'GE' para o caso geral de matrizes assimétricos, existem mais de 20 outros códigos de duas letras para outros tipos de matriz). Para matrizes de valor real, você normalmente usar DGETRI
, e para matrizes complexas de valor, você normalmente usar ZGETRI
.