questions libgiac

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

Modérateur : xcasadmin

frederic han
Messages : 1137
Inscription : dim. mai 20, 2007 7:09 am
Localisation : Paris
Contact :

questions libgiac

Message par frederic han » jeu. janv. 23, 2014 10:21 am

Salut j'ai 2 questions independantes.

Existe il un moyen simple d'initialiser une string qui contient eventuellement des , ; ou :; et de recuperer le gen de maniere differente entre , et ;.

Ex: j'aimerai qu'avec un truc du genre "seq(k,k=0..5);6;7;" je puisse separer 6 et 7 du reste. En revanche
pour 6,7; je ne veux pas les separer.
autre ennuis, pour
"f(x):={6;7;8};9,10;" ou d'autres ; dans un bloc je veux juste la fonction et 9 et 10.



Autre question,
dans la geometrie de qcas loic avait mis quelques _simplify mais ca peut poser des problemes lorsque _simplify s'emballe dans un truc trop complique. Ex:

Code : Tout sélectionner

simplify(distance(1/sqrt(2),exp(i*pi/16)))
Que conseilles tu pour une simplification minimale des coordonnees, mais qui ne s'emballe jamais dans un probleme de geometrie. ratnormal? ou bien existe il une version bridee de simplify?

Fred

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

Re: questions libgiac

Message par parisse » jeu. janv. 23, 2014 12:35 pm

je n'ai pas bien compris ce que tu veux faire pour la difference entre , et ;
Si tu veux separer tu peux mettre un vecteur [,] mais ca ne doit pas etre ca.
Sinon pour la simplification, ratnormal est le moins risque, normal est intermediaire (mais il peut sortir des rootof un peu mechants).

frederic han
Messages : 1137
Inscription : dim. mai 20, 2007 7:09 am
Localisation : Paris
Contact :

Re: questions libgiac

Message par frederic han » jeu. janv. 23, 2014 12:47 pm

Mon pb est que si j'evalue une chaine, je recupere un gen de type vecteur et je me demandais s'il y avait un moyen de voir la difference entre des donnees entrees avec , ou d'autres avec ;

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

Re: questions libgiac

Message par parisse » jeu. janv. 23, 2014 2:49 pm

Non, mais on pourrait sans doute modifier le parser pour introduire une difference (et peut-etre aussi un subtype specifique). Il faudrait changer les lignes 191 et 197 de input_parser.yy je pense.

frederic han
Messages : 1137
Inscription : dim. mai 20, 2007 7:09 am
Localisation : Paris
Contact :

Re: questions libgiac

Message par frederic han » ven. janv. 24, 2014 9:52 am

Bon en fait j'en ai moins besoin que je ne le pensais en geometrie.
Il reste le probleme du mathml, j'avais l'impression que ca serait logique d'aller a la ligne avec un ; et pas avec ,

frederic han
Messages : 1137
Inscription : dim. mai 20, 2007 7:09 am
Localisation : Paris
Contact :

Re: questions libgiac

Message par frederic han » sam. févr. 15, 2014 5:35 pm

Salut J'ai une question pour giacpy.

De nombreuses interfaces python interceptent le Ctrl C et le signal d'erreur envoye par python n'est vu que lorsque le calcul de giac est fini. (sous une console de base tout marche bien, mais avec:
idle, ipython qtconsole, PyScripter... le control C ne fait plus rien a giacpy)

Pour y remedier je commence a utiliser une evaluation via make_thread.

Du coup j'ai une question, avant j'avais par exemple 2 gen un pour le nom de commande g1 et un pour les arguments g2 et je faisais betement g1(g2)
car j'avais rendu cet operateur accessible depuis cython.

comment est ce que je peux creer un nouveau gen qui soit g1(g2) sans evaluation (l'analogue du quote) pour que je puisse ensuite utiliser ma fonction d'evaluation par thread?


Fred

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

Re: questions libgiac

Message par parisse » sam. févr. 15, 2014 6:16 pm

il y a une fonction C++ expres pour ca
symb_of(g1,g2)
qui cree un symbolique de sommet at_of qui est le nom de commande pour l'execution de fonction.

frederic han
Messages : 1137
Inscription : dim. mai 20, 2007 7:09 am
Localisation : Paris
Contact :

Re: questions libgiac

Message par frederic han » dim. févr. 16, 2014 5:53 pm

Merci je vais essayer.

a+

Répondre