Session_Xcas
Keywords: xcas, firefox, navigateur, calcul, formel, en, ligne, programmation, algorithmique

pour deficients visuels, English version.
Bienvenue dans Xcas pour Firefox ou navigateur compatible (c) 2018, B. Parisse et R. De Graeve, Institut Fourier, Université de Grenoble.
Si Xcas ne fonctionne pas, effacez le cache du navigateur et rechargez.
Restaurer la session précédente
ou

### Configuration

E-mail personnel correspondant
Chiffres: Autosimplification: Syntaxe ,
, , , ,
, ,
Tortue par Sortie par
Taille maximale de l'assistant matrice , déformable
Documentation online

session

- Tapez votre calcul ou programme dans la ligne de commande en bas de la page (attention, tapez `1.2` pour 1 virgule 2). Cliquez sur l'icone de `Xcas` ou le bouton `Prog` pour afficher des assistants mathématiques ou algorithmiques, ou sur `123` pour le clavier scientifique. Validez par la touche Entrée ou le bouton ✅ en vert.
  Pour obtenir de l'aide sur une commande, tapez le début de son nom puis cliquez sur le bouton `?`. Pour trouver les noms des commandes, cliquez sur un des thèmes ci-dessous, ou consultez le guide de Xcas
- Vous pouvez échanger des sessions de calculs Xcas entre plusieurs personnes par email. Renseignez une fois pour toutes les champs e-mail de la configuration (bouton Réglages en haut à gauche) et validez. Vous pouvez alors envoyer votre session à votre correspondant en cliquant sur le lien Mail, modifiez le destinataire si nécessaire. Le destinataire clique sur le lien du mail ce qui ouvrira un clone de votre session dans son navigateur. Il peut alors modifier ou corriger votre session, et si il clique sur le lien Mail, il vous renvoie votre session avec les corrections.
  Lorsqu'une session est envoyée par mail, le nom de la session chez le destinataire est modifié par ajout préfixé de l'adresse e-mail de l'envoyeur, sauf si le nom de session contient @. Si le nom de session commence par @, le caractère @ est supprimé.
  Exemple: un enseignant envoie à ses élèves une session énoncé. Il choisit un nom de session commencant par @, par exemple `@exercice`, il crée la session puis il clique sur le lien Mail et met comme destinataire l'alias mail de la classe. Les élèves font le travail et le renvoient en cliquant sur le lien Mail, qui contient automatiquement l'adresse mail de l'enseignant. Le nom de session devient alors `mail_eleve@fournisseur@exercice` ce qui permet à l'enseignant de savoir qui il corrige. L'enseignant corrige la session et la renvoie, le nom de session reste inchangé.
- Vous pouvez optionnellement installer Xcas sur votre appareil, ce qui permet de l'utiliser en mode avion.
  Pour installer Xcas, téléchargez xcashtml.zip, dézippez-le (par exemple avec Androzip sur Android), cherchez le fichier `xcasfr.html` (sur Android depuis ici) et ouvrez-le avec votre navigateur. Vous pouvez créer un raccourci sur votre écran d'accueil depuis le menu de votre navigateur.
- Voici quelques exemples de sessions illustrant des concepts mathématiques ou algorithmiques au lycée.
  - Variables, types, affectation, test, boucle, fonction, syntaxe Xcas ou Python
  - Seconde: tortue. Cliquez sur le bouton
    pour voir des exemples.
  - Seconde: tracé de courbe, syntaxe Xcas ou Python
  - Seconde, longueur de courbe Python
  - Seconde: Équation d'une droite Xcas ou Python
  - Seconde, recherche de minimum Xcas, Python
  - Seconde, fréquence dans un échantillon, syntaxe Xcas ou Python
  - Lycée: décomposition d'un entier en facteurs premiers par division Xcas, Python
  - Première, équation du second degré Xcas, Python
  - Première, suites Xcas , Python
  - Première, Loi binomiale et loi géométrique tronquée Xcas , Python
  - Première Triangle de Pascal Xcas Python
  - Terminale: Dichotomie Xcas , Python
  - Terminale, Calcul approché d'intégrales. Xcas Python
  - Terminale: distribution cumulée loi normale
  - Convergence d'une moyenne vers la loi normale.
  - identité de Bézout.
  - Marche aléatoire sur un graphe
