Eu tenho um problema em que preciso encontrar todos os pares de autovalores positivos (como o valor próprio é positivo) de uma matriz não simétrica pequena (geralmente menor que 60x60). Posso parar de calcular quando o valor próprio é menor que um determinado limite. Eu sei que os autovalores são reais. Alguma sugestão sobre algoritmos que eu poderia usar para tentar extrair o melhor desempenho? Eu tenho que fazer vários milhares dessas decomposições, então a velocidade é importante.
Agradeço antecipadamente.
EDIT: Eu preciso fazer isso na GPU na memória compartilhada. As matrizes também não são necessariamente do mesmo tamanho. Não conheço nenhuma biblioteca que faça isso no momento. Sugestões de algoritmos que seriam bem adequados ao problema seriam apreciadas.
fonte
Respostas:
Sem fazer muita pesquisa, recomendo que você analise a biblioteca MAGMA . Código disponível gratuitamente com suporte contínuo. A NVIDIA reconheceu o MAGMA como "Um avanço em solventes para problemas de autovalor".
Há também a biblioteca CULA , que geralmente é um produto comercial, embora recentemente tenha sido disponibilizado gratuitamente para uso acadêmico (veja detalhes aqui ).
fonte
Use as funções no LAPACK, é improvável que você possa vencê-las em sua própria implementação.
fonte