|
Bonjour,
Dans une application de calculs d'invariants en mécanique, j'utilise la libgiac pour le calcul formel, et plus particulièrement la fonction _gbasis.
Or le résultat fourni n'est pas celui attendu.
Plus exactement, le résultat fourni de manière interactive par xcas diffère de celui fourni par un appel direct à la fonction dans un programme c++.
Extrait de la session xcas (copié-collé depuis l'interface): ----- Commande : gbasis([X_6^2-Y_1,(X_1*X_6+X_4*X_6)/2-Y_2,(X_3^2+X_5^2)/2-Y_3,(3*X_1^2+2*X_1*X_4+4*X_2^2+3*X_4^2)/8-Y_4,(X_1^2+6*X_1*X_4-4*X_2^2+X_4^2)/8-Y_5,(X_1^2-2*X_1*X_4+4*X_2^2+X_4^2)/8-Y_6,X_6-Y_7,(X_1+X_4)/2-Y_8 ], [X_1,X_2,X_3,X_4,X_5,X_6,Y_1,Y_2,Y_3,Y_4,Y_5,Y_6,Y_7,Y_8]); Réponse : [X_1+X_4-2*Y_8,-X_2^2-X_4^2+2*X_4*Y_8+2*Y_6-Y_8^2,X_3^2+X_5^2-2*Y_3,X_6-Y_7,-Y_1+Y_7^2,-Y_2+Y_7*Y_8,Y_4-Y_6-Y_8^2,-Y_5-Y_6+Y_8^2] --------
Cette réponse est conforme, et identique (au signe près) à la réponse fournie par maple ou maxima.
Or l'appel direct de _gbasis dans le programme c++ donné en fichier joint compilé avec
------ g++ -O0 -g -Wall -lgiac -lgmp -o essai_gbasis essai_gbasis.cpp ------
donne le resultat suivant : ------ [X_6-Y_7,-Y_1+Y_7^2,-Y_2+(X_1*X_6+X_4*X_6)/2,-Y_3+[X_6-Y_7,-Y_1+Y_7^2,-Y_2+(X_1*X_6+X_4*X_6)/2,-Y_3+(X_3^2+X_5^2)/2,-Y_4+(3*X_1^2+2*X_1*X_4+4*X_2^2+3*X_4^2)/8,-Y_5+(X_1^2+6*X_1*X_4-4*X_2^2+X_4^2)/8,-Y_6+(X_1^2-2*X_1*X_4+4*X_2^2+X_4^2)/8,-Y_8+(X_1+X_4)/2](X_3^2+X_5^2)/2,-Y_4+(3*X_1^2+2*X_1*X_4+4*X_2^2+3*X_4^2)/8,-Y_5+(X_1^2+6*X_1*X_4-4*X_2^2+X_4^2)/8,-Y_6+(X_1^2-2*X_1*X_4+4*X_2^2+X_4^2)/8,-Y_8+(X_1+X_4)/2] ----- qui diffère notablement de celui produit interactivement ( entre autres, il manque plusieurs relations ne comportant que les Y_x).
Noter que giac a été compilée sans CoCoa.
À l'évidence, j'emploie mal _gbasis et je ne maîtrise pas assez la libgiac pour m'en sortir seul. Un conseil serait donc le bienvenu.
Navré pour la complexité de l'exemple, mais c'est le seul dont je dispose actuellement pour montrer l'effet.
Cordialement
Dominique MICOLLET
Post-Scriptum : j'ai une grande difficulté à utiliser l'outil de recherche sur le forum : je ne parviens même pas à retrouver d'anciens messages que j'y ai posté en utilisant le mot clef gbasis ou mon nom alors que google me les retrouve. Suis-je incompétent ou l'outil de recherche a-t-il une défaillance ?
_________________ Cordialement
Dominique MICOLLET
|