numpy précision arbitraire d'algèbre linéaire

J'ai un numpy tableau 2d [moyenne/grande taille - dire 500x500]. Je veux trouver les valeurs propres de l'élément-sage de l'exposant. Le problème est que certaines de ces valeurs sont assez négatifs (-800,-1000, etc), et leurs exposants underflow (ce qui signifie qu'ils sont si proches de zéro, de sorte que numpy les traite comme de zéro). Est-il de toute façon à utiliser en précision arbitraire dans numpy?

La façon dont je rêve:

import numpy as np

np.set_precision('arbitrary') # <--- Missing part
a = np.array([[-800.21,-600.00],[-600.00,-1000.48]])
ex = np.exp(a)  ## Currently warns about underflow
eigvals, eigvecs = np.linalg.eig(ex)

J'ai cherché une solution avec gmpy et mpmath en vain. Toute idée sera la bienvenue.

Je serais à la recherche d'une solution qui n'implique pas l'exponentiation
Heffernan eh Bien, c'est le problème physique, je suis de problèmes. Je ne pouvais pas trouver un moyen de faire la diagonalisation avant de les exposants.
Soins à donner plus de détails? Votre déclaration ex = np.exp(a) semble être hors contexte, car eigvals, eigvecs = np.linalg.eig(a) donne parfaitement raisonnable de répondre. Mais ex devrait être traitée comme une matrice 2x2, où tous les éléments sont égaux à zéro. Merci
Maintenant, qu'attendez-vous les valeurs propres et les vecteurs d'une matrice de nulle éléments? Merci
Redimensionner votre problème? Pour presque toutes les pratiques propose exp(-1000.) est égal à zéro.

OriginalL'auteur jarondl | 2011-07-29