J'ai un problème où j'ai besoin de trouver toutes les paires propres positives (car la valeur propre est positive) d'une petite matrice non symétrique (généralement inférieure à 60x60). Je peux arrêter de calculer lorsque la valeur propre est inférieure à un certain seuil. Je sais que les valeurs propres sont réelles. Des suggestions sur les algorithmes que je pourrais utiliser pour essayer d'obtenir les meilleures performances? Je dois faire plusieurs milliers de ces décompositions, donc la vitesse est importante.
Merci d'avance.
EDIT: J'ai besoin de le faire sur le GPU en mémoire partagée. Les matrices n'ont pas non plus nécessairement la même taille. Je ne connais aucune bibliothèque qui le fasse pour le moment. Des suggestions d'algorithmes qui seraient bien adaptés au problème seraient appréciées.
la source
Réponses:
Sans faire beaucoup de recherche, je vous recommande de consulter la bibliothèque MAGMA . Code disponible gratuitement avec un support continu. NVIDIA a reconnu MAGMA comme une "percée dans les solveurs pour les problèmes de valeurs propres".
Il existe également la bibliothèque CULA , qui est généralement un produit commercial, bien que récemment, elle ait été rendue gratuite pour un usage académique (voir les détails ici ).
la source
Utilisez les fonctions de LAPACK, il est peu probable que vous puissiez les battre dans votre propre implémentation.
la source