Xcasfr.html est une interface javascript optimisée pour Firefox
du système de calcul formel
Giac/Xcas
compilé par emscripten (l'éditeur de
programme de cette interface
utilise CodeMirror).
Il n'a pas besoin de serveur, il s'exécute localement
(avec le moteur javascript de votre navigateur qui doit être récent,
mettez-le à jour pour avoir de bonnes performances, il faut
aussi avoir environ 300M de RAM disponible)
à partir du code du CAS (12M) qui est téléchargé
une fois. Le prix à payer pour cette simplicité
est la vitesse, le code est au moins 2 fois plus lent, parfois plus
de 15 fois plus lent (par exemple pour le calcul de bases de
Groebner comme cyclic7).
La plupart du temps, cela n'est pas vraiment
genant (ce qui justifierait une interface plus conviviale...), mais
si vous devez exécuter un gros calcul, il
vaut mieux installer
Xcas!
Giac/Xcas (c) 2015 B. Parisse, R. De Graeve, Institut Fourier, Université
de Grenoble I, sous licence GPL3, pour une licence commerciale nous
contacter.
Sortie mathml et SVG (c) code principalement écrit par J.P. Branchard.
Manuels de Xcas
Commande :
Cette feuille de calcul est composée de :
un logo Xcas et un panel de boutons permettant de restaurer/sauvegarder
une session et de gérer l'historique, la corbeille et les
variables. Lorsque l'historique est vide, le panel est
réduit à insertion d'une session, consultation des
manuels et configuration. S'il n'est pas vide, notez le lien Clone
qui permet de cloner une session existante, ce qui peut servir si
le noyau de calcul formel a crashé ou pour copier-coller
vers un email ou une page web.
un historique (vide au début).
Les lignes de commande y apparaissent en noir, les résultats en
bleu, les boutons ↑ et ↓ permettent de déplacer un niveau
dans l'historique, le bouton bleu ~ permet d'avoir une valeur
numérique du résultat. Vous pouvez modifier une ligne
de commande de l'historique et valider en cliquant sur le bouton ok
(attention Entree ne valide pas mais ajoute un saut de ligne). Vous
pouvez placer un niveau dans la corbeille avec le bouton
d'effacement à droite du niveau (pour l'effacer
définitivement cliquer sur le bouton Vider de la Corbeille,
pour le restaurer cliquer sur le bouton Restaurer de la Corbeille).
une ligne de commande, on y tape des commandes Xcas, et on
valide en cliquant sur le bouton ok ou en tapant Entree.
Vous pouvez entrer un commentaire en tapant une ligne de commande
commencant par // (vous pouvez utiliser des commandes de
balisage HTML dans un commentaire).
Pour vous aider à remplir la ligne de commande,
vous pouvez cliquer sur le bouton ci-dessus
et déplacer la souris près des touches du clavier
scientifique. Avec Firefox, vous avez un menu de commande
en cliquant avec le bouton droit
sur le mot Commande.
Vous pouvez taper (le début) du nom d'une commande
(par exemple factor) puis
la touche ou
ou cliquer sur le bouton
pour obtenir une
aide courte sur la commande.
Vous pouvez vous inspirer des exemples ci-dessous
et consulter la
documentation
de Xcas.
un clavier scientifique
que l'on peut faire apparaitre ou disparaitre
entre l'historique des commandes et la ligne de
commande (bouton clavier à droite de la ligne de commande).
Le tutoriel que vous lisez, pour le faire disparaitre
cliquez sur le bouton
à droite de Commande.
un éditeur de programmes avec coloration syntaxique
(cliquer sur Editeur pour le cacher ou le montrer). On y
tape des programmes en syntaxe Xcas, pour les valider cliquer sur le
bouton ok situé entre le bouton Editeur et l'éditeur.
une zone affichant des graphes 3d lorsqu'on exécute une commande
ayant une sortie graphique 3d.
une console qui affiche des messages.
Vous pouvez sauvegarder l'historique
ou exporter la feuille de calcul. La sauvegarde
occupe peu de place et s'ouvre depuis cette page avec le bouton
Charger, l'export occupe plus de place mais
permet de publier le fichier HTML comme une page autonome.
Vous pouvez sauvegarder les graphes 2d au format SVG avec le bouton
save à droite du graphe. Le fichier SVG créé
est au format 1.2 (il utilise la balise
vector-effect="non-scaling-stroke" qui n'est pas compris
par tous les visualisateurs ou convertisseurs).
Sous Firefox, pour pouvoir
choisir l'emplacement de sauvegarde et écraser
une version antérieure, cocher Toujours demander...
dans Préférences,
Général, Téléchargements)
Algèbre :
Vous pouvez développer une expression avec
par exemple .
Réciproquement,
(respectivement )
factorise une expression (par exemple )
sur Q (resp. Q[i]). Pour factoriser un entier, utiliser la commande
.
Autres exemples : simplify(sin(3x)/sin(x)); gcd(x^4-1,x^3-1)
(simplification, PGCD).
Résoudre : solve(x^2-3*x+2=0); et csolve(x^2=2*i);
permettent de résoudre une équation sur les
réels ou les complexes. Exemple de résolution de système
solve([x+y=1,x-y=3],[x,y]). Pour résoudre
numériquement, utiliser fsolve.
Analyse :
Vous pouvez définir une fonction f par
, puis calculer la valeur
de f ou de sa dérivée par
f(sqrt(pi)); f'(2); f'(y) . Une primitive d'une
expression se calcule par int(1/(x^4-1));,
pour une intégrale entre deux bornes
int(1/(x^4+1)^4,x,0,+infinity);. Enfin
limit(sin(x)/x,x=0); series(sin(x),x=0,5,polynom);
permettent de calculer une limite ou un développement de Taylor.
Algèbre linéaire :
définit une matrice A ayant 2 lignes et 2 colonnes,
on donne les coefficients par lignes. Quelques instructions
inv(A); det(A-x*idn(A)); A[0,0]; rref(A);
eigenvalues(A); eigenvectors(A); (inverse, déterminant,
matrice identité, accès à un
élément
de matrice, réduction sous forme échelonnée,
valeurs et vecteurs propres).
Graphes (pour les graphes 3d, vous pouvez changer le point de
vue) :
plot([sin(x),x-x^3/3!],x=-3..3,color=[red,blue]) affiche
le graphe des fonctions sin(x) et x-x^3/6 en 2d, alors que
plotfunc(x^2-y^2,[x=-2..2,y=-2..2]);plan(z=0,color=cyan+filled);
affiche un graphe 3d avec un plan.
Vous pouvez aussi utiliser de nombreuses instructions
géométriques: droite, cercle, ellipse, ...
Programmes : vous pouvez taper un programme dans l'éditeur de
texte ci-dessous. Plusieurs syntaxes sont acceptées, pour
le moment la coloration syntaxique fonctionne avec la syntaxe Xcas
qui est très proche de Javascript. Par exemple
function f(x){
var y;
if (x > 100) return "Nombre trop grand";
for (y:=0;y < x;y++){
print(y+"^2="+y^2);
}
}
Nouvelle fonction
nom de la fonction
liste des arguments
variables locales
valeur renvoyée