Webxcas est une interface de démonstration du
système de calcul formel
Giac/Xcas
compilé en javascript 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)
à 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.
Historique
Corbeille
Variables
Commande :
Cette feuille de calcul est composéee de
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, les boutons bleus copy et ~ permettent de copier
le résultat ou la commande pour 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 entrer un commentaire en tapant une ligne de commande
commencant par //
une ligne de commande, on y tape des commandes Xcas, et on
valide en cliquant sur le bouton ok ou en tapant Entree.
Pour vous aider à remplir la ligne de commande,
vous pouvez cliquer sur le bouton clavier ci-dessus
et déplacer la souris près des touches du clavier
scientifique, ou cliquer avec le bouton droit sur le mot Commande.
Vous pouvez taper ? suivi du nom d'une commande pour obtenir une
aide courte sur la commande. Par exemple
affiche de l'aide sur la commande ifactor.
Vous pouvez vous inspirer des exemples ci-dessous
et consulter la
documentation
de Xcas.
on peut faire apparaitre ou disparaitre le
clavier scientifique entre l'historique des commandes et la ligne de
commande (bouton clavier à droite de la ligne de commande).
On peut faire apparaitre ou disparaitre ce tutoriel
en cliquant sur le bouton Tutoriel
à 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.
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