Numerateur denominateur

Librairie C++ de calcul formel/ C++ symbolic computation library

Modérateur : xcasadmin

mitch
Messages : 3
Inscription : sam. mars 14, 2009 3:54 pm

Numerateur denominateur

Message par mitch » sam. mars 14, 2009 5:29 pm

Bonjour,
Je veux utiliser la bibliothèque giac C++
La liste présentée ici : http://www-fourier.ujf-grenoble.fr/~par ... casref_en/, décrit les fonctions supportées par XCAS, mais pas forcement par libgiac, du moins, c'est ce que j'ai compris
Y a-t-il une liste exhaustive des fonctions implémentée dans la bibliothèque ?

Pour exemple, je n arrive pas a extraire simplement, le dénominateur et le numérateur
j'ai essayé getNum, _getNum, numer, _numer, rien de tout cela n'existe

Aussi certaines fonctions sont avec '_' au debut (comme _rref) et d'autres non (comme fxnd), quelle est la logique ?

J'ai donc trouvé fxnd qui devrait extraire les numerateur et denominateurs mais il me renvoit 1 au denominateur et tout le reste en haut.

Donc principalement, ma question est : y a-t-il une liste documentée de fonctions supportées par libgiac, pour m'eviter de faire des grep dans le code source


Merci et bravo pour votre projet

parisse
Messages : 5743
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Message par parisse » sam. mars 14, 2009 7:08 pm

bonjour,

la doc développeur de la libgiac est malheureusement encore peu fournie. Il y a un peu de doc au format texinfo (info giac_us.info) dans le source (rép. doc/en).
Sur la différence entre les fonctions précédées de _ ou non: sauf exception, à une fonction de xcas correspond une fonction de giac dont le nom est identique mais précédé de _. Si la fonction xcas a plusieurs arguments, les arguments sont groupés en un gen de type _VECT (c'est donc un vecteur=vector<gen>) avant appel de la fonction giac avec _. La fonction _xxx giac elle-meme peut appeler une fonction xxx qui elle possède plusieurs arguments en général des gen. Par exemple integrate de xcas appelle _integrate de giac qui teste le nombre d'arguments, s'il y en a 2, il appelle integrate de giac avec 2 arguments de type gen et le pointeur de contexte d'évaluation.
Pour la recherche du numérateur/dénominateur, la situation est un peu plus complexe, car _fxnd à 1 argument appelle fxnd a 1 argument dans ifactor.cc qui passe en mode interne (cela revient à faire ratnormal) avant d'appeler fxnd à 2 arguments de sym2poly.cc (qui lui ne fait quasiment rien) et de retourner le résultat au format symbolique usuel.

Répondre