- - Licence: Nombres flottants
  - Licence Systèmes linéaires, LU, conditionnement
  - Licence Décomposition QR, moindres carrés, exemple régression linéaire
  - Polynôme en une variable: Horner et Taylor
  - Interpolation polynomiale phénomène de Runge, points de Tchebyshev
  - Intégration numérique rectangles, trapèzes, Simpson, ordre
  - PGCD de polynômes d'Euclide ou sous-résultant
  - Bases de Groebner cyclic6. Pour des calculs plus intensifs, installez Firefox version ≥ 58 et inspirez-vous de cyclic7 modulaire. Pour des calculs vraiment intensifs, utilisez la version native de Xcas.
  - Produit, quotient de polynômes à plusieurs variables (pour navigateur compatible avec web-assembly, par exemple Firefox ≥ 58) benchmark de Fateman n=20
  - Approx benchmarks
  - Exact benchmarks
  - Deux exemples de fractales
    - Fractale de Mandelbrot Xcas, Python,
    - Fractale de Newton ou bassins d'attraction des racines d'un polynome Xcas, Python
- Cette feuille de calcul est composée du haut vers le bas de:
  - Un panel de boutons permettant de restaurer/sauvegarder une session, et des aides à la saisie de commandes (Xcas/math, programmation, clavier scientifique, documentation) . Au lancement de Xcas, le panel est réduit à insertion d'une session, consultation des manuels, configuration et restauration de la session précédente. Dès que vous avez validé une commande, il apparait
    - un lien Clone (respectivement local) qui permet de cloner une session existante (respectivement localement). A utiliser si le noyau de calcul formel a crashé ou pour copier-coller dans une page web, ou pour exécuter dans Xcas natif.
    - un lien Mail qui permet de partager votre session par e-mail.
  - une zone d'aide, qui contient des courtes description des commandes dont vous avez demandé la syntaxe. Vous pouvez effacer l'aide avec le bouton d'effacement à droite du champ de recherche.
  - un historique qui contient 0 ou plusieurs niveaux (0 au début). Un niveau est une paire ligne de commande (en noir)/résultats (en bleu), les boutons ↑ et ↓ permettent de déplacer un niveau dans l'historique. Vous pouvez modifier une ligne de commande de l'historique et valider en cliquant sur le bouton ✅ ou sur Entree en début de champ. Vous pouvez placer un niveau dans la corbeille avec le bouton d'effacement à droite du niveau. Pour le restaurer, cliquez sur le bouton Restaure, pour l'effacer définitivement cliquez sur le bouton Vide. Le lien `+` à droite du bouton Vide permet d'ouvrir un nouvel onglet sur une session vide.
  - une ligne de commande, on y tape des commandes ou des programmes Xcas, et on valide en cliquant sur le bouton ✅ ou en tapant Entree. Pour passer à la ligne dans un programme, tapez Shift-Entree au clavier ou utilisez le bouton `\n`.
    Par exemple, tapez un calcul simple comme `1/2+1/3` ou `sin(pi/4)` ou `sin(pi/4.0)`.
    Pour vous aider à remplir la ligne de commande, vous pouvez cliquer sur le bouton 123 qui fait apparaitre le clavier scientifique et sur l'icone de Xcas qui contient des commandes fréquemment utiliées et des assistants (déplacez la souris près des boutons pour une description de leur action).
    Si vous connaissez le nom d'une commande, vous pouvez taper (le début) du nom d'une commande (par exemple `factor`) puis la touche
    ou cliquer sur le bouton
    pour obtenir une aide courte sur la commande (si elle est complète) ou des suggestions de noms de commande (sinon).
    Par exemple, cliquer sur le bouton `math` puis `reecr.` puis `factor` puis tapez sur `?`, observez l'aide en haut, cliquez sur un des exemples ou completez avec x^4-1 puis tapez Entree.
    Sur mobile, vous pouvez sélectionner du texte en laissant le doigt appuyé sur un mot, puis taper sur l'icone avec des ciseaux (pour couper) ou avec deux feuilles (pour copier), pour coller le presse-papier, laisser le doigt appuyé puis taper sur l'icone avec une feuille. Vous pouvez aussi appuyer sur les boutons `beg` et `end` pour marquer le début et la fin de la sélection, puis optionnellement sur `del` pour effacer, puis sur `cp` pour coller ce que vous aviez sélectionné.
    Vous pouvez entrer du texte commentant votre session en tapant une ligne de commande commencant par `//` ou en cliquant sur le bouton `math` puis `texte`. Vous pouvez utiliser des commandes de balisage HTML dans un commentaire. Lorsque vous éditez un commentaire, des boutons facilitent la saisie des commandes HTML pour créer un titre, ou écrire en gras ou italique ou fonte fixe. Vous pouvez aussi taper des mathématiques entre deux signes dollar ($), il faut saisir un morceau de ligne de commande valide, ce morceau de ligne de commande sera interprété par Xcas sans etre évalué puis transformé en MathML pour affichage 2d, par exemple `$x[n+1]^2$` affichera x indice n+1 exposant 2, `$A=[[1,2],[3,4]]$` affichera une matrice (sans donner de valeur à A), `$integrate(sin(x),x,0,pi)$` affichera l'intégrale de sinus x entre 0 et pi sans la calculer. Les symboles des ensembles tels que ℤ,ℕ s'obtiennent par $ZZ$, $NN$.
  - une console qui affiche des messages du CAS : erreurs de syntaxe mais aussi lors d'un calcul en mode pas-à-pas, par exemple d'une dérivée. La console n'est pas visible si elle est vide. Vous pouvez effacer la console ou ajuster sa taille verticale.
  - une zone affichant des graphes 3d lorsqu'on exécute une commande ayant une sortie graphique 3d. Cette zone n'est pas visible s'il n'y a pas de graphique 3d.
  A tout moment, vous pouvez sauvegarder l'historique, avec le nom de session affiché à droite du bouton `Sauve` (par défaut `session`). Une session sauvegardée s'ouvre ensuite avec le bouton Charger. Sur mobile, les sauvegardes sont faites dans localStorage. Vous pouvez aussi exporter la feuille de calcul (sauf sur mobile), 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.
  Vous pouvez ouvrir (partiellement) dans Xcas pour Firefox une session existante Xcas natif en la clonant (menu Fich, Clone du programme Xcas, ou en ligne de commande `xcas --online nom_fichier.xws`)
  Notez que Chrome (et plus généralement le navigateur installé par défaut sur votre appareil) est beaucoup plus lent que Firefox pour faire les calculs (5 fois plus lent environ), en particulier le premier calcul dure une bonne dizaine de secondes. De plus, Chrome n'a pas de support natif pour afficher les formules en 2d en mathml, il faut alors charger MathJax ce qui nécessite un accès réseau.
  Il est donc recommendé de télécharger Firefox et d'exécuter Xcas depuis Firefox
