qcas et giacpy

Nouveautes concernant Xcas.
News about Xcas

Modérateur : xcasadmin

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

qcas et giacpy

Message par frederic han » mar. juil. 16, 2013 11:53 pm

Bonjour a tous, j'ai mis quelques binaires de qcas utilisant la librairie libgiac complete sur ma page:

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

Pour l'instant il y a une version linux 32 bits et une version OSX.

J'ai mis aussi un binaire 32bits de xcas 1.1 + qcas + giacpy
http://www.math.jussieu.fr/~han/xcas/xc ... inux32.tgz

et pour giacpy j'ai ajoute une version macosx qui contient les sources et quelques instructions de compilation:
http://www.math.jussieu.fr/~han/xcas/giacpy

voila, j'espere qu'elles marcheront pour vous aussi.

Frederic

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

Re: qcas et giacpy

Message par frederic han » mer. août 14, 2013 11:21 pm

Bonjour,

J'ai mis a jour giacpy en version 0.4. Il y a maintenant support de Python 3. J'ai aussi un peu ameliore le paquetage debian de giacpy. dpkg-buildpackage construit donc les versions pour python et python3 et execute les doctests. (il cree aussi automatiquement libqcas.a)

Le source complet est la:
http://www.math.jussieu.fr/~han/xcas/gi ... 4.0.tar.gz

J'ai fait aussi une version giacpy-nox pour ceux qui n'ont pas QT d'installe.

Les paquets debian amd64 et sources sont la:
http://www.math.jussieu.fr/~han/xcas/giacpy/deb

NB: Le paquet debian 32bits de giac du 12 juillet pose probleme avec giacpy en 32bits. (mais pas une autre version de la libgiac 32bits, par exemple celle ci)

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

Re: qcas et giacpy

Message par frederic han » mar. août 20, 2013 4:14 pm

Bon j'ai reussi a (cross) compiler qcas et giacpy-0.4 pour windows avec mingw et une libgiac incluse en statique compilee avec gsl,mpfr,gmp.

qcas (+gmp+mpfr+gsl) win32

