Python et valeurs exactes
Voilà mon problème, j'ai une matrice, par exemple : $\begin{bmatrix}
1/2 & 2/3\\
1/2& 1/3
\end{bmatrix}$
Je veux que Python me calcule les valeurs propres et la matrice de passage
avec Numpy, ça donne ça :
Moi je voudrais :
$\begin{bmatrix}
1 & -1/6
\end{bmatrix}$ et $\begin{bmatrix}
4/5 & -\sqrt{2}/2\\
3/5& \sqrt{2}/2
\end{bmatrix}$
Voilà les bidouillages que j'ai fait, mais c'est loin d'être satisfaisant
Qui me donne :
et après pour plus de mise en forme , je la passe en sympy
et j'arrive là :
Donc, c'est bon pour les fractions (après beaucoup de circonvolutions), mais les racines carrées ne sont pas reconnues.
A noter, numpy ne veut pas travailler avec les objets fractions
Tout ça c'est pas très satisfaisant, mais malgré mes recherches, j'ai rien trouvé que du bricolage.
1/2 & 2/3\\
1/2& 1/3
\end{bmatrix}$
Je veux que Python me calcule les valeurs propres et la matrice de passage
avec Numpy, ça donne ça :
np.linalg.eigvals(A) Out[13]: array([ 1. , -0.16666667]) np.linalg.eig(A)[1] Out[14]: array([[ 0.8 , -0.70710678], [ 0.6 , 0.70710678]])
Moi je voudrais :
$\begin{bmatrix}
1 & -1/6
\end{bmatrix}$ et $\begin{bmatrix}
4/5 & -\sqrt{2}/2\\
3/5& \sqrt{2}/2
\end{bmatrix}$
Voilà les bidouillages que j'ai fait, mais c'est loin d'être satisfaisant
from fractions import Fraction def transfo2(matrice): #(transforme la matrice en mat de fractions) mat = np.zeros(matrice.shape, dtype=Fraction) for i in range (matrice.shape[0]): for j in range (matrice.shape[1]): mat[i,j]=Fraction(matrice[i,j]).limit_denominator() return (mat)
Qui me donne :
Out[16]: array([[Fraction(4, 5), Fraction(-665857, 941664)], [Fraction(3, 5), Fraction(470832, 665857)]], dtype=object)
et après pour plus de mise en forme , je la passe en sympy
et j'arrive là :
Matrix([ [4/5, -665857/941664], [3/5, 470832/665857]])
Donc, c'est bon pour les fractions (après beaucoup de circonvolutions), mais les racines carrées ne sont pas reconnues.
A noter, numpy ne veut pas travailler avec les objets fractions
Tout ça c'est pas très satisfaisant, mais malgré mes recherches, j'ai rien trouvé que du bricolage.
Réponses
-
Effectivement...
-
Crée toi-même une classe qui sait gérer les racines carrées ?Algebraic symbols are used when you do not know what you are talking about.
-- Schnoebelen, Philippe
Connectez-vous ou Inscrivez-vous pour répondre.
Bonjour!
Catégories
- 163.2K Toutes les catégories
- 9 Collège/Lycée
- 21.9K Algèbre
- 37.1K Analyse
- 6.2K Arithmétique
- 53 Catégories et structures
- 1K Combinatoire et Graphes
- 11 Sciences des données
- 5K Concours et Examens
- 11 CultureMath
- 47 Enseignement à distance
- 2.9K Fondements et Logique
- 10.3K Géométrie
- 65 Géométrie différentielle
- 1.1K Histoire des Mathématiques
- 69 Informatique théorique
- 3.8K LaTeX
- 39K Les-mathématiques
- 3.5K Livres, articles, revues, (...)
- 2.7K Logiciels pour les mathématiques
- 24 Mathématiques et finance
- 314 Mathématiques et Physique
- 4.9K Mathématiques et Société
- 3.3K Pédagogie, enseignement, orientation
- 10K Probabilités, théorie de la mesure
- 773 Shtam
- 4.2K Statistiques
- 3.7K Topologie
- 1.4K Vie du Forum et de ses membres