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.
Tronc commun : 1. Utilisation, 2. Probas discrètes, 3. Chaines de Markov, 4. Validation et précision des résultats, 5. Moindres carrés linéaires.
Programme complémentaire : Systèmes linéaires, Systèmes non linéaires, Intégration numérique, Equations différentielles ordinaires.
Option A : Distributions, Variables gaussiennes, Simulation, Représentation graphiques, Chaines de Markov, Tests
Option B : Références, 1. Solvers: Gauss, gradient, Newton, 2. Intégration numérique, 3. Equations différentielles, 4. EDP, 5. Approximation et optimisation.
Option C : prépa Grenoble 2016/17, 2015/16, 2014/15, 2013/14, 2012/13, Jussieu (F. Han), Marseille (D. Kohel), 1. représentations, 2. algorithmes, 3. algèbre linéaire corps, 4. algèbre linéaire Z, 5. polynomes 1-d, 6. polynomes n-d, 7. complexité, textes, TP, sessions Xcas, références.
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 l'interpréteur Python après chargement du module giacpy.
Page mise à jour pour le nouveau programme 2015. 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.

Xcas

Pourquoi choisir Xcas à l'épreuve de modélisation de l'agrégation?

Giac/Xcas fait partie des logiciels de calcul formel disponibles à l'oral de modélisation de l'agrégation de mathématiques. En 2012, Xcas a été le logiciel libre le plus utilisé à l'option C (par environ un tiers de ces candidats). À partir du concours 2015, la liste des logiciels disponibles à l'oral est restreinte, tous les logiciels propriétaires, dont Maple, disparaissent de la liste, alors que Xcas sera toujours disponible.
Voici 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.

Retour à la barre de navigation

Télechargement de Giac/Xcas

Attention, les liens ci-dessous ne pointent pas forcément vers la version stable de Xcas mais vers la version installée pour le concours 2015, qui devrait être une version 1.1.2 (ou +). 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. Vous pouvez aussi ajouter dans votre navigateur un lien vers le forum.

Retour à la barre de navigation


Tronc commun

Remarques préliminaires:

1 Utilisation de logiciels...

Calcul numérique et symbolique. Utilisation des logiciels au programme : simulation, intégration, différentiation, calcul de sommes et d’intégrales, résolution d’équations algébriques et différentielles
Voir le tutoriel de Xcas, menu Aide.

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

3. Chaînes de Markov homogènes à espace d’états finis : définition, irréductibilité, apériodicité

4. Validation et précision des résultats

5. Moindres carrés linéaires (sans contraintes)

