IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

algorithme de resolution de polynomes


Sujet :

C++

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Points : 877
    Points
    877
    Par défaut algorithme de resolution de polynomes
    Bonjour tous,

    j'aimerai savoir si vous connaissez une librairie qui contiennent une fonction qui permet de trouver les solutions d'un polynome de degres n (ou au minimum de degres 3).

    Merci d'avance !


  2. #2
    Membre expert
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 415
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 415
    Points : 3 156
    Points
    3 156
    Par défaut
    Salut

    La résolution d'un polynôme réel n'est pas généralisable au delà du degré 4. Au degré 5, il faut d'autres méthodes et au delà du degré 5, les polynômes doivent respecter des contraintes.

    Il y un code dans cette discussion : http://www.codeguru.com/forum/archiv.../t-265551.html pour les solutions d'une équation cubique (degré 3). Sinon Wikipedia est rempli de choses intéressantes.

    Edit : il y ça qui est pas mal et généralisable en C++.
    Find me on github

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Points : 877
    Points
    877
    Par défaut
    ok merci jblecanard, je crois que je vais me contenter d'un algo de degès 3 (car mon problème est un problème de degrès 3).

    sinon j'ai pensé à un truc pour une equation de degrès n:

    j'utilise un algo de Newton pour trouver une solution à f(x)=0 ensuite je factorise mon polynome par (x-solution)(Q(x))=0
    et je trouve de la meme facon la solution de Q(x)...etc

    Ca peut fonctionner cela je pense, par contre ca risque d'etre long à implementer? (algo de Newton + division euclidienne)

  4. #4
    Membre expert
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 415
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 415
    Points : 3 156
    Points
    3 156
    Par défaut
    Le problème de cette solution est quelle est numérique. L'agorithme de newton te donnera une approximation et pas la valeur exacte. Tu n'arriveras donc pas à factoriser ton polynôme avec une approximation...

    Si tu n'as pas besoin de plus que 3, ne t'embêtes pas pour rien.
    Find me on github

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Points : 877
    Points
    877
    Par défaut
    Citation Envoyé par jblecanard Voir le message
    Le problème de cette solution est quelle est numérique. L'agorithme de newton te donnera une approximation et pas la valeur exacte. Tu n'arriveras donc pas à factoriser ton polynôme avec une approximation...
    je vois ce que tu veux dire, mais il y a peut etre possibilité de faire quelque chose quand meme... ...
    Citation Envoyé par jblecanard Voir le message
    Si tu n'as pas besoin de plus que 3, ne t'embêtes pas pour rien.
    bref tu as raison je vais pas me casser trop la tête je vais utiliser que le polynome de degrès 3 (avc la methode de cardan)

    merci de ton aide

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Points : 877
    Points
    877
    Par défaut
    j'ai un gros problème:

    ==> j'ai repris mon problème est en fait ce n'est plus un polynome de degrès 3 que je dois resoudre mais cela:

    A.x^(a+b / a) + B.x^(b/ a)+C.x+D=0

    franchement je ne vois pas comment résoudre cela numeriquement... surtout qu'il faut une methode generale car les exposant a et b dependent de l'itération où je me trouve

    ==> pour trouver une valeur pas de problème j'utilise un algo de Newton mais si je veux trouver toutes les solutions possibles ?

    en esperant que vous pourrez m'aider

  7. #7
    Membre expert
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 415
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 415
    Points : 3 156
    Points
    3 156
    Par défaut
    Citation Envoyé par 21did21 Voir le message
    franchement je ne vois pas comment résoudre cela numeriquement...
    Analytiquement tu veux dire ? Au niveau théorie mathématique, je ne sais pas trop ou ça se situe. Il doit y avoir moyen de s'en sortir en dérivant plusieurs fois.

    Malheureusement, cela dépasse le cadre C++, il vaut mieux poser la question dans la section "algorithmes".
    Find me on github

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Points : 877
    Points
    877
    Par défaut
    Citation Envoyé par jblecanard Voir le message
    Analytiquement tu veux dire ?
    en fait je ne cherche pas une solution exacte forcement mais une solution qui s'en approche, c'est pour cela que j'avais parlé de la solution de newton...
    Citation Envoyé par jblecanard Voir le message
    Au niveau théorie mathématique, je ne sais pas trop ou ça se situe. Il doit y avoir moyen de s'en sortir en dérivant plusieurs fois.
    Malheureusement, cela dépasse le cadre C++, il vaut mieux poser la question dans la section "algorithmes".
    oui j'ai posé la question ailleurs sur un forum de math
    http://www.developpez.net/forums/d10...e/#post5743356

    merci en tout cas pour ton aide

    A bientot

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [TP] Demande de résolution d'un exercice en algorithme
    Par zogrom dans le forum Turbo Pascal
    Réponses: 2
    Dernier message: 14/03/2006, 23h25
  2. Algorithme de randomisation ... ( Hasard ...? )
    Par Anonymous dans le forum Assembleur
    Réponses: 8
    Dernier message: 06/09/2002, 14h25
  3. Algorithme génétique
    Par Stephane.P_(dis Postef) dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 15/03/2002, 17h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo