Xcas et les différents langages de programmation
Dans cette section vous trouverez tous les documents spécifiques aux différents languages compatibles avec Giac.
Calcul formel avec Python
Frédéric Han a développé une interface Python pour giac, giacpy (en anglais) pour Windows, Mac OS et Linux. Elle permet d'accéder à toutes les fonctionnalités et perfomances de Giac/Xcas depuis le langage Python (version 2.7, 3.2 ou 3.3) : un complément indispensable pour les élèves de classes préparatoires qui veulent faire du calcul formel en utilisant le langage au programme.
- Installation Windows : installez Python puis ouvrez "Invite de commande" depuis le menu Accessoires. Tapez les commandes
python.exe -mpip install --upgrade pip
python.exe -mpip install wheel
python.exe -mpip install giacpy
- Installation Mac: installez Xcas pour Mac ou voir le site de F. Han
- Installation Linux debian compatible:
sudo apt-get install python-giacpy OU sudo apt-get install python3-giacpy.
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()
Exemple de programme Python utilisant giac et giacpy :
ocapy par Didier Gosseau, une calculatrice RPN.
Ecrire un programme C++ en utilisant Giac
- Windows: Le plus simple est d'installer CodeBlocks 32 bits, puis désarchivez mingw giac 32 bits dans le répertoire CodeBlocks/MinGW, puis créez un projet console en ajoutant dans Settings, Compiler, Linker settings la librairie giacdll. Ou modifiez cet exemple.
Si vous compilez avec cygwin, les DLL sont installées par l'installeur de Xcas. Sinon, vous devez utilisez ces DLL : win32 dll, win64 dll
- Mac: installez Xcas pour Mac, les libraries et headers sont dans/Applications/usr/, lancez Xcas et le menu Fich, créer liens pour créer des liens vers /usr/local/.
Alternative, compiler avec -I/Applications/usr/include et -L/Applications/usr/lib (peut obliger à exécuter export LD_LIBRARY_PATH=/Applications/usr/lib)
- iOS: Pour Mac OS x.6, la librairie giac et en-tete pour iphone ARM7 et x86 simulator compilées avec la version 0.39 de libtommath. Pour arm64, ajoutez les fichiers sources de giac à votre projet, ainsi que ceux de tommath, copiez config.h.iphone vers config.h et modifiez les define pour du code 64 bits.
- Linux: Le plus simple sur une distribution de type Debian supportée (debian, ubuntu, ...) est d'installer le paquet debian de giac ou sinon de suivre le guide rapide debian/ubuntu. Il vous faudra ensuite peut-etre installer des fichiers headers manquants, avec des commandes ressemblant à
sudo apt-get install libgmp-dev libao-dev
- Sur les autres systèmes, il faut installer Giac depuis le source.
Le code source de giac contient un répertoire
examples/demo avec un programme de test pgcd.cc qui vous permettra de tester que votre installation est correcte (à compiler par
g++ pgcd.cc -lgiac , il peut etre nécessaire d'ajouter
-lgmp).
Il vous reste alors à consulter la
documentation info de giac pour connaitre les structures de données de giac (en particulier le type
gen).
Giac en Javascript
Giac et Latex
Il existe plusieurs méthodes pour appeler
giac
automatiquement depuis un document LaTeX et lui déléguer
certains calculs.
-
Compiling LaTeX to computer algebra enabled HTML5
explique comment on peut ajouter des commandes Xcas à
un document LaTeX pour le compiler en HTML+MathML avec un
bon rendu des formules mathématiques et la possibilité
pour le lecteur de modifier et d'exé:cuter les commandes
depuis son navigateur. On peut également obtenir un fichier
PDF avec les calculs (et graphes) faits à la compilation.
- Sous linux, le programme giac (ou icas) peut
"filtrer" des fichiers latex pour generer du code HTML5 et du PDF avec des
calculs et des graphiques effectués par le moteur de calcul formel de giac
(ceci est inspiré de pgiac de Jean-Michel Sarlat décrit ci-dessous).
Il faut avoir installé hevea et pdflatex. Il suffit alors de taper dans
un terminal
giac nom_fichier
au lieu de pdflatex nom_fichier
(mettre l'extension .tex en cas de conflit de nom de fichier).
giac filtre les calculs, les effectue, cree des EPS des graphiques 2d,
ensuite giac appelle hevea -fix pour generer du HTML5
(à consulter depuis Firefox pour des performances optimales) et pdflatex
pour générer le PDF.
Les calculs se placent dans un fichier .tex normal où on a mis
(juste apres \begin{document}) \begin{giacjsonline}
et (juste avant \end{document})
\end{giacjsonline}.
Pour faire un calcul ou un graphe on utilise une commande du type
\giacinputbigmath{factor(x^4-1)} ou \giacinput{plot(sin(x))}.
Le lecteur pourra modifier et/ou exécuter la commande dans son navigateur
compatible (Firefox recommandé).
Voir le fichier
testfr.tex
pour des exemples types de commandes ou
methnum.tex
pour une utilisation en vraie grandeur.
- professor.sty
est une collection de fichiers de style pour créer
automatiquement des tableaux de variations, des statistiques, etc.
dans vos documents LaTeX. Par Denis Le Fur et Guillaume Connan
(contient le fameux
tablor.sty
de Guillaume Connan). Utilisable depuis texmacs via les plugins
professor et
tablor
par E. Corcelle.
- le script Perl
pgiac
de J.M. Sarlat permet
de créer des sources .w contenant des commandes
giac (les lignes commencant par .g et les
sections commencant par .g: et finissant par
.end), transformés après calculs en fichiers
.tex par la commande pgiac nom_fichier.w. Il suffit
alors de le compiler avec sa distribution LaTeX
préférée,
cf. le site
Syracuse.
- voir aussi les exemples de
source LaTeX utilisant giac pour les calculs
de G. Connan,
de
Yves Delhaye
(cf. aussi son générateur d'interrogations),
et d'
Alexandre
Boisseau