NB: pour la version windows de giacpy, l'interface graphique/qcas ne marche pas depuis linux avec wine, mais je l'ai testee sous un vrai windows et je n'ai pas eu d'ennuis avec portable python 2.7 ni 3.2. On peut deposer et renomer le dossier (par exemple on peut l'appeler giacpy) voulu dans Libs/site-packages. On peut aussi l'avoir n'importe ou et faire comme dans exemple.py

giacpy-0.4 win32

Fred

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

Re: qcas et giacpy

Message par frederic han » mar. août 27, 2013 10:06 pm

macosx
J'ai mis a jour les versions macosx de qcas_0.2.dmg et de
giacpy (0.4) Ces versions sont basées sur le paquet giac testing du 25/8/2013 et sont en 64 bits.

Normalement les dépendances (librairies QT4, libgiac) sont incluses, mais pas la doc html. Si giac/xcas est installe aux chemins par defaut, giacpy et qcas devraient la trouver. giacpy fonctionne avec la version par defaut de python pour macosx. Pour recompiler giacpy sous macos regarder le dossier source inclus et le fichier compil-osx.txt (on peut peut etre passer le debut et eviter de recompiler libqcas. j'ai utilise qt4.8)
Dernière modification par frederic han le mer. août 28, 2013 5:41 am, modifié 1 fois.

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

Re: qcas et giacpy

Message par frederic han » mer. août 28, 2013 5:31 am

debian
j'ai fait des paquets debian de qcas_0.2 (i386) et (amd64) .deb qui dependent du paquet giac 1.1 (je les ai testes et construits avec le paquet debian giac testing du 25/8/2013 sur une debian stable)

J'ai aussi fait des paquets debian i386 et amd64 de giacpy-0.4. NB: Le paquet i386 fonctionne avec le paquet giac testing du 25/8/2013. (J'ai eu des probleme avec le paquet plus ancien) (pour python2 et python3)

Donc maintenant, on devrait pouvoir profiter de qcas et giacpy sous windows, linux et macos. Les versions de giacpy sont compilees avec la libqcas qui permet les affichages en 2D des sorties giac.

Malheureusement je n'y connais rien en openGL je sais pas trop ce qu'il faudrait faire pour profiter des graphiques 3D de giac.

Fred

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

Re: qcas et giacpy

Message par parisse » jeu. août 29, 2013 2:47 pm

Sur la 3d et opengl, ca devrait etre possible de s'inspirer de Graph3d.cc.
La methode d'affichage s'appelle draw, elle initialise un contexte opengl, puis appelle display qui contient tous les appels avec du code opengl, la creation de repere, de la boite, des axes, puis les affichages des objets (indraw).

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

Re: qcas et giacpy

Message par parisse » lun. sept. 02, 2013 10:17 am

Salut,

je suis en train d'essayer tes packages de giacpy
- sur mon mac os x.6, ca ne marche malheureusement pas ou alors je ne sais pas comment l'installer, que faut-il faire de giacpy.app?
- sous windows, il manque setup.py pour installer. J'ai installe manuellement tout dans Lib/site-packages, ca a l'air de marcher, mais comment on affiche un graphe avec qcas? Pas reussi a le retrouver dans le README
Edit: j'ai retrouve

Code : Tout sélectionner

from giacpy import *
help(Pygen.qcas)
d=giac('plot(sin(x))')
d.qcas()
Ca devrait etre dans le README.

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

Re: qcas et giacpy

Message par frederic han » lun. sept. 02, 2013 10:21 am

Giacpy macosX
j'ai mis a jour le fichier
http://www.math.jussieu.fr/~han/xcas/gi ... .4_osx.dmg

car il avait un petit probleme de dependances il ne trouvait pas forcement les gmp et mpfr fournis. normalement ca devrait etre autonome et deplacable

Je l'ai teste sur macos 10.7 et 10.6. ca marche (graphiques 2D par qcas aussi) meme si en 10.6 on a un warning a cause de python2.6 au lieu de 2.7.

a priori, il suffit de copier le repertoire giacpy.app quelque part, et soit de travailler dedans, soit de l'ajouter a ses chemins, par exemple en faisant dans la console:

export PYTHONPATH=/Volume/giacpy/giacpy.app

ou depuis python comme dans le fichier exemple.py
Frederic

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

Re: qcas et giacpy

Message par parisse » lun. sept. 02, 2013 11:18 am

Bon, j'ai remplace le repertoire python27 de l'installer de xcas windows par un fichier README.python qui fait reference a ton site. Il restera a faire de la pub...

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

Re: qcas et giacpy

Message par frederic han » lun. sept. 02, 2013 11:53 am

Salut,

en python pour avoir de l'aide sur un module une fois qu'il est dans les chemins (mais par exemple ./ y est toujours)
il suffit de faire:

Code : Tout sélectionner

help('giacpy')
(avec des guillemets, et le module n'a pas besoin d'etre charge. la il y a un exemple pour qcas)

C'est vrai mon README.txt est plutot pour linux, il faudra que je le revise.

pour windows et osx le dossier giacpy doit etre simplement place ou l'on veut. effectivement, ils marchent sans xcas (sauf la doc html pour osx)

Ensuite on peut charger une fonction (comme c'est indique ds help('giacpy')):
from giacpy import giac
et faire
help(giac)


A mon avis, giacpy peut etre utile meme s'il n'est pas installe dans les chemins par defaut de python.
Dans ce cas on peut travailler de 2 facons:
soit comme dans exemple.py, soit avec une copie ou un lien du dossier vers notre repertoire courant.

Donc je pense qu'il vaut mieux avoir un dossier avec les fichiers que rien du tout. Tu trouves cela trop gros pour etre dans xcas? (je pense qu'avec une version pour python2 et une pour python3 on s'en sort)

NB: le seul truc qui ne marche pas sous windows est l'aide html car je ne sais pas quel chemin donner a la compilation de libgiac.

idem, dans osx, si l'on n'a pas les droits, on peut toujours utiliser giacpy, par exemple avec PYTHONPATH

Fred

Je viens de realiser, effectivement c'est un peu gros car il y a deja la libgiac dedans. (mais je n'ai pas de cygwin fonctionnel pour compiler tout ca)
Fred

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

Re: qcas et giacpy

Message par parisse » lun. sept. 02, 2013 1:30 pm

Je ne pense pas qu'il faut compiler les modules giacpy avec cygwin, c'est bien mieux de n'avoir aucune dependance. Le module que j'avais compile avec mingw faisait compresse dans les 4M, mais c'etait seulement pour python 2.7 et sans qcas. En mettre 2 ou 3 avec qcas, ca risque de faire grossir xcas alors que les publics cibles sont peut-etre assez distincts, je pense donc que c'est mieux de les laisser independants. C'est plus robuste aussi, je ne risque pas de faire planter le module giacpy par un changement dans giac.
Sinon, je pense qu'il faut faire un petit effort pedagogique pour expliquer l'install sous windows si on veut toucher les profs et les eleves de classes prepa. Voila mon README.python, il faudra je pense aussi le traduire en francais.

Calling giac from python:
Frederic Han has written a python plugin connecting python to giac
http://www.math.jussieu.fr/~han/xcas/giacpy
It supports multiprecision floats, the Gnu Scienfic Library and can currently display 2-d objects using qcas.

Installation: get the zip file corresponding to your version of Python
http://www.math.jussieu.fr/~han/xcas/giacpy/win32/
Unzip the archive and copy all the files from the subdirectory to your Python Lib/site-packages directory

Example of commands: run the python interpreter, then
from giacpy import *
ifactor(2**128+1)
x=giac('x')
f=factor(x**10-1)
d=plot(sin(x))
d.qcas()
help("giacpy")
normal.help()

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

Re: qcas et giacpy

Message par frederic han » lun. sept. 02, 2013 4:54 pm

Salut bernard,
en fait ca n'est pas un tres bon conseil, normalement je me suis arrange pour que l'on puisse deplacer le directory complet. (J'ai refait des archives pour que le unzip cree un directory giacpy (plutot que giacpywin32python27). Comme ca il suffit de le dezipper dans Lib/site-packages (tu devrais peut etre preciser: de votre install python) ou de le garder a cote de soi si l'on n'en a pas le droit.
parisse a écrit : Installation: get the zip file corresponding to your version of Python
http://www.math.jussieu.fr/~han/xcas/giacpy/win32/
Unzip the archive and copy all the files from the subdirectory to your Python Lib/site-packages directory
pour l'aide:
je mettrai plutot comme ca:

help('giacpy') donne une aide courte sur le module. (NB: elle dit par exemple de faire ce qui suit)

from giacpy import giac
help(giac) donne plus d'aide sur l'utilisation (une fois cette fonction chargee).

puis tes exemples:


a+

Fred

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

Re: qcas et giacpy

Message par parisse » lun. sept. 02, 2013 6:27 pm

On peut utiliser le module depuis un sous-répertoire de Lib/site-packages? Si oui, alors c'est en effet plus simple et plus propre de dezipper là.
Si on n'a pas les droits, comment on fait pour que python trouve le répertoire du package? On ne peut pas supposer que les gens vont lancer python depuis un terminal sous windows, il ne pourront pas faire des export PYTHONPATH=quelquechose. Il faut imaginer qu'ils utiliseront python depuis idle ou une autre interface graphique dans laquelle ça doit pouvoir se configurer, mais comment je ne sais pas... Ceci dit, je ne pense pas que ça soit un problème en-dehors d'un environement controlé de type windows d'un lycée (et là il faut juste expliquer à l'administrateur système comment faire), les utilisateurs de machine windows ont en général les droits sur leur machine.
Sinon, pour l'aide HTML, que penses-tu d'utiliser la variable d'environement XCAS_HELP? Est-ce modifiable par une commande python équivalente à export sous bash?

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

Re: qcas et giacpy

Message par frederic han » lun. sept. 02, 2013 8:05 pm

oui ca marche avec un repetoire giacpy comme sous dossier (c'est a ca que sert le __init__.py du repertoire) (donc au contraire, il ne faut pas mettre cet __init__.py dans site-packages directement).

Si l'on n'a pas les droits on peut ouvrir avec son editeur le fichier exemple.py et faire enregistrer sous: monnouveaufichier.py a l'endroit voulu ou mettre les 2 premieres lignes si l'on s'en souvient.

dans cet exemple: le dossier giacpy etait sur une clef usb M:

oui normalement une variable d'environnement est lisible et modifiable par python mais je ne sais pas si c'est tres utile. (actuellement avec ma compil mingw32 le basedir retourne par giac est vide)

Fred

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

Re: qcas et giacpy

Message par parisse » mar. sept. 03, 2013 10:54 am

Voila, correction faite sur le README.python de la version windows, j'ai aussi mis un LISEZMOI.python. Elle s'appelle 1.1.0-4 parce que j'ai aussi corrige 2 bugs qui m'ont ete signales.

Le LISEZMOI.python (desole pour les accents:-()
Comment utiliser le moteur de calcul formel giac depuis python:
Frederic Han a ecrit une interface python/giac:
http://www.math.jussieu.fr/~han/xcas/giacpy
Ce plugin supporte les flottants multiprecisions, la Gnu Scientific Library et peut afficher des objets graphiques 2-d en utilisant qcas.

Installation: recuperez le fichier zip correspondant a votre version de Python
http://www.math.jussieu.fr/~han/xcas/giacpy/win32/
Desarchivez-la dans le sous-repertoire Lib/site-packages du repertoire d'installation de Python.
Si vous ne pouvez pas ecrire sur le repertoire systeme Python d'installation, vous pouvez vous inspirer du fichier exemple.py (qui suppose que l'on a desarchive sur un support reconnu comme M: par windows)

Exemple de commandes: lancez l'interpreteur python puis tapez:
from giacpy import *
ifactor(2**128+1)
x=giac('x')
f=factor(x**10-1)
d=plot(sin(x))
d.qcas()
help("giacpy")
normal.help()

Répondre