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 :

Structure de données polynomes multivariables


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de LinuxUser
    Inscrit en
    Avril 2007
    Messages
    857
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 857
    Par défaut Structure de données polynomes multivariables
    Bonsoir,

    Je souhaiterais utiliser une stucture de donnees adaptée aux polynomes multivariables pour notament réaliser la pseudo-division.
    Pour des polynomes univariables j'utilise habituellemnt une liste chainée des coefficients du polynome.
    Pour des polynomes mutilivariables je sais pas trop quelle structure de donnees employer.
    J'ai pensé à definir une class(C++) Monome et ainsi definir un polynome multivariable comme une liste de monome mais c'est pas encore au point.

    Si vous avez des idées me soumettre pour une structure de données adaptée , je suis tout ouïe.

    Merci de votre attentio, en esperant avoir été plus ou moins clair.

  2. #2
    Membre Expert
    Homme Profil pro
    Chercheur
    Inscrit en
    Mars 2010
    Messages
    1 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 218
    Par défaut
    Bonjour,

    tu peux traiter les polynômes multivariés de la même manière que les polynômes univariés à partir du moment où tu ordonnes tes monomes.
    Exemple :

    ordre univarié -> 1,x,x^2,...,x^k

    ordre bivarié -> 1,x,y,xy,x^2,y^2,x^2y,xy^2,x^2y^2, etc

  3. #3
    Membre éclairé Avatar de LinuxUser
    Inscrit en
    Avril 2007
    Messages
    857
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 857
    Par défaut
    Pour des polynômes univariés, comme je l'ai indiqué precedement, on peut utiliser une liste chaînée, exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    1->0->2->1  represente  1 + 2x^2 + x^3
    Mais pour représenter 2x^2y par exemple, ça ne marche plus.
    Je sais pas pas si j'ai été clair.

    Pour l'instant j'ai défini 3 trois classes : Terme (ex: x^2, 1, y, z^3, ...), Monôme (xy, 2x^2y, xyz, ..), Polynôme (2x^2y + xyz + 3), avec une notion de terme dominant (ici x).
    Faut encore que je reflechisse pour les opérations et notamment la multiplication de polynômes.

  4. #4
    Membre Expert
    Homme Profil pro
    Chercheur
    Inscrit en
    Mars 2010
    Messages
    1 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 218
    Par défaut
    Vous avez été clair mais vous n'avez pas compris ma réponse.
    Qu'est-ce qui ne marche pas selon vous?

    Dans votre exemple,

    1 + 2x^2 + x^3 = x^0y^0+2x^2y^0+x^3y^0,

    pourquoi n'arrivez-vous pas à placer 2x^2y?

  5. #5
    Membre éclairé Avatar de LinuxUser
    Inscrit en
    Avril 2007
    Messages
    857
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 857
    Par défaut
    Je n'arrive pas a représenter 2x^2y par une liste chainées car ici y est le coefficient de x^2, en d'autres termes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    2x^2y  <-> 0->0->'2y'   // d'où le problème

  6. #6
    Membre Expert
    Homme Profil pro
    Chercheur
    Inscrit en
    Mars 2010
    Messages
    1 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 218
    Par défaut
    Tu te trouves dans un anneau polynomial bivarié : le 'y' n'a pas à apparaître.

    Si j'ordonne comme ceci la base canonique,
    1,x,y,xy,x^2,y^2,x^2y,
    alors j'obtiens :
    2x^2y <-> 0->0->0->0->0->0->2
    Remarque : évidemment, dans la base canonique, 1=x^0y^0, x=xy^0, etc

Discussions similaires

  1. Comment créer une structure de donnée dynamiquement ?
    Par Beaunico dans le forum Langage
    Réponses: 9
    Dernier message: 24/01/2006, 09h34
  2. Aide pour diagramme de structure des données
    Par DeezerD dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 04/12/2004, 19h10
  3. Méta-Programmation - [ structures de données ]
    Par Dam)rpgheaven dans le forum C++
    Réponses: 3
    Dernier message: 03/12/2004, 19h38
  4. Structure des données en retour d'un DBExtract ?
    Par mikouts dans le forum XMLRAD
    Réponses: 4
    Dernier message: 24/01/2003, 15h15
  5. Structure de données de type "RECORD"
    Par chaours dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 30/09/2002, 17h10

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