La commande LSQ(A,b) (LSQ pour Least SQuare) permet de résoudre un système linéaire Ax=b au sens des moindres carrés. Pour un système sous-déterminé, la norme du vecteur inconnu est minimisée ; (par projection de 0 sur l'espace affine des solutions de direction ker(A)). Pour un système sur-déterminé, la norme de Ax-b est minimisée (par projection orthogonale de b sur image(A))
Les instructions utiles pour illustrer une régression linéaire Vous pouvez entrer des valeurs dans un niveau tableur de Xcas (menu Tableur nouveau tableur) et utliser le menu Tableur pour faire une régression linéaire ou tracer des nuages de points sur les données de 2 colonnes du tableur à sélectionner à la souris.

Retour à la barre de navigation

Programme complémentaire

Une grande partie ce programme 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 feront usage d'une méthode de ce programme. Les aspects plus théoriques feront sans doute l'objet de nouvelles lecons.

Systèmes d'équations linéaires

Les commandes utiles (algorithme du pivot de Gauss) sont : linsolve, rref, ker, inv,cond, svl, lu, conjugate_gradient. Voir le chapitre Algèbre linéaire de la documentation de Xcas (menu Aide, Manuels, Algorithmes).

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

Méthode de Newton:définition,vitesse de convergence, estimation de l'erreur.
Commandes utiles: newton, fsolve. Voir le manuel Algorithmes de Xcas, section Suites récurrentes et applications (menu Aide, Manuels, Algorithmes)
La commande fsolve dispose d'options pour spécifier l'algorithme. Ainsi les options hybrid*solver de fsolve sur des systèmes d'équations utilisent des méthodes combinant la méthode de Newton avec des méthodes de descente de gradient. Pour les systémes polynomiaux à coefficients exacts, la commande fsolve utilisée sans point de départ utilise les bases de Groebner et la représentation univariée rationnelle, ce qui permet de trouver toutes les racines réelles ou complexes approchéees.
Une illustration se trouve dans Aide, Exemples, analyse, newton. La méthode de Newton se programme facilement avec Xcas en dimension 1 (F12, indiquer Newton comme mot-clef) car on dispose de la dérivée formelle de la fonction de départ et de son inverse.
En dimension plus grande, il y a un peu plus de syntaxe. On prendra garde en particulier au fait que diff(vecteur,liste_variables) renvoie la transposée de la matrice jacobienne.
Par exemple si on a une fonction de 2 variables, disons
F(x,y):=[(x-y)^2+4y^2-4,2x^2+y^2-x*y-5]
on en calcule la dérivée
invF1:=unapply(inv(tran(diff(F,[x,y]),x,y)))
puis on initialise un point de départ xy:=[.2,.3], alors xy:=xy-invF1(op(xy))*F(op(xy)) effectue une itération de Newton (on peut exécuter plusieurs fois l'instruction en mode interactif ou la programmer).
En dimension plus grande que 3 environ ou si F a des coefficients numériques, le calcul de l'inverse formel est déconseillé, il vaut mieux le faire à chaque itération une fois que x a une valeur (on peut aussi conserver l'inverse pour quelques itérations, mais on perd alors la convergence quadratique, on peut aussi utiliser la décomposition LU ou linsolve pour calculer la solution du système). Ce qui pourrait donner
F(x):=[(x[0]-x[1])^2+4*x[1]^2-4,2*x[0]^2+x[1]^2-x[0]*x[1]-5]
purge(x); F1:=unapply(tran(diff(F(x),[x[0],x[1]])),x)
x:=[1.2,2.3]
pour j de 1 jusque 100 faire x:=x-inv(F1(x))*F(x); si l2norm(F(x))<1e-12 alors break; fsi; fpour;

Intégration numérique

Trapèzes, Simpson, estimation de l'erreur
Commandes utiles: int, area, gaussquad, romberg. Documentation: voir le manuel Algorithmes de Xcas section intégration numérique (menu Aide, Manuels, Algorithmes), ou le livre de Demailly ou les polys de Hairer, où on trouvera aussi des infos sur les quadratures gaussiennes et les estimations d'erreurs.
La commande area de Xcas admet en paramètre trapezoid, simpson. On peut facilement les coder
trap(f,a,b,n):=(b-a)/n*(1/2*(f(a)+f(b))+sum(f(a+(b-a)/n*j),j,1,n-1))
sim(f,a,b,n):=(b-a)/n*(1/6*(f(a)+f(b))+1/3*sum(f(a+(b-a)/n*j),j,1,n-1)+2/3*sum(f(a+(b-a)/n*(j+1/2)),j,0,n-1))
puis par exemple tester avec trap(x->1/x,1.,2.,100); sim(x->1/x,1.,2.,100) et comparer à ln(2.) Les commandes d'intégration numérique de Xcas sont gaussquad, romberg (appelée par evalf(Int())) on utilise d'abord une méthode adaptative avec une quadrature gaussienne à 15 points (d'ordre 29, ou 30 selon la définition de Hairer), ou la méthode des trapèzes accélérée par l'algorithme de Richardson-Romberg.

Equations différentielles ordinaires


Option A (probabilités)

Remarques préliminaires :

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.

Chaines de Markov

Voir aussi ici. Voir par exemple la session sur le modèle d'Ehrenfest depuis le menu Exemple,proba,ehrenfest.

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:

Informations utiles par points du programme.

B1, B2, B3: voir programme complémentaire

B4: 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

B5: Optimisation et approximation


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:

C1: représentations

Représentation et manipulation des entiers longs, flottants multiprécision, nombres complexes, polynomes, Z/nZ, corps fini. Addition, multiplication, division, extraction de racine carrée. .

Retour à la barre de navigation

C2: algorithmes

Algorithmes algébriques élémentaires. Exponentiation (n -> a^n, pour n entier), algorithme d'Euclide étendu. Test de primalité de Fermat.

Retour à la barre de navigation

C3: algèbre linéaire sur un corps.

Méthode du pivot de Gauss, décomposition LU. Calcul du rang, du déterminant. Exemples de codes correcteurs linéaires: codes de répétition, codes de Hamming binaire. Les algorithmes de Gauss, de calcul du noyau, etc. sont explicités dans le manuel de programmation.

Retour à la barre de navigation

C4: algèbre linéaire sur Z.

Opérations élémentaires sur les lignes et les colonnes (application aux systèmes linéaires sur Z ). Application aux groupes abéliens de type fini.

Retour à la barre de navigation

C5 Polynomes 1-d

Évaluation (schéma de Horner), interpolation (Lagrange, différences finies), Localisation des racines dans R ou C: majoration en fonction des coefficients

C6 Polynomes n-d

Résultants, élimination. Intersection ensembliste de courbes et de surfaces algébriques usuelles.

Retour à la barre de navigation

C7 Complexité

Estimation de la complexité des algorithmes précités dans le cas le pire. 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.