- Manuels de Xcas
  La version "disque dur" est accessible en local sous Linux si vous avez installé `giac`, sinon sélectionnez la version "Internet".
  - Algorithmes de calcul formel et numérique: PDF disque dur, Internet, HTML disque dur, Internet,
  - Programmation : algorithmique lycée, disque dur, Internet,
  - Géométrie : disque dur, Internet,
  - Simulation : disque dur, Internet,
  - Tortue logo : disque dur, Internet,
  - Exercices : disque dur, Internet,
  - Amusement : disque dur, Internet,
- 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 au moins 300M de RAM disponible) à partir du code du CAS (13M) 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 beaucoup plus (par exemple 8 fois plus lent pour un calcul intensif de bases de Groebner). La plupart du temps, cela n'est pas vraiment genant, mais si vous devez exécuter un gros calcul, il vaut mieux installer Xcas!
  Giac/Xcas (c) 2018 B. Parisse, R. De Graeve, Institut Fourier, Université de Grenoble, sous licence GPL3, pour une licence commerciale nous contacter.
  Sortie mathml et SVG (c) code principalement écrit par J.P. Branchard.
  Commandes d'optimisation écrites par Luka Marohnić.
- Il n'existe pas de manière universelle de simplifier une expression, parfois il vaut mieux développer, parfois factoriser, parfois linéariser, etc., il est donc important de connaitre quelques commandes de réécriture, que l'on peut retrouver depuis le menu Math, réécr.
  - L'appui sur le bouton `math` puis `réecr.` puis `simpl` insère la commande
    , tapez ensuite l'expression que vous voulez développer et simplifier.
    ,
    ,
    sont des versions moins puissantes mais plus rapides que simplify (normal ne recherche pas de relations entre fonctions trigonométriques et exponentielles, ratnormal n'effectue que des simplifications rationnelles, reorder réordonne selon une liste de variables).
  - factorise sur R,
    sur C
  - décompose en éléments simples sur R,
    sur C.
  - développe les expressions trigonométriques, exponentielles et logarithmes,
    linérise les exponentielles,
    linérise les expressions trigonométriques.
  - permet de substituer une ou des variables par une ou des valeurs
  - Conversions trigo:
    ,
    ,
    ,
    ,
  - Autres:
    ,
    ,
- - Pour créer un vecteur, tapez ses coordonnées séparées par des virgules entre 2 crochets [].
    produit scalaire de deux vecteurs,
    produit vectoriel en dimension 2 ou 3.
  - Pour créer une matrice, utilisez l'assistant `matrix` du menu `math`. Vous pouvez définir les coefficients par une formule en fonction de la ligne et de la colonne ou élément par élément (vous pouvez entrer plusieurs coefficients en les séparant par un espace et passer à la ligne suivante avec Entree). Pour une matrice aléatoire, utilisez l'assistant `alea`.
  - Les indices de lignes et colonnes commencent à 0 avec une seule paire de `[]` et à 1 avec une double-paire `[[]]`, par exemple
    ou
    .
  - Vous pouvez utiliser `+,-,*` et
    pour effectuer les opérations usuelles sur les matrices.
  - transposée,
    : transconjuguée,
    identité
  - système linéaire,
    : pivot de Gauss,
    : déterminant,
    : inverse,
    : décomposition LU et application à
    ,
  - polynome caractéristique ou
    minimal,
    vecteurs et valeurs propres.
  - Factorisations
    ,
    ,
    ,
  - Normes
    ,
    ,
    :
    de matrice subordonnée
- Les commandes fréquentes se trouvent dans le menu Math, bouton arit. Certaines commandes agissent indifféramment sur les entiers et sur les polynômes, par exemple `gcd` ou `lcm`, d'autres commandes ont deux versions, celle qui agit sur des entiers a comme initiale `i`, par exemple `irem` est le reste euclidien pour des entiers, et `rem` pour des polynômes.
  - ,
    PGCD et PPCM
  - ,
    ,
    : reste et quotient de la division euclidienne sur les entiers
  - identité de Bézout sur les entiers,
    solutions de au+bv=c,
    test de pseudo-primalité,
    prochain nombre premier,
    factorisation d'entier, indicatrice d'
    ,
    puissance modulaire rapide.
  - ,
    ,
    : reste et quotient de la division euclidienne sur les polynomes. La variable par défaut est `x`, sinon l'indiquer en 3ème argument
  - identité de Bézout sur les polynomes,
    solutions de au+bv=c,
    valeur en un point par Horner,
    interpolation polynomiale.
  - Pour travailler dans ℤ/nℤ, utiliser le signe `mod`, par exemple `x^3+5x-11 mod 17` est un polynome a coefficients dans ℤ/17ℤ. Pour travailler sur un corps fini non premier, utiliser la commande
- Depuis le bouton `math`
  - l'assistant `solve` vous guidera pour résoudre une équation ou un système polynomial en mode exact ou approché sur les réels ou les complexes (fonctions
    )
  - Pour résoudre une équation différentielle, cliquez sur `analyse` du menu `Math`,
    pour un calcul exact,
    approché, ou cliquez sur `graphe` puis
    pour un graphe de solution approchée.
  - Pour calculer le terme général d'une suite récurrente (ou d'un système), cliquez sur `u_n` du menu `Math` (commande
    ).
