Navigation: Projet Giac/xcas, Xcas en ligne (Firefox, Safari), site du jury, agrégation interne, retour à ma page principale
Xcas : Télécharger, conseils, forum agreg.
Programme dont modélisation: Chapitre 13 (méthodes numériques) Systèmes linéaires, Méthodes itératives, Intégration numérique, Approximation, Equations différentielles ordinaires, Fourier,
Option A : (n'est pas à jour) Distributions, Variables gaussiennes, Simulation, Représentation graphiques, Chaines de Markov, Tests
Option B : (à mettre à jour) Chapitre 13, Références, 4. EDP, 5. Approximation et optimisation.
Option C : a. Représentations, b. Algorithmes élémentaires, c. Corps finis, d. Matrice corps, e. Codes correcteurs, f. Polynomes 1-d, g. Polynomes n-d, Couts, textes, TP, sessions Xcas, références.
prépa Grenoble 2016/17, 2015/16, 2014/15, 2013/14, 2012/13, Jussieu (F. Han), Marseille (D. Kohel),
Option D : Xcas n'est pas utilisable pour l'exercice de programmation, mais si le sujet du texte s'y prete ou pour faire un calcul exact, les commandes de Xcas sont utilisables depuis Xcas ou depuis l'interpréteur Python après chargement du module giacpy.
Cette page, partiellement mise à jour pour le nouveau programme 2018, 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.

Xcas

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:

Retour à la barre de navigation

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. .

    Retour à la barre de navigation

    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

    Retour à la barre de navigation

    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.

    Retour à la barre de navigation

    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.

    Retour à la barre de navigation

    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.

    Retour à la barre de navigation

    C.C Couts

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

    Retour à la barre de navigation

    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.

    Retour à la barre de navigation

    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).

    Retour à la barre de navigation

    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 ujf tiret grenoble point fr.

    (c) B. Parisse, 2007, 2013.
    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.