Attention, le site du jury n'indique plus la présence de Xcas parmi les logiciels installés pour les oraux. J'ai essayé d'obtenir des explications, on me dit que les personnes en charge du parc informatique de l'oral trouvent l'installation de Xcas trop difficile (ça parait assez étonnant sachant que Giac/Xcas est un package standard des distributions Linux majeures) par rapport au nombre de candidats qui l'utilisent. J'ai bien sur proposé mon aide technique à l'installation, mais je n'ai pas reçu de réponse. J'ai modifié la version en ligne de commande giac pour qu'on puisse lancer l'interface xcas, car ceci pourrait permettre de lancer Xcas depuis Sagemaths dans le future, mais les mainteneurs du package giac de Sagemaths refusent de compiler Giac/Xcas avec l'interface graphique par défaut.
Pour les gens qui connaissent bien Xcas, il reste possible d’utiliser giac, la version en ligne de commande de Xcas. Cette possibilité n’est pas garantie vu l’attitude du jury, mais elle fonctionne sur agregos 2023. Pour cela on ouvre Jupyter, puis Nouveau, puis Terminal, puis on tape la commande giac (ou icas). L’aide en ligne courte de Xcas est disponible en tapant ?nom_de_commande (si on connait approximativement le nom de commande, des noms de commandes proches sont proposés). Pour sauvegarder l’ensemble des commandes de la session en cours, vous pouvez utiliser la commande write, par exemple write("test"). Vous pouvez éditer le fichier (test dans l’exemple) en-dehors de giac avec un éditeur de texte (atom ou l’éditeur de pyzo). Vous pouvez ensuite exécuter la session avec la commande read("test") ou faire du copier-coller depuis l’éditeur.
Depuis une session sage, vous pouvez aussi taper %giac suivi par une commande Xcas.
Si vous pensiez utiliser Xcas à l'oral 2023 (ou après), merci de m'envoyer un email à l'adresse parisse at univ-grenoble-alpes point fr.
Agrégation de mathématiques : oral de modélisation avec Xcas
Modélisation avec Xcas
Agrégration de mathématiques

Xcas

Cette page contient des informations utiles aux candidats pour l'épreuve d'oral de modélisation de l'agrégation de mathématiques (options A, B ou C) qui envisagent d'utiliser Xcas, certaines parties peuvent également servir aux candidats pensant utiliser d'autres logiciels, à savoir les parties décrivant la documentation en ligne (manuels, exemples de petits programmes) en relation avec le programme, les algorithmes utilisés par Xcas et les exemples de texte.

Quelques raisons de choisir Xcas :

Si je vous ai convaincus que Xcas mérite un essai, voici maintenant des informations relatives à son installation et à son utilisation pour l'oral de modélisation à l'agrégation.

Télechargement de Giac/Xcas

Vous pouvez Une fois Xcas installé, vous pouvez vous familiariser à son utilisation avec le tutoriel en ligne (menu Aide, Débuter en calcul formel) ou ce document TP agreg 1 pour l'option C. Vous pouvez aussi ajouter dans votre navigateur un lien vers le forum.

Attention:


Méthodes numériques (chapitre 13)

Une grande partie du programme du chapitre 13 provient de parties traitées auparavant en modélisation option B. On peut sans doute supposer que le degré de maitrise des aspects modélisation attendu sera plus grand pour les candidats à l'option B que pour les candidats des autres options, mais on peut imaginer que les textes des autres options qui s'y pretent peuvent faire usage d'une méthode de ce programme.

Systèmes d'équations linéaires

Résolution de systèmes d'équations non linéaires.

Cas des systèmes linéaires : méthodes itératives. Recherche d’éléments propres : méthode de la puissance. Optimisation de fonctions convexes en dimension finie, méthode du gradient à pas constant, moindres carrés. Problèmes non linéaires réels et vectoriels : méthode de dichotomie, méthode de Picard, méthode de Newton, vitesse de convergence et estimation de l’erreur.

Intégration numérique

Méthode des rectangles, estimation de l’erreur. Méthode de Monte-Carlo : vitesse de convergence, application au calcul d’intégrales multiples.

Approximation de fonctions numériques

Equations différentielles ordinaires

Aspects numériques du problème de Cauchy: méthode d’Euler explicite, consistance, stabilité, convergence, ordre.

Transformée de Fourier

Transformée de Fourier discrète sur un groupe abélien fini. Transformée de Fourier rapide. La commande fft calcule une transformée de Fourier discrète, ifft calcule l'inverse. Pour un calcul approché sur C, on passe en argument une liste des nombres.
Exemple
v:=randvector(2^14,uniform,0,1):; w:=fft(v):; maxnorm(ifft(w)-v);
Pour un calcul exact sur Z/pZ, on passe en argument une liste de taille n d'entiers compris entre 0 et p-1, un entier a racine primitive n-ieme de 2 modulo p et p.
Exemple avec p=35969
p:=35969; n:=2^7; a:=22798;
v:=randvector(n,p):;
powmod(a,n,p); powmod(a,n/2,p);
w:=fft(v,a,p):;
ifft(w,a,p)-v;