- Le `math` contient des assistants pour définir une fonction (bouton `fonct`), déterminer le tableau de variations d'une expression (`f(x)`), travailler avec des suites (`u_n`), calculer une somme (`∑`), des limites (`limit`), des dérivées (`∂`), des primitives et valeurs d'intégrales (`∫`), des développement limités (`series`).
  Par exemple pour définir une fonction algébrique `f` d'une variable, cliquer sur `fonct` de `math` puis mettre `f` comme nom de fonction, `x` comme liste des arguments et `sin(x^2)` comme valeur renvoyéee :
  . On peut ensuite calcule la valeur de `f` ou de sa dérivée par
  .
  Une dérivée se calcule avec
  ou `'`. Une primitive d'une expression se calcule avec
  , par exemple
  , pour une intégrale entre deux bornes
  .
  Enfin
  et
  permettent de calculer une limite ou un développement de Taylor, par exemple
- Utiliser l'assistant `al&ecute;a` de `math` pour générer des nombres pseudo-aléatoires.
  Lois continues:
  ,
  ,
  ,
  ,
  ,
  ,
  ,
  ,
  .
  Lois discrètes :
  ,
  ,
  ,
  .
  Les distributions cumulées s'obtiennent en rajoutant le suffixe `_cdf` ou par la commande
  , et les inverses avec le suffixe `_icdf` ou par la commande
  .
  La commande
  permet de représenter un histogramme.
  La commande
  permet de décomposer une matrice de transition.
