Mathématiques pour l’informatique en L2

Les modules Mathématiques pour l’informatique I et II contiennent des cours magistraux, des travaux dirigés et des travaux pratiques. Le langage de programmation pour ces derniers est python.

Sommaire

Voici les projets qui ont été prévus pour l’an 2012-2013. Ce qui est marqué supplément doit probablement être réservé aux cours de L3 Math-Info.

X3M0080 et X4M0100, Mathématiques pour l’informatique I et II

Peu de démonstration dans ce cours. Mise en place algorithmique de nombreuses notions élémentaires de mathématiques, certaines introduites depuis le lycée, permettant de résoudre des problèmes. Nettement plus orienté vers le calcul que vers la démonstration. Néanmoins, exigence d’une écriture cohérente : le sens d’une phrase mathématique est comparable au type d’une expression dans un langage informatique. Il est indispensable d’éviter les erreurs de syntaxe.

  • Algorithmes pour l’arithmétique des entiers

    C’est à peu près le début du Demazure, chap. 1 et une partie du 2. Le but est d’initier à l’écriture d’algorithmes récursifs terminaux, sur des objets mathématiquement simples.

    • Factorielles et puissances
    • Division euclidienne et algorithmes d’Euclide
    • Supplément : Théorème chinois et calculs modulaires
    • Supplément : nombres premiers, de Mersenne, de Carmichael.
  • Nombres et polynômes

    Le but est de maîtriser les calculs algébriques de base.

    Nombres rationnels, décimaux, complexes :

    • Encodages divers : couples (rationnels, complexes), virgule fixe ou flottante.
    • Supplément : fractions continues.
    • Résolution d’équations de degré deux, voire trois.
    • Algorithmes numériques pour racine n-ième, exponentielle et logarithme.

    Supplément : entiers de Gauss, entiers quadratiques

    Mutliplication de polynômes et de grands entiers :

    et aussi division selon les puissances croissante ; décomposition en éléments simples de fractions rationnelles. Supplément : FFT, application à la mutliplication.

    Langage ensembliste de base Théorie élémentaire des ensembles :

    Appartenance, inclusion, union— intersection— produit cartésien (binaires), ensemble des parties ; relation, fonction, application, in/sur/bi-jection, familles et suites, dénombrabilité ; union— intersection— produit cartésien (familles). Représentation des fonctions.

    Dénombrement : arrangement, pemutations, combinaisons

    Calculs récursifs. Énumérations de sous-suites, de parties. Groupe des permutations, énumération, diverses représentations.

    Des polynômes aux séries formelles :

    Extensions des opérations sur les polynômes aux séries formelles ; inverse, composition, réciproque, exponentiation, logarithme.

  • Comportement asymptotique
    • Notation O, o, Omega, omega, Theta, équivalent
    • Échelles usuelles
    • Exemple de quelques coûts d’algorithmes
  • Géométrie plane et dans l’espace

    Concrétisation de notions déjà vues, certaines depuis le lycée.

    • Intersections de droites, de plans.
    • Distance d’un point à une droite.
    • Projections orthogonales sur des sous-espaces.
    • Intersections de segments, de demi-espaces.
    • Programmation linéaire en dimension 2 et 3.
  • Relations, graphes, et récursion.

    Relations d’équivallence et relations d’ordre. Représentations. Fermetures, quotients des relations. Graphes orientés sans cycles (dag). Ordre bien fondé. Récursion structurelle. Arbres. Suppléments : Ensembles de termes et réécritures. Chemins dans les graphes. Algorithme de Tarjan. Suppléments : application à 2-sat.