Option A (probabilités)

Remarques préliminaires :

Probabilités discrètes: tirages uniformes, échantillons

La fonction rand permet de générer un entier ou réel (pseudos)-aléatoires selon la loi uniforme. La fonction ranm permet de générer une matrice d'entiers ou réels aléatoires selon plusieurs lois dont la loi uniforme,

Chaînes de Markov

Distributions préprogrammées.

Les distributions à support continu ont leur noms terminant par d uniformd, normald, exponentiald, chisquared, studentd, fisherd, cauchyd, weibulld, contrairement aux distributions à support discret binomial, negbinomial, poisson, geometric.
Les fonctions de répartition (en anglais cumulated distribution function ou distributions cumulées) s'obtiennent avec le suffixe _cdf, leurs inverses avec le suffixe _icdf. Les paramètres se mettent en premier, puis la variable.
Certaines commandes de Xcas reconnaissent ces distributions, par exemple les générateurs de nombres aléatoires (voir ci-dessous), la commande plot pour représenter graphiquement une distribution (graphe ou histogramme selon la loi), plot_cdf pour représenter graphiquement la distribution cumulée, pour représenter l'inverse de la fonction de répartition, on peut utiliser plot et la fonction de suffixe _icdf pour les lois continues, ou tout simplement prendre la symétrique par rapport à la 1ère bissectrice, par exemple
symetrie(droite(y=x),plot_cdf(binomial,10,.4))
Vous pouvez bien sur étendre ces distributions avec d'autres lois, mais elles ne seront pas reconnues par plot_cdf, ranv/ranm ou les tests d'adéquation. Vous devrez alors compléter, par exemple pour la génération de valeurs distribuées selon cette loi, vous pouvez utiliser l'algorithme du rejet (voir par exemple la session Aide, Exemples, proba, rejet), ou si la loi est à densité et que son intégrale peut se calculer à la main ou avec Xcas calculer la fonction de répartition inverse (éventuellement en utilisant la fonction fsolve).

Simulation

Un mot sur les algorithmes utilisés par Xcas pour générer des échantillons selon une loi. On utilise d'abord un générateur entier, le Tiny Mersenne Twister (127 bit internal state, de Mutsuo Saito (Hiroshima University) et Makoto Matsumoto (The University of Tokyo)). On en déduit facilement un générateur d'entiers selon la loi uniforme sur un intervalle. Puis un générateur de flottants selon la loi uniforme. Pour les autres lois

Représentations graphiques

Pour représenter graphiquement les distributions préprogrammées et leurs fonctions de répartition (et inverses) voir ci-dessus.
Le menu Graphe, Proba contient plusieurs instructions de représentation graphique: histogram (données rangées par classes), diagramme_batons, plotlist, moustache statistiques 1-d, scatterplot, polygonplot, polygonscatterplot statistiques 2-d ainsi que tous les graphes de régression linear_regression_plot, exponential_regression_plot .... On peut aussi citer plot qui permet de tracer des graphes de fonction.

Tests

Xcas propose 4 tests préprogrammés (nom de la loi suivi du suffixe t):

Option B (calcul scientifique)

Remarques générales :

Références:

EDP

Notions élémentaires sur les équations aux dérivées partielles classiques en dimension un. Équation de transport (advection) linéaire : méthode des caractéristiques. Équations des ondes et de la chaleur : résolution par transformée de Fourier et séparation des variables. Aspects qualitatifs élémentaires. Équations elliptiques. Exemples de discrétisation de problèmes aux limites en dimension un par la méthode des différences finies : notions de consistance, stabilité, convergence, ordre
Un exemple d'illustration Xcas du texte du jury À la découverte de la dynamique des gaz