- Utiliser les assistants du bouton `math` pour créer un graphe d'une fonction d'une ou deux variables (`plot`, voir aussi `f(x)` pour avoir un tableau de variations), une courbe ou surface paramétrique (`param`), un champ de tangentes pour une équation différentielle (`field`).
  Exemples
  affiche le graphe 2d des fonctions sin(x) et x-x^3/6, alors que
  affiche un graphe 3d avec un plan, vous pouvez changer de point de vue à la souris.
  Vous pouvez aussi utiliser de nombreuses instructions géométriques:
  ,
  ,
  ,
  ,
  ,
  ,
  ,
  ,
  ,
  ,
  , ...
- Si vous n'avez jamais programmé, vous pouvez apprendre à le faire avec la tortue, cliquez sur le tutoriel `Tortue`.
  Le bouton `Prog` affiche des assistants pour créer les structures de programmation (test, boucle, fonction). Pour passer à la ligne dans un champ d'entrée déjà validé que vous modifiez, tapez Entree. Dans la ligne de commande en bas de page, il faut taper simultanément sur Shift-Entree ou utiliser le bouton `\n`. Pour indenter, utilisez le bouton `→|`. Le bouton `debug` permet d'exécuter une fonction en mode pas à pas pour la mettre au point.
  Plusieurs syntaxes sont acceptées, dont une syntaxe en francais très proche du langage algorithmique et une syntaxe compatible avec Python. Vous pouvez afficher un
  , regarder les sessions exemples ou lire le manuel de programmation lycée.
  Voici un programme calculant la somme des carrés de 1 à x écrit en syntaxe Xcas
  `fonction f(x)
  local y,s;
  si x > 100000 alors retourne "Nombre trop grand"; fsi;
  s:=0;
  pour y de 1 jusque x faire
  s:=s+y^2;
  fpour
  retourne s;
  ffonction:;`
  En syntaxe compatible Python
  `def f(x):
  # local y,s
  if x > 100000:
  return "Nombre trop grand"
  s=0
  for y in range(x+1):
  s=s+y**2
  return s
  `
