Cours MM0031 d'informatique Scientifique.
15/06/2012
F. Hecht et J.Foulon
mailto:frederic.hecht@upmc.fr
mailto:FOULON Jérémy <jeremy.foulon@upmc.fr>
Pour les etudiants en Tele-Enseigenement lire Lettre-TelelEnseignement.html
les resultats de la première session sont dans le fichier NOTES-S2-MM031-2012.pdf
L'examen de la second session aura lieu le 20 juin matin de 8h45 a 12h00
salle 314 couloir 15-25
Ordre de Passage:
8h45 : Xiaoxing Guo <xiaoxing.guo@mines-paris.org>
Arun Khanna <khanna.arun30@gmail.com>
noureddine taleb <noureddine.taleb@gmail.com>
9h45 Alexis Bismuth <alexisbismuth@gmail.com>
Saleh Lamir <saleh.lamir@yahoo.com>
Jeff-Sorel Kouemo <jeffrey_king@hotmail.fr>
10h45 Aymeric RESHEF <aymeric.reshef@etu.upmc.fr>
salem ardjoune <salem.ardjoune@gmail.com>
Toutes personnes doit nous envoyer un mail de participation à Frederic.hecht@umpc.fr et jeremy.loulon@upmc.fr pour l'inscription
De plus il faute envoye sans faute
les rapports des projets 1 et 2 plus les sources et les explications d'utilisation
avant le lundi 18 juin 8h00 (pas de rapport => pas de soutenance).
il faut faire une archive compressé de votre rapport (Projet 1 et 2)
et de vos progammes sources. Le rapport doit etre
ecrit en Latex, le travail peut etre fait en binome mais la soutenance
est faite seule, le projet est a rendre par mail à Frederic.hecht@umpc.fr
le dimanche 20 mai à 24h00
Le Partiel a eu lieu de mardi 6 mars de 8h30 a 10h30 dans la salle de cours.
le projet 1 est à rendre pour
il faut faire une archive compressé de votre rapport
et de vos progammes sources. Le rapport doit etre
ecrit en Latex, le travail peut etre fait en binome, voir Projet
les notes de cours NotesdeCoursMM031.pdf ( cela change regulierement)
autre fichiers sont disponibles dans le dossier doc-pdf et dans doc-html
Quelques sujet Partiels-des-années-precedentes avec quelques corrections.
cours F. Hecht mardi 8h30 a 10h30 Amphi 45B
cours F. Hecht vendredi 8h30 à 10h30 23-24-202
TD J. Foulon Atrium mardi 13h00 16h30 (les sallesTD.html )
mercredi 13h00 16h30
Quelque information sur la logistique en plus:
de la logistique cours_logistique.html
Sur l'utilisation de command de base
http://www-gtr.iutv.univ-paris13.fr/Cours/Mat/Systeme/TDTP2003/TDTP2002/tpunix01.pdf
http://www-gtr.iutv.univ-paris13.fr/Cours/Mat/Systeme/TDTP2003/TDTP2002/tpunix02.pdf
Tutoriaux;
http://www.yolinux.com/TUTORIALS/LinuxTutorialC++.html
Pour les debutants en programmation vous pouvez tester vos
programme avec le site:
Cours de C pour débutants, par Mathias Hiron
Et d'autre site:
http://a.michelizza.free.fr/pmwiki.php?n=TutoCFrench.TutoCFrench
Bien programmer en langage C (Emmanuel Delahaye)
Pour bien comprendre la gestion mémoire
La gestion de la mémoire en langage C
OpenGL:
un support de cours OpenGL (E. Boyer)
un support de cours Robin Vivian Format PDF
Cours OpenGL de l'ESSI par Michel Buffa
Advanced Graphics Programming Techniques Using OpenGL
Semaine 1
Mardi 10/01/2012
Presentation du cours.
L'environnement de programmation linux,
La Programation imperative, premier exemple en c++
Type, fonction , argument , retour.
Vendredi 13/01/2010
La methode de difference fini pour approcher un edp en dimension 1.
Note de cours section 1.3.1
Voir dossier s1 ou le dossier zipper s1.zip
Semaine 2
voir les feuilles exo des TD dans le dossier s2
Mardi 17/01/2012 (pas de cours)
Vendredi 20/01/2010
La methode des différenceq fini pour l'approximation d'un probleme instastionnaire.
Notion de Stabilite et Consistance.
section 1.3.2 de Notes de cours
Introduction de la methode de Element Fini 1d.
Voir dossier s2 ou le dossier zipper s2.zip
Semaine 3
Mardi 24/01/2012
Les Classes en C++ et methode.
Surcharge des operateur.
Vendredi 27/01/2010
Ecriture des classes MatTriaDia et MatElem
introduction de la notion de const et reference en c++.
voir les fichiers s3/MatTriDia.hpp s3/MatTriDia.hpp, s3/main.cpp , s3/Makefile
Voir dossier s3 ou le dossier zipper s3.zip
Semaine 4
Mardi 31/10/2012
Methode LU
Formule d'integartion 1D.
Rappel sur la notion de Differentiel et de Gradient
Methode de Descent à pas simple,
Notion de precontionneur (changement de produit scalaire)
pour calculer le gradient.
Vendredi 03/02/2010
Partie théorique existance et unicité du problème
lemme de Milgram, Inegalite de Poincarre, …
Approximation de problème continue
lemme de CEA
estimation d'interpolation.
Voir dossier s4 ou le dossier zipper s4.zip
Semaine 5
Mardi 7/02/2012
Introduction des pointeurs et des
operation d'allocation et destruction: new et delete
On a utilisé de ces notions pour faire une classe A (vecteur)
voir code dans le dossier s5
Intro de la regle 1 sur les operations de copie dans les classe
avec destructeur ou pointeur.
Comment ecrire un Makefile et comment
utilise le debbogger gdb ou ddd.
Vendredi 10/02/2010
Ecrire les operateurs vectoriels dans la classe A (vecteur) (section 4.2 note de cours)
les problèmes de coût pourquoi le c++ peut etre lents.
ce qu'il faut faire et ne pas faire avec la surcharche des operateurs.
Comment resoudre ce probleme.
voir les TP 7 et 8 dans s5 Tout le dossier complet zipper : s5.zip
Semaine 6
Mardi 14/02/2012
Fin des operateurs vectoriel en c++, (section 4.2 note de cours)
introduction de la notion de template
des classes derives
et des methodes virtuals dans les classe derive
Utilisation des classes KN our KN_ pour modélsier de
vecteur de R^n ou des matrice pleine avec des classe KNM ou KNM_ voir
note de cours section 4.2.2 pour plus de détail.
Introduction des matrices virtuelles pour ecrire le Gradient Congugue.
les classes KNM sont dans RNM et version zip RNM.zip
Vendredi 17/02/2010
Methodes des element fini en 2D
Introduction theorique
voir les TP 9 et 10 dans dossier s6 ou le dossier zipper : s6.zip
Semaine Vacances
Mardi 21/02/2012
Vendredi 24/02/2010
Semaine 7
Mardi 28/02/2012
Les fonctions de bases des Elements Finis P1 Lagrange.
Construction de probleme linéaire associe pour resoudre
- ∆u = f dans Ω, u = g sur ∂Ω
Les deux methodes numerique pour prende en condition les conditopn a Limite de type
Dirichlet dans les systeme lineare:
1) Penalisation exact avec TGV , ne pas oublier qui faut
preconditionner par la diagonal dans ce cas.
2) ne pas faire les calcul tous les lignes associer a des condition de Dirichlet
dans les matrices et second membre dans les methde de type Gradient conjugue
ou GMRES, dans ce cas il faut initialiser avec un valeur contenant les conditon
au limite.
Voir nouveau sous chapître 5.6
Mercredi 29 (soutenance de Projet 1 durant le TD à l'atrium)
Vendredi 02/03/2010
Explication theorique de la construction du probleme
element fini.
Voir sous chapître 5.7 , 51, 5.3, 5.4.1
Voir les TP 11et 12 dans dossier s7 ou le dossier zipper : s7.zip
Semaine 8
Mardi 06/03/2012
Partiel
Vendredi 09/03/2010
Programation du Probleme de Poission
Ecriture des classes associées: R2, Label, Vertex2, Triangle2, Mesh2 ,
voir sous chapître 5.8 , 5.9, 5.10.
Le code ecrit pans le cours est disponible dans le dossier s8
lire les explication dans le fichier ALIRE
Voir les TP 13,14 dans dossier s8 ou le dossier zipper : s8.zip
Semaine 9
Mardi 13/03/2012
Comparaision avec Freefem++ , et utilisation des formule d'integration
Presentation d'OpenGL
Voir
OpenGL:
un support de cours OpenGL (E. Boyer)
un support de cours Robin Vivian Format PDF
Cours OpenGL de l'ESSI par Michel Buffa
Advanced Graphics Programming Techniques Using OpenGL
Presentation d'une methode encapsulation d'une classe virtual,
(voir class ObjetG dans OG2.hpp )
et introduction d'une compteur de reference pour eviter les destructions
multiple (voir pointeur count dans la class OGMeshS de OG2.hpp )
les codes sont disponible dans le dossier OpenGL (version zipper OpenGL.zip
Vendredi 16/03/2010
Modification de fichier OpenGL pour afficher les isovaleurs d'une solution element fini
correction du compteur de reterence
Probleme de pirorite de operateur : *count++ n'est pas (*count
les codes sont disponible dans le dossier OpenGL (version zipper OpenGL.zip
Avec l'affichage d'une jolie surface en utilsage un maillage de la semaine s8.
Semaine 10
Mardi 20/03/2012 (O. Pironneau)
Differentiation automatique voir fichier s10 (version zipper s10.zip )
Vendredi 23/03/2010
Un petit point sur la STL et des templates.
Les conteneur de bases
Voir les exemples (stl.cpp) du dans s10 (version zipper s10.zip )
et sur des problemes aglorithmique de base voir chapitre 6 des note de cours.
Semaine 11
Mardi 27/03/2012
Fin de la partie algorithmique,
Utilisation pour la construction du matrice creure au format COO
voir http://en.wikipedia.org/wiki/Sparse_matrix
soit avec un set<pair<int,int> > de la stl ou avec l'utilisation de l'image réciproque
d'une fonction entiere. Voir note de cours paragraphe 6.8) pour la construction d'une matrix morse
ou CSR / CRS
Les source sont dans SparseMat.cpp et SparseMat.hpp dans s11
pour une compariason des temps calculs voir s11/ALIRE
Vendredi 30/03/2010
Introduction theorie des Language pour
ecrire une calculette et utilise pour definie
une donnée dans programme.
Semaine 12
Mardi 03/04/2012
Vendredi 06/04/2010