Optimisation et approximation

  • Extremums des fonctions réelles de n variables réelles
    La fonction fMin (ou fMax) permet dans certains cas de localiser des extremas de fonctions de plusieurs variables sous contraintes, en utilisant l'algorithme Cobyla (Constrained Optimization BY Linear Approximation). La syntaxe est
    fMin(func,[contraintes],[variables],[guess],[eps],[maxiter])
    Les contraintes sont des expressions des variables qui doivent renvoyer une valeur positive, ainsi une condition x<1 sera traduite en 1-x, par exemple
    fMax(x*y*z,[x,y,z,1-x-y-z],[x,y,z],[1/4,1/3,1/4])
    va maximiser xyz sous les contraintes x>0, y>0, z>0, x+y+z<1 avec comme valeur initiale [1/4,1/3,1/4].
  • multiplicateurs de Lagrange
    Si on optimise f(x) sous les contraintes g_i(x)=0, cela revient à optimiser L(x,lamba_i)=f(x)+sum(lambda_i*g_i(x)) par rapport à x et aux lambda_i. Un exemple de résolution exacte triangle d'aire maximale (inclus dans Aide, Exemples, analyse, mult_lagr)
  • Mise en œuvre de l’algorithme de gradient à pas constant.
    Voir par exemple cette session Xcas, menu Aide, Exemples, analyse, grad_const
  • Méthode des moindres carrés et applications
    Voir ici le cas sans contraintes.

  • Option C (algèbre et calcul formel)

    Pour prendre en main Xcas, vous pouvez suivre ce TP agreg 1.
    Voici, point par point du programme, quelques informations pour l'usage de Xcas relativement à chaque point du programme de l'option C. Quelques remarques préliminaires:

    C.a: représentations

    Représentation et manipulation des entiers longs, flottants multiprécision, nombres complexes, polynomes, Z/nZ. Addition, multiplication, division. .

    C.b: algorithmes

    Algorithmes algébriques élémentaires. Exponentiation (n -> a^n, pour n entier), algorithme d'Euclide étendu. Coût de ces algorithmes. Test de primalité de Fermat. Application au chiffrement RSA

    C.c: Corps finis non premiers.

    Représentation des éléments d’un corps fini. Calcul effectif : addition, multiplication, inversion. Coût de ces opérations.

    C.d: Matrices sur un corps.

    Méthode du pivot de Gauss, décomposition LU. Calcul effectif du rang, du déterminant. Coût de ces calculs.
    Les algorithmes de Gauss, de calcul du noyau, etc. sont explicités dans le manuel de programmation.

    C.e: Codes correcteurs linéaires

    Distance de Hamming, distance minimale d’un code linéaire Exemples de codes correcteurs linéaires: codes de répétition, codes de Hamming binaire.
    La session codelin.xws (Aide, Exemples, crypto, codelin) illustre quelques aspects des codes linéaires. Le menu Aide, Exemples->crypto->reed_s.xws donne une session de calcul xcas illustrant les codes correcteurs de Reed-Solomon (rédigé pour le master 2 crypto de Grenoble). Pour les explications, cf. PDF (TeX). Cf. par exemple Demazure pour une introduction plus complète aux codes correcteurs.

    C.f Polynomes 1-d

    Évaluation (schéma de Horner), interpolation (Lagrange, différences finies). Coût de ces opérations. Localisation des racines dans R ou C: majoration en fonction des coefficients

    C.g Polynomes n-d

    Tout polynôme symétrique s’exprime en fonction des polynômes symétriques élémentaires. Résultants, élimination. pplications : résolution de systèmes polynomiaux, calcul de l’intersection de courbes algébriques planes, passage d’une paramétrisation à une équation implicite. Calcul effectif du résultant, coût de ce calcul.

    C.C Couts

    Aucune formalisation d'un modèle de calcul n'est exigée.

    Textes de modélisation option C

    J'ai regroupé dans ce message quelques commentaires sur la majorité des textes de l'option C rendus public par le jury. A ne lire qu'après avoir cherché soi-meme (de toutes facons ces commentaires sont souvent incompréhensibles sinon, il ne s'agit absolument pas d'exemples d'exposés de modélisation). On trouvera en complément quelques textes proposés à la préparation à l'agrégation de Grenoble (option C) en 2006. D'autres textes pour vous exercer sont disponibles sur le serveur de l'agrégation (ici), et dans d'autres préparations, par exemple Bordeaux et Rennes, suivre ce lien. Au fur et à mesure, je pense ajouter des exemples de sessions Xcas illustrant certain de ces textes.

    TP option C

    Vous trouverez aussi des énoncés de TP ainsi que des corrections pour vous exercer à la manipulation de Xcas pour l'option C sur le site de Jussieu (F. Han), de Marseille (D. Kohel).

    Liste des session Xcas

    Quelques références option C


    Si vous avez des suggestions d'ajout, vous pouvez les poster sur le forum ou me les envoyer à l'adresse bernard point parisse at univ tiret grenoble tiret alpes point fr.

    (c) B. Parisse, 2007, 2022.
    Si vous utilisez des données originales de cette page, je vous remercie de faire pointer un lien hypertexte vers cette page, afin que d'autres puissent la trouver plus facilement en utilisant un moteur de recherche.
    Conditions d'utilisation:
    La diffusion et l'utilisation des données de cette page est autorisée dans un but non commercial et vaut acceptation de ces conditions d'utilisation. Ces données sont fournies sans garantie aucune, le détenteur du copyright ne pourra en aucun cas être poursuivi pour quelque dommage que ce soit suite à l'utilisation des données ci-dessus, y compris s'il en a été averti.