- La tortue est un module pour apprendre à programmer, utilisable dès le primaire. Il s'agit d'un robot qui se déplace selon des commandes avec un crayon qui marque son passage, avec une couleur donnée.
  Cliquez sur le bouton Prog puis Tortue à droite, puis sur le bouton `nouveau` de la ligne du dessous pour créer un dessin tortue.
  Deux champs d'entrée sont créés, le second sert à saisir les commandes de déplacement de la tortue, en-dessous de la commande `efface`. La barre de bouton à droite du bouton `nouveau` `av rec td ...` permet de saisir facilement les commandes de déplacement, comme `avance` (la tortue avance de 10 pas ou de la longueur indiquée en paramètre), `recule` `tourne_droite` (la tortue tourne à droite, par défaut de 90 degrés), etc.
  Par exemple, si vous cliquez juste en-dessous de `efface`, puis sur le bouton `av` puis sur le bouton `tg` puis validez la ligne, la tortue se déplacera de 10 pixels vers la gauche puis s'orientera vers le haut.
  Le premier champ d'entrée sert à définir des fonctions regroupant plusieurs instructions de déplacement, il peut contenir des tests et des boucles. Vous pouvez vous aider des assistants `test`, `boucle` et `fonct` pour créer une nouvelle fonction.
  Voici un exemple de construction de carrés et polygones réguliers Xcas, Python, ou Joyeux Xcas, Joyeux Xcas (version Python)
  Le manuel tortue de Xcas explique ces commandes et contient de nombreux exemples d'activités dès le primaire.

{}
""
Choisir un tracé de
ou
Expression
variable x
xmin -4
xmax 4
xstep 0.0625
Expression
1ère variable x=-3..3
2ème variable y=-3..3
xstep 0.25
ystep 0.25
Choisir un tracé de
ou
paramétrique.
x(t)=
y(t)=
variablet
tmin -4
tmax 4
tstep 0.0625
x(u,v)=
y(u,v)=
z(u,v)=
1ère variable u=-3..3
2ème variable v=-3..3
ustep 0.25
vstep 0.25
f(x,y)=
Variable xx=-3..3
Variable yy=-3..3
xstep 0.25
ystep 0.25
niveaux=
Champ des tangentes pour une équation dy/dt=f(t,y) ou un système autonome 2-d d[x,y]/dt=f(x,y)
f=
Variable t (ou x)t=-3..3
Variable yy=-3..3
xstep 0.25
ystep 0.25
init=
Courbe en polaire
expression
variable θ t
θmin
θmax
θstep
Équation différentielle
Variable t, inconnue y
Conditions initiales optionnelles
Développement limité
expression
variable x
en
ordre
Polynome polynom
Limite de :
expression
variable x
en
Direction optionnelle
Intégrale de
expression
variable x
de (optionnel)
à (optionnel)
Somme de
expression
variable j
de (optionnel)
à (optionnel)
Dérivée de
expression
variable x
Nombre de dérivées 1
Loi actuelle , paramètres optionnels
Choisir une autre loi
ou
ou ou ou
Moyenne, Ecart-type, Quartiles, Histogramme, Boite a moustache,
Nuage de points reliés, Régression linéaire
Risque α=

- Intervalle de confiance : (n=≥30, p=), (μ=, σ= n=)
  ,
- Adéquation data/data : , , ou
- Adéquation data/loi : ou : μ= (σ= optionnel),
  Alternative H1 <, ≠, >

: par
(j,k)-> (indices de 0 à taille-1)
Lignes - , colonnes -
Générer par nombres ou selon une
Entiers entre 0 et n ou n et -n avec n=
Choisir type de boucle
ou
pour
de
jusque
pas optionnel
Tests :
tantque
Résoudre
l'équation ou le système
d'inconnue(s)
Choisir entre
ou
Relation(s) de récurrence
Suite(s) inconnue(s) u(n)
Conditions initiales u(0)=1
u_(n+1)=f(u_n) avec f(x):= et u(0)=
Nombre de termes n= 10
Représentation graphique entre 0 et 2
Tests :
si
alors
sinon (optionnel)
Nouvelle fonction
nom de la fonction f
liste des arguments x
variables locales
valeur renvoyée
Création d'une séquence ou tableau de valeurs,
expression
variable
de
jusque
Pas optionnel
Choisir entre étude de
ou de
Étude de fonction (dans la console) et tracé de
f( x) :=
xmin -4
xmax 4
xstep 0.0625
Option : diff
.
x1 (t):=
y1(t):=
tmin -4
tmax 4
tstep 0.0625

+

### Console

Downloading...