Xcas, le couteau suisse des mathématiques
🛈 Dernière mise à jour Juin 2024, version stable 1.9.0-992.
Giac/Xcas est un système de calcul formel libre pour Windows, Mac OSX et Linux/Unix (license GPL3,
possibilité d'obtenir une license pour inclusion dans un logiciel commercial en nous contactant).
Xcas en résumé
- Xcas est une interface de Giac, qui permet de faire du calcul formel, des
représentations graphiques dans le plan ou l'espace, de la géométrie dynamique (dans le plan ou dans
l'espace), du tableur, des statistiques et de la programmation.
Xcas utilise la librairie
graphique FLTK, il existe un projet alternatif basé sur QT: qcas.
- Xcas hors-ligne dans votre navigateur est une interface de Giac un peu moins
complète mais utilisable sans aucune installation depuis un navigateur compatible, Firefox est
conseillé.
- Giac, est le moteur de calcul de Xcas, il s'agit d'une bibliothèque C++. On peut l'utiliser
dans des programmes C++ mais aussi depuis Julia, Python, Java et Javascript.
Exemples de
logiciels utilisant Giac : Geogebra (Java et Javascript), la calculatrice HP Prime (C++), Pocket CAS
(C++), CAS Calc P11 (C++). Giac peut optionnellement etre utilisé depuis sage.
- Giac/Xcas dispose d'un mode de compatibilité pour les personnes habitués aux
logiciels de calcul formel Maple ou MuPAD ainsi que pour les utilisateurs de calculatrices TI
(TI89/TI92/Voyage 200/TI Nspire CAS).
- Petit historique : le projet a commencé en 2000, à la suite de l'écriture du logiciel de
calcul formel des calculatrices HP. Il comporte aujourd'hui un peu plus de 150 000 lignes de code
C++ (principalement par B. Parisse), plus de 1000 pages de documentation en francais (principalement
par R. De Graeve), des interfaces en tant que moteur de calcul avec php, latex, texmacs, java,
javascript, python (voir ci-dessus Giac), et des interfaces pour utiliser les librairies C/C++ PARI,
NTL, CoCoA, GSL, GMP, MPFR. Les algorithmes de Giac sont particulièment optimisés pour les
opérations les plus sollicitées (multiplication, division de polynomes, PGCD a plusieurs variables
sur Q, des extensions de Q, bases de Groebner).
En 2007, Giac/Xcas a obtenu le 3ème prix des
Trophées du Libre dans la catégorie logiciels scientifiques.
En 2013, Giac a été choisi comme
moteur de calcul formel par le logiciel bien connu Geogebra, ainsi que par HP pour sa calculatrice
HP Prime.
Fonctionnalités
-Calcul Formel : arithmetique, integration, derivation, limites, ...
-Graphes : fonctions, paramétrique, dans le plan et l'espace
-Tableur et statistiques : calcul approché et exact
-Géometrie interactive : dans le plan et l'espace
-Programmation : langage en francais ou syntaxe compatible Python (versions >=1.4.9)
-Tortue logo
-Aide en ligne : documentation entièment en francais, index des fonctions, syntaxe, exemples,
recherche par mot clef, complétion.
-Editeur d'équation : affichage 2-d des expressions, possibilité de travailler sur des
sous-expressions.
-Unité physiques : opérations usuelles et conversion
--Voir aussi la présentation des Trophées du Libre 2007: version longue,courte ou la session Xcas
calcul formel:
Calcul en précision arbitraire (entiers et flottants), arithmétique des entiers et des polynomes (PGCD,
Bézout, factorisation, ...), simplification (fractions rationnelles, fonctions trigonométriques,...),
résolution d'équations, dérivation, intégration (fraction rationnelle, méthodes heuristiques, algorithme
de Risch pour les fonctions transcendantes), décomposition en éléments simples de fractions
rationnelles, limites, développement de Taylor et asymptotiques, algèbre linéaire (vecteurs, matrices,
réduction de Gauss, vecteurs et valeurs propres exactes et approchées)...
Géométrie 2-d / Géométrie et graphes 3-d:
Points, segments, droites, plans, triangles, quadrilatères, polygones, cercles, coniques, courbes
paramétrées et polaires, intersections, tangentes, paramètres, angles, affixes, ...
Géométrie interactive
Toutes les instructions de tracé sont programmables.
Les calculs peuvent etre faits de manière exacte en utilisant le système de calcul formel, ce qui permet
de faire des preuves (de géométrie analytique).
Tableur:
Références absolues et relatives, calcul exact ou approché (les cellules peuvent etre des entiers en
précision arbitraire, des noms de variables, des expressions, ...), accès complet aux fonctions de
programmation, interface pour les statistiques 1-d et 2-d (moyenne, écart type, histogramme, covariance,
corrélation...)
Programmation:
fonctions, variables locales, tests, boucles. Syntaxe au choix (en francais, compatible Python, Maple,
MuPAD ou TI89). Possibilité dans des cas favorables de lire et d'exécuter des programmes Python, Maple,
MuPAD ou TI89. Editeur intégré pour de petits programmes. Débogueur interactif.
Plusieurs fonctionnalités utilisées simultanément.
Giac
giacpy : Calcul formel en python:
Frédéric Han a développé une interface Python pour giac,
giacpy 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.
Giac en mode console:
Les versions Linux, Mac et Windows de Xcas contiennent une version texte
giac, utilisable
directement ou dans une session
texmacs (qu'on peut tester sans installer avec
livetexmacs), ou dans une session
emacs en mode mupad (lire
les instructions de mupacs, utiliser
giac --emacs
comme programme à lancer au lieu de
mupad -E/-R ...
).
Alternative pour le mode emacs:
telecharger
mupacs.tgz
le desarchiver depuis
cd / ; tar xvfz chemin_vers/mupacs.tgz
ajouter
(load "/usr/local/share/emacs/site-lisp/mupacs.el")
dans
~/.emacs
, puis faire Echap-x mupad-run et remplacer
mupad -E/-R ...
par
giac --emacs
.
HP Prime:
Giac est le moteur de calcul formel natif de la calculatrice HP Prime
ainsi que des applications émulant la calculatrice sur tablettes,
smartphones, etc.
Documentation
du CAS
écrite par Renée De Graeve.
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
Documentation francaise de xcas
-
Fiches
Xcas, l'essentiel pour
démarrer
-
Tutoriel xcas (R. De Graeve, B. Parisse, B.Ycart) au format
PDF ,
TeX
-
Interface xcas (R. De Graeve) au format
PDF
-
Présentation des possibilités de Xcas
avec des exercices corrigés
par Renée De Graeve.
-
Calcul formel par Renée De Graeve au format
PDF ,
LaTeX
-
Programmation par Renée De Graeve au format
PDF ,
LaTeX
-
Geometrie par Renée De Graeve au format
PDF ,
LaTeX
-
Simulation
par Renée De Graeve,
PDF ,
LaTeX ,
-
Tortue logo
par Renée De Graeve, guide de l'utilisateur
PDF et
LaTeX , exemples d'activités à l'école
PDF.
-
Exercices
par Renée De Graeve,
PDF et
LaTeX
-
Amusements
par Renée De Graeve,
PDF et
LaTeX
-
Puzzle
de Dudeney,
par Renée De Graeve, source.
-
Xcas
et les mathématiques de troisième
par Renée De Graeve,
-
Algorithmes
par Bernard Parisse,
PDF ,
LaTeX
-
Toute la documentation HTML en une
archive
Autour de xcas
Pages web parlant de Xcas:
Livres et manuels parlant de Xcas:
-
Guide du calcul avec les logiciels libres
XCAS, Scilab, Bc, Gp, GnuPlot, Maxima, MuPAD... , par G. Connan et
S. Grognet (Dunod ed.)
-
Initiation à l'algorithmique et à
la programmation pour le lycée
(Texas & Casio-Algobox & Xcas), par Luc Ponsonnet (ellipses)
- lycée Hachette:
2nde,
1re
S
- lycée Bordas
1ere S
- lycée Nathan
2nde
- lycée Didier
math'x
- lycée Hatier
2nde,
1ere S
-
Mathématiques
pour le DUT
Génie Biologique Cours et Exercices Corrigés, par Cedric Noel, 2015, ellipses.
-
Bases de mathématiques pour la géologie et la géographie,
Cours et Exercices corrigés, par Sandrine Fleurant et Cyril Fleurant, 2016, Dunod.
Programmes utilisant Xcas:
Geogebra:dans la vue CAS
Facilimaths:Exercices en
lignes (niveau lycée), propose aussi une extension PHP pour Giac. Par Jean-Pierre Branchard.
Tablor:par Guillaume Connan,
un programme générant
automatiquement des tableaux de variations LaTeX, les calculs
sont effectués;s par Giac, cf.
le mode
d'emploi.
En combinant
tablor avec
pgiac et LaTeX,
on simplifie la rédaction de corrigés, comme sur cet exemple
de G. Connan:
PDF,
LaTeX.
Kruptor:Kruptor est un paquetage de procédures
écrites en xcas dans le style Maple, qui permet de programmer facilement des démonstrations des
fonctionnements des systèmes cryptographiques. Un certain nombre d'exemples sont fournis dans le
paquetage.
Giac/Xcas (c) 2022 B. Parisse, R. De Graeve, Institut Fourier, Université de Grenoble. Ce site est fourni aux
conditions de la GFDL (Gnu Free Documentation Licence).
Remerciements à Elie Carrot, Eliott Dokenoo et Zexi Ru dont le travail sur le site web de Xcas a inspiré le design de cette page.