Décomposition SVD

a marqué ce sujet comme résolu.
Auteur du sujet

Bonjour,

Dans le cadre d’un partiel où l’on aura l’ordinateur avec nous, j’aimerais optimiser mon temps en préparant des scripts Python afin de me simplifier un peu la vie.

Je bloque un peu sur l’algorithme SVD. En effet je pourrait utiliser numpy et sa fonction SVD mais il y a un souci : le résultat est en décimal or il me le faudrait en rationnel. Il en est de même sous Scilab et je n’ai pas trouvé le moyen de passer le résultat en rationnel (ça m’étonne encore).

Je me suis donc dit qu’il me suffit de ré-implémenter l’algorithme mais en utilisant la classe Fraction de Python. Mais je n’arrive pas à trouver cet algorithme. :euh:

Sauriez-vous de quel côté chercher ?
Merci pour votre aide !

+0 -0

Si ça peut aider, quand j’ai un problème je regarde d’abord Wikipédia puis rosetta code.

Wikipédia donne ceci. Rosetta code fait choux blanc.

Je ne me suis pas plongé de tel problème depuis pas mal de temps. J’aurais du mal à t’aider aautrement.

ache.one                 🦹         👾                                🦊

+0 -0
Auteur du sujet

Je pense comprendre pourquoi je ne trouve pas l’algorithme. Il implique de déterminer les valeurs et vecteurs propres d’une matrice ce qui est assez compliqué informatiquement apparemment.

Peut-être que vous connaîtriez un autre moyen de faire des calculs de matrices (SVD, normes…) en nombres rationnels ? Une option dans Scilab qui m’aurait échappé ?

+0 -0

Quand on fait une décomposition SVD, on ne reste pas forcément sur Q même si la matrice de départ y était. Tu veux dire qu’il te faudrait obtenir par exemple 3\sqrt{3} au lieu de 1.73205 dans ton résultat ?

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte