giacpy

Xcas devel: interface utilisateur/user interface

Modérateur : xcasadmin

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

Re: giacpy

Message par parisse » ven. juin 21, 2013 7:48 am

frederic han a écrit :Pour les formats de sortie dans qcas il faut cliquer sur l'image (gauche? ou droit? selon que l'on est en mode interactif ou pas) pour faire apparaitre un menu.
Les sorties latex et svg n'ont pas l'air d'etre connectee, mais la sortie png,jpg... marche bien. Y at'il une fonction giac toute prete pour ca? Le probleme est que l'on risque de perdre tout ce qui est ajoute via qt et la souris. (modif des couleurs, transparence...)
Il y a std::string gen2svg(const gen &e,GIAC_CONTEXT); qui doit je pense s'inserer apres std::string svg_preamble(double width_cm, double height_cm); et avant extern const char svg_end[];
Pour latex c'est sans doute std::string gen2tex(const gen & e,GIAC_CONTEXT);
Pour le geometrie dynamique depuis python, je ne sais pas, tu as un exemple d'utilisation de sendtext? Ca me paraitrait deja bien d'avoir une commande qui charge une figure depuis une chaine de caracteres ou un fichier et qu'on puisse ensuite sauvegarder la figure depuis qcas et la recharger apres dans python. L'interface essentiellement en ligne de commande de python (enfin pour le peu que j'en connais) ne me parait pas adaptee a gerer une figure.

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

Re: giacpy

Message par frederic han » ven. juin 21, 2013 2:00 pm

Pour tester sendtext tu peux creer un fichier tutu.xws contenant cela:

Code : Tout sélectionner

// fltk 7Fl_Tile 20 36 982 541 12
[
// fltk N4xcas6FigureE 20 36 982 540 12
// fltk N4xcas12History_PackE 22 79 322 70 12
[
// fltk 7Fl_Tile 31 54 313 23 12
[
// fltk N4xcas19Multiline_Input_tabE 31 54 313 22 12
A:=point(1+2*i);translation(1+i,A);tt :=  element(0..1,0.1,0.2);circle(A,tt);b:=[seq(line(x=j)+tt,j=-5..5)];inter(b,i*b);
]
]
// fltk N4xcas5Geo2dE 348 54 524 522 12
-5.1316,5.1316,-5.1619,5.1619,[],-5,5,1,0,0,0,1,1,1,0,1,1.4167,0,1,1,[],24,18,256,0,100,0,0,1,0.1
 
et ensuite tu peux modifier les instructions puis faire:
qcas tutu.xws
NB: il faut prendre les mots en anglais
(cf par exemple dans MainWindow.cpp les g2d->sendText(xcasline);)

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

Re: giacpy

Message par parisse » ven. juin 21, 2013 6:27 pm

En fait ça marche avec un fichier créé dans xcas, je viens d'essayer (d'ailleurs xcas sauvegarde les mots-clef non traduits).
Et ça marche aussi en linux 32 bits. C'est de bonne augure pour win32.

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

Re: giacpy

Message par frederic han » mer. juin 26, 2013 11:46 pm

J'ai mis a jour le paquet debian avec la version qt.
(il faut giac 1.1)
http://www.math.jussieu.fr/~han/xcas/gi ... _amd64.deb

sources
http://www.math.jussieu.fr/~han/xcas/gi ... y-qcas.tgz

Il y a donc pour l'instant 2 facons d'afficher un dessin 2D:

afficher un gen en non interactif via la methode qcas:
Ex:

Code : Tout sélectionner

from giacpy import *
help(Pygen.qcas)
d=giac('plot(sin(x))')
d.qcas()
ou plus instable:
envoyer une commande via une chaine de caracteres vers de la geometrie interactive

Code : Tout sélectionner

from giacpy import *
help(qcas)
d='C:=cercle(0,1);M:=element(C)'
qcas(d)

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

Re: giacpy

Message par parisse » jeu. juin 27, 2013 11:18 am

j'ai mis ton deb dans mon repo testing, mais il ne marche pas sur mon ubuntu 11, par contre la compilation fonctionne bien.
J'ai essayé de rajouter tangent(M) pour la figure interactive, mais j'ai eu un pb que je n'arrive pas à reproduire: impossible de bouger M, il affiche plein d'erreurs sym2poly/r2sym(const gen & e,const index_m & i,const vecteur & l) Error: Bad Argument Value, et en plus la fenetre graphique etait beaucoup trop large

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

Re: giacpy

Message par frederic han » jeu. juin 27, 2013 7:55 pm

effectivement j'arrive a le faire planter aussi mais uniquement comme cela:
si je ne touche a rien
tangent(M) est en valeur exactes (sous xcas aussi) c'est voulu?

selon mes deplacements, si ca passe en flottants alors je n'ai pas de plantages. Sous qcas, les grosses formules de l'objet selectionné (ie le dernier tape) peuvent etre genantes, et peut faire des fenetres trop grandes, (moins si la fenetre est maximisee). Je crois que ta grosse fenetre est un melange de formule qui devient enorme en calcul symbolique et du fait que je ne devrai pas avoir le droit de deplacer le cercle directement avec la souris, normalement ca ne m'a pas l'air prevu pour ca
sous qcas. Il faudra que j'inspecte ca.

si je mets cercles(0,1.0) je n'ai pas d'ennuis

Je ne pense pas que ca soit relie, mais j'ai reussi a faire planter xcas aussi en promenant le point dans le sens des aiguilles d'une montre:
Threads allowed 1
0
:2: syntax error, unexpected T_END_INPUT at end of input

Erreur de segmentation

a+

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

Re: giacpy

Message par frederic han » lun. févr. 17, 2014 7:22 pm

Bonjour a tous,

J'ai fait une nouvelle version de giacpy 0.4.3 avec un changement important dans l'evaluation. J'utilise maintenant un thread ce qui permet de stopper les calculs dans pas mal d'interfaces python ex (idle, ipython qtconsole, ipython notebook) alors qu'avant ont ete souvent limite au terminal de base.

J'ai fait un binaire linux amd 64:

http://www.math.jussieu.fr/~han/xcas/gi ... _amd64.deb

http://www.math.jussieu.fr/~han/xcas/gi ... _amd64.deb

il y a un exemple pour ipython notebook ici:

http://www.math.jussieu.fr/~han/xcas/gi ... acpy.ipynb

on arrive a montrer la formule du produit du derminant en taille 6x6, je ne sais pas faire ca avec un autre logiciel libre que giac !

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

Re: giacpy

Message par parisse » mar. févr. 18, 2014 3:43 pm

J'ai mis les deb pour amd64 sur le site.
Par contre je ne peux pas les tester ton qt est trop recent par rapport au mien (ubuntu 11 fourni sur le dell).

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

Re: giacpy

Message par frederic han » mar. févr. 18, 2014 5:40 pm

C'est possible j'ai pris la debian stable actuelle.
Je vais probablement le mettre a jour bientot car j'ai remarque que l'instruction giac() devenait trop lente pour les initialisations courte, j'ai ameliore ca.
a+

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

Re: giacpy

Message par frederic han » mer. févr. 19, 2014 5:28 pm

Salut,

J'ai un peu ameliore le source et j'ai mis un miroir debian pour le source tu peux essayer si ca compile pour toi (dans le temps qt4.7 marchait bien pour moi qcas il y a en revanche certaines version de qt ex celle courante d'ubuntu 12.04 32 bits qui posent probleme avec le mml

deb-src http://www.math.jussieu.fr/~han ... table main

apt-get -b source giacpy
pourrait marcher pour faire un nouveau paquet.

sinon j'en ai mis comme d'habitude en i386 et amd64 la:
http://www.math.jussieu.fr/~han/xcas/giacpy/deb/0.4.3/
(a priori c'est pour debian stable)

(Bon pour finir je m'etais trompe je n'arrive pas a calculer le determinant d'un produit de 2 matrices 6x6 en 36 variables avec det_minor. Mais c'est un bon test pour les interuptions et il est plus capricieux que det sous xcas aussi.)

a+
Fred

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

Re: giacpy

Message par frederic han » lun. févr. 24, 2014 1:32 pm

Bon j'ai mis a jour giacpy pour windows en 0.4.3 avec la nouvelle evaluation par threads
et la libgiac du 21/2.

http://www.math.jussieu.fr/~han/xcas/giacpy/win32/

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

Re: giacpy

Message par parisse » dim. août 31, 2014 3:04 pm

Salut Frederic!
Je vais faire une mise a jour demain vers la 1.1.2 stable pour giac. Est-il necessaire de faire une mise a jour de giacpy?
Sinon, je pense que ce serait une bonne idee de faire un peu de pub de giacpy, en particulier en direction des classes prepas (forum des prepas par exemple), et pourquoi pas aussi demander l'install de giacpy pour l'oral de modelisation de l'agreg puisque python y est installe. J'ai mis a jour le paragraphe qui en parle sur la page de giac pour mieux le mettre en valeur:
http://www-fourier.ujf-grenoble.fr/~par ... tml#python

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

Re: giacpy

Message par frederic han » lun. sept. 01, 2014 8:44 am

Salut bernard,
j'ai l'impression que les paquets de giacpy sur ton site ne sont pas les derniers (0.4.3-2) (Ex en i386), la 0.4.3 a l'evaluation par threads ce qui permet d'avoir des interruptions dans les interfaces python alors qu'avant, idle, ipython (qtconsole, notebook...) interceptaient le signal.

J'ai fait quelques ameliorations pour giacpy-sage que je peux repercuter dans une 0.4.4. (un peu plus de giacsettings et les multiindices Ex A[1,2]. pour sage il y a d'autres ameliorations. (de giac vers sage: preview latex ds le notebook, entiers gmp, matrices, vecteurs.)

Le probleme actuel est la version windows qui est pour python 32bits car je n'ai pas de libgiac pour windows en 64. Ca commence a etre genant car maintenant python commenc a donner des distrib windows en 64 bits.

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

Re: giacpy

Message par parisse » lun. sept. 01, 2014 9:16 am

En effet, j'etais un peu en retard sur mes repository, je vais mettre a jour tout ca en meme temps que la version stable de giac.
Je vais me repencher sur une version win64, il me semble avoir reussi a compiler une fois avec cygwin64.

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

Re: giacpy

Message par frederic han » lun. sept. 01, 2014 5:36 pm

bon j'ai mis a jour giacpy (linux) je n'ai pas remarque de problemes pour qcas avec ta 1.1.2 stable en i386 ni amd64.
c'est la:

https://www.imj-prg.fr/~frederic.han/de ... able/main/

Répondre