Le Frido : un livre, libre, de mathématiques pour l’agrégation

57
27
sept.
2017
Éducation

La version 2017 du Frido, ce bouquin de mathématiques dont un des intérêts est d’être libre, est publiée.

Fort d’environ 2 000 pages, il couvre la quasi entièreté du programme d’agrégation. Ce cours de mathématiques est libre au sens de la licence FDL et ses sources LaTeX sont sur GitHub depuis le début du projet.

Sommaire

Le Frido 2017

Pour la plus grande joie des personnes qui seront admises aux oraux de l’agrégation de mathématiques en 2018, l’édition 2017 du Frido vient de sortir.

Il contient pratiquement tout le programme de l’agrégation en un seul bouquin ; pratique pour la cohérence des notations et des définitions. Publié sous licence FDL et disponible au téléchargement aussi bien qu’à l’achat.

Mathématiques

Du point de vue de la mathématique, on part d’une théorie naïve des ensembles (on suppose les nombres rationnels construits) et on va jusqu’aux processus markoviens en passant par les distributions, les groupes/anneaux/corps, la théorie de la mesure, les espaces vectoriels et d’autres.

Une caractéristique importante est que tous les résultats sont placés dans l’ordre mathématiquement logique : il n’y a jamais une démonstration qui dit « nous verrons plus loin que ». Cela impose une très forte contrainte sur la division en chapitres. Par exemple :

  • les fonctions trigonométriques sont définies par leurs séries (tout le monde dit qu’on peut le faire, mais qui le fait vraiment ?) ;
  • les rotations dans le plan sont définies comme composées de deux symétries axiales.

Démontrer à partir de ces définitions qu’une rotation est une application linéaire dont la matrice dans la base canonique est celle que l’on connaît est fait en détail dans le Frido, mais c’est un peu long.

Le niveau visé

Le Frido tente de faire le grand écart entre deux tendances :

  • le niveau mathématique est élevé : les définitions sont posées dans des cas assez généraux et quelques larges digressions hors programme sont inclues.
  • le niveau pédagogique est d’aller au plus détaillé possible. Rien n’est considéré comme évident. Toutes les justifications utiles sont données et les renvois vers les théorèmes utilisés sont explicites. Pas non plus d’abus de notations.

Le texte est donc long, mais il ne devrait pas y avoir de blocages. Et s’il y a un bocage, une justification qui manque, contactez l’auteur ; il est sympa et il tient compte des remarques.

Le modèle économique.

Il n’y a pas de modèle économique. Enfin, si… Le modèle est que j’écris gratos et vous m’envoyez gratos vos correctifs. Plus précisément :

  • sur thebookedition, j’ai fixé mon bénéfice à zéro et donc les ventes me rapportent littéralement zéro ;
  • sur lulu.com, le bénéfice est fixé par le site, mais on peut accorder une réduction allant de 10 % à 60 % du prix. Il n’y a pas moyen de ne pas faire de bénéfices. Bref, sur chaque livre vendu sur lulu.com je prends entre 40 et 50 centimes qui me seront envoyés sous forme d’un chèque de 20 dollars lorsque cette somme sera atteinte.

Comment contribuer ?

  • en parler autour de vous si vous connaissez du monde qui compte passer l’agrégation de mathématiques cette année ;
  • signaler toutes les erreurs, imprécisions et choses obscures que vous pourriez trouver en lisant ;
  • le Frido manque d’exemples de tout, partout. Merci de me signaler ce que je peux ajouter.

Une liste de questions ouvertes et de demandes précises est dans l’introduction du Frido. Elle est à peu près classée par thèmes (algèbre, analyse, informatique) et par difficultés. Il y en a pour tous les goûts : depuis la création d’un environnement \LaTeX plus beau pour les exemples, jusqu’à des questions fines de topologie sur les espaces de distributions.

Recompiler le texte chez vous

Alors là, c’est le point noir.

Python

Vu la complexité du bouzin, il y a une pile fortement non négligeable de scripts de précompilation avant de passer à \LaTeX. C’est tout en python, mais ça utilise des modules personnels.

  • latexparser est un module personnel qui sert à manipuler du code \LaTeX ;
  • pytex est un script personnel qui s’appuie sur latexparser pour faire une montagne de modifications du code \LaTeX du Frido à la volée avant de passer la main à pdfLatex.

Il y a un manuel du contributeur qui explique comment faire.

pdflatex

Ben oui, un moment il y a un logiciel qui fait le travail, et c’est pdflatex.

Sage

Les images sont toutes en Tikz, qui possède un mécanisme pour ne pas recompiler les figures à chaque fois. Les PDF des figures sont fournies dans le dépôt Git.

Le code Tikz est généré par phystricks (encore un module personnel) qui se base sur SageMath. Seuls les plus braves seront capables de modifier les figures.

EPUB

Nous avions parlé en 2016 de produire un livre numérique, mais il y a des problèmes techniques pas tout à fait évidents à surmonter. Ce ne sera sans doute pas pour tout de suite.

Journal des modifications depuis septembre 2016

Maths

  • ajout de pas mal de choses concernant la géométrie projective, entre autres sur le groupe circulaire ;
  • analyse numérique, méthode des différences finies, quelques schémas pour le Laplacien ;
  • sous‐groupes finis de SO(3) ;
  • une démonstration complète du fait que le flot de y’ = f(y,t) est Cp lorsque f est Cp (c’est le genre de choses que j’appelais plus haut une « large digression hors programme ») ;
  • beaucoup de corrections de fautes et d’imprécisions un peu partout. Entre autres, une signalée par un lecteur : le Frido 2016 prétendait, démonstration à l’appui, que tout anneau intègre est euclidien. Faux.

Autres

  • Simplification du dépôt Git. Maintenant tous les fichiers \LaTeX concernant le Frido sont dans tex/frido. La compilation reste compliquée ; le fichier principal est mazhe.tex, mais faire pdflatex mazhe.tex ne fera pas ce que vous croyez.
  • Passage de 3 à 4 volumes. Un lecteur de la version papier m’a signalé qu’au‐delà de 500 pages, c’est compliqué à manipuler dans le train. Mais, dit‐il, autour de 500 pages, c’est vraiment la frime à sortir de son sac.
  • Le livre est en vente également chez lulu.com. Chez lulu, le prix de chaque volume est de 15 euros (20 € chez thebookedition.com), mais il n’y a pas les belles images de couverture de Pepper & Carrot.

Journal des modifications depuis septembre 2017

Ben oui, il y a déjà du nouveau. Je me suis rendu compte hier que la définition de L2 était fausse (les fonctions sont à valeurs dans C et non dans R).

Bref, lisez attentivement et reportez‐moi toutes les fautes que vous trouveriez. La version de septembre 2018 pour les oraux de 2019 n’en sera que meilleure.

Remerciements

  • Tous les contributeurs. Six sont recensés sur GitHub, mais il y en a pas mal d’autres qui ont apporté leur pierre soit directement dans les commentaires ici en 2016, soit par courriel.

  • Les mathématiciens qui ont mis leurs notes en ligne. La bibliographie a 362 entrées, presque toutes en ligne. Ce sont tous des textes que j’ai réellement utilisés à un moment ou un autre.

  • Les personnes qui ont écrit sur Wikipédia. J’ai lu énormément d’articles et, souvent, je me suis fixé sur les notations et définitions de Wikipédia. Si vous comptiez m’envoyer du fric pour le Frido, faites plutôt un don à Wikipédia.

  • Les dessins des couvertures chez thebookedition.com proviennent de Pepper&Carrot par David Revoy, publié sous licence CC-BY 4.0. Au passage, merci à lui.

  • # Autorisé lors des oraux

    Posté par (page perso) . Évalué à 6 (+5/-0).

    Bonjour, savez vous si cette version est autorisée le jour des oraux ?

    • [^] # Re: Autorisé lors des oraux

      Posté par (page perso) . Évalué à 5 (+4/-0).

      De mémoire, c'était mentionné à l'intérieur du livre. Depuis quelques années (ou peut être même l'an dernier) il faut une version papier venant d'un éditeur, impossible de venir avec sa propre version imprimée.

      • [^] # Re: Autorisé lors des oraux

        Posté par (page perso) . Évalué à 7 (+6/-0).

        En fait c'est mentionné dans la dépêche de l'an dernier:

        "Un changement de règlement de l’agrégation, survenu en 2015, a envoyé les exemplaires disponibles au pilon : pour pouvoir être utilisé par les candidats, un livre doit dorénavant être commercialisé. Les candidats passés en 2015 et 2016 ont dû se passer du Frido pour préparer leurs oraux."

    • [^] # Re: Autorisé lors des oraux

      Posté par . Évalué à 10 (+16/-0).

      Réponse courte : oui , comme dit par Colin.

      Je vais tout de même donner une réponse longue parce que c'est important.

      Expérimentalement :

      1. Il y a sûrement des membres du jury (ou des proches) qui lisent ces lignes, et celles de la pépêche de 2016. Si le Frido n'était pas admis, ça se saurait très vite ici même.
      2. Le Frido 2016 a été vendu en 17 exemplaires (17 fois la trilogie). Bien que je n'aie pas eu de retour, ce serait dingue que ces 17 personnes l'ait acheté pour une autre raison qu'aller aux oraux.

      Au niveau du règlement :

      Le règlement sur les livres est ici et ici. Prenons point par point.

      • Ni annotations ni surlignages.
      • Les ouvrages doivent être publics (en pratique, livres munis d'un numéro d'enregistrement ISBN de plus de 6 mois). À bien des égards que le lecteur de linuxfr comprendra, le Frido est probablement même un des seuls ouvrages de math à évaluer ce critère à True.
      • Pour respecter l'égalité de traitement entre candidats, les livres papiers (même munis d'ISBN) non commercialisés ou non suffisamment diffusés doivent être soumis à l'approbation de la présidence du jury, au moins 2 mois avant le début du concours. La contraposée de cette phrase signifie que si l'ouvrage est commercialisé et suffisament diffusé, il n'y a pas d'autorisation à demander. Discuttons ces points.
      • Commercialisé : ok.
      • suffisamment diffusé C'est évidemment très interprétable. Le simple fait qu'à l'heure où j'écris ces lignes, il y ait déjà 530 clics sur la page de téléchargement montre qu'il y a déjà pas mal de monde qui est au courrant dans la communauté mathématique. Je tiens à jour une liste de pages parlant du Frido. Disons que pour plaider que le Frido n'est pas suffisament diffusé, il faut être courageux.
      • Les éditions personnelles ou polycopiés (électroniques ou imprimées) sont interdits (même munis d'ISBN). Littéralement, cela signifie qu'on a pas le droit d'apporter des ouvrages dont on est éditeur. Je suis éditeur du Frido, donc tous les candidats du monde peuvent l'utiliser sauf moi. Et ce, pour des raisons d'équité. Heureusement que je ne suis pas candidat, sinon je râlerais. Moins littéralement, il faut savoir que cet article est un copié-collé de ce que le jury m'avais répondu par mail en 2013. L'esprit de ce règlement, selon mon interprétation, est que vous n'avez pas le droit de profiter de la FDL pour ajouter un truc personnel au Frido, le vendre sur lulu.com en ne disant rien à personne, et vous l'acheter à vous-même. Disons que cet article du règlement est un peu une adaptation au monde électronique (sources LaTeX libres) de l'article "annotations interdites" du monde papier.

      Au niveau historique

      En 2013, j'ai obtenu l'autorisation du jury d'utiliser mon bouquin (non encore nommé "Frido" mais déjà en ligne depuis quelque temps).
      À ce moment seul un ISBN était requis, mais un ISBN c'est facile à obtenir

      En 2014, (au moins) un étudiant de Cachan a utilisé le Frido aux oraux. D'ailleurs Cachan avait une version imprimée «maison» dans leur bibliothèque avant qu'elle ne soit remplacée par la version 2016.

      En 2015, le règlement a changé pour ajouter la condition «commercialisée», excluant de fait le Frido.
      De facto le Frido a été interdit pour les oraux de 2015 et 2016. Mais le Frido publié en septembre 2016 pour les oraux de juin 2017 a pu être utilisé.

      Pourquoi le changement de règlement ?

      Pour ce que j'en sais de source solide (i.e. un mail du jury) durant la session 2014, beaucoup de candidats ont obtenus des ISBN sur leurs écrits quelconques et ça a été vu comme un abus. D'où l'ajout de «commercialisé» et de «suffisamment diffusé».

      Moralité :

      1. Le Frido respecte la lettre et l'esprit du règlement.
      2. L'interdiction des "éditions personnelles" deviendrait sérieuse au cas où je me présenterais à l'agrégation. Elle restreint fortement la possibilité qu'aurait un candidat de forker aujourd'hui le Frido pour ajouter des trucs dedans jusqu'en décembre (limite pour la règle des 6 moins) pour se vendre le résultat à lui-même via Lulu.
  • # compilation

    Posté par . Évalué à 2 (+2/-0).

    A propos de la compilation, je suggère humblement de préparer/publier un docker contenant l'environnement complet de développement, ce sera utile pour toi et infiniment pour d’éventuels contributeurs.

    • [^] # Re: compilation

      Posté par . Évalué à 3 (+2/-0).

      heu … ouais peut-être. Je n'ai aucune idée de comment fonctionne docker. Tout au plus j'en sais les plus vils stéréotypes; genre que je ne vais pas installer une VM de 10Gi qui va manger mon processeur juste pour compiler un truc bête en LaTeX.

      En fait pour simplifier la vie des autres, je pensais plutôt à écrire un install.sh qui fait un git pull de ce qu'il faut et ajoute de la poudre de perlinpinpin dans l'exécutable pytex affin qu'il cherche ses packages dans les répertoires fraîchement créés.

      Cela dit, c'est vraiment un sujet sur lequel il faut réfléchir.

      • [^] # Re: compilation

        Posté par (page perso) . Évalué à 2 (+0/-0).

        heu … ouais peut-être. Je n'ai aucune idée de comment fonctionne docker. Tout au plus j'en sais les plus vils stéréotypes; genre que je ne vais pas installer une VM de 10Gi qui va manger mon processeur juste pour compiler un truc bête en LaTeX.

        L'intérêt serait de normaliser les dépendances de préparation du document, pour qu'un contributeur puisse préparer une image Docker avec ta recette au lieu d'installer les logiciels requis (classqieus problèmes de version, etc.)

    • [^] # Re: compilation

      Posté par . Évalué à 1 (+0/-0).

      J'ai ouvert le sujet ici :
      https://github.com/LaurentClaessens/mazhe/issues/51

      Là je parle de bash et de python. Pour docker … là je suis dépassé. Il faudra m'expliquer avec des mots simples.

      • [^] # Re: compilation

        Posté par . Évalué à 1 (+0/-0).

        Alors il est tard donc je ne vais peut-être pas être clair, mais je commence à utiliser Docker et un de mes collègues a justement fait une image docker pour compiler les sources C++ utilisant le framework interne, qui a le défaut d'être ancien (pré-stdlib) et de ne compiler qu'avec certaines version de compilateur avec une chaine complexe de compilation. C'est assez simple en fait et ne prends pas des gigas octets de données par contre il faut utiliser un peu pour se familiariser. Mais je recommande, si mon avis peut avoir un quelconque impact.

        Concernant le livre j'ai lu quelques pages sur les domaines (qui m'ont été un jour) familiers et j'ai vu que le livre commence par les anneaux mais ne définit pas avant ce qu'est un groupe abélien. C'est peut-être lié au programme je n'ai jamais passé l'agrégation.

        • [^] # Re: compilation

          Posté par . Évalué à 3 (+2/-0).

          par contre il faut utiliser un peu pour se familiariser

          Si c'est ça le truc, alors c'est très équivalent au système actuel en termes de difficulté. Aujourd'hui, la contrainte est "simplement" de faire deux git clone, un là où $PYTHONPATH le verra et un là où $PATH le verra.

          Une fois que c'est fait, la compilation du Frido ou de n'importe quelle de ses variantes se fait en une seule ligne.

          commence par les anneaux mais ne définit pas avant ce qu'est un groupe abélien. C'est peut-être lié au programme je n'ai jamais passé l'agrégation.

          Ce n'est pas lié au programme : c'est une vraie faute contre la logique mathématique. C'est corrigé.

          • [^] # Re: compilation

            Posté par . Évalué à 1 (+0/-0).

            En ce qui me concerne je suis toujours partisan du plus simple, donc si Docker n'apporte rien autant s'en passer. Si j'ai le temps j'essaierai de compiler les sources pour voir si je m'en sors.

            Je suis très fier d'avoir pu participer à une correction, néanmoins quand je veux lire la toute dernière version en pdf tous mes lecteurs pdf (acrobat, foxit, chrome etc.) me signalent que le document est corrompu. J'ai juste vérifié le header qui annonce bien un pdf.

            • [^] # Re: compilation

              Posté par . Évalué à 2 (+1/-0).

              J'ai effectivement bien foiré raté l'upload le téléversement. Et comme derrière je n'ai pas checké vérifié … ben voila. Désolé.
              Je renvoie.

              • [^] # Re: compilation

                Posté par . Évalué à 1 (+0/-0).

                C'est ok maintenant, j'aime beaucoup la manière dont c'est structuré néanmoins une je vais faire une dernière remarque :

                Un groupe G est abélien ou commutatif si pour tout g et h dans G, gh = hg.

                Il manque le "." de la loi de composition interne qui bizarrement est partout ailleurs. J'aime beaucoup la remarque concernant la traduction en anglais du terme "corps", ayant a l'époque lu des ouvrages en anglais, les subtilités des définitions d'une langue à l'autre m'ont toujours rendu la lecture de ceux-ci un peu difficile.

  • # HS math : polynômes de complexe

    Posté par . Évalué à 4 (+1/-0).

    Je tient un prof de math, je pose ma question : est-ce que les polynômes de complexe ou de quaternion existent et ont les mêmes propriétés que les polynômes avec des réels ?

    J'ai l'impression que cette branche des mathématiques a un peu laissé la place aux matrices, mais les cours parlent beaucoup des polynômes. De plus les opérations sur les matrices sont un peu moins "souple".

    Je voulais m'amuser avec les approximations polynomiales sur des images, avec un polynôme classique, on ne peut faire qu'une "couleur" sur une ligne (une courbe quoi). Avec un complexe, on pourrait faire une image avec une couleur, etc…

    "La première sécurité est la liberté"

    • [^] # Re: HS math : polynômes de complexe

      Posté par . Évalué à 4 (+2/-0).

      Les polynôme, ça existe sur C oui.
      La limite la plus courante considérée est d'avoir un anneau, donc on peut faire des polynômes sur à peu près n'importe quoi. Sur les non commutatifs aussi mais je n'ai jamais pratiqué (ça peut être un peu violent je pense).
      Ça permet d'allieurs une construction simplifiée des polynômes à deux variables (un polynôme en X,Y ça peut être un polynôme sur l'ensemble des polynômes en X par ex).
      Finalement, faire un polynôme, c'est "juste" ajouter un élément à l'anneau de base et à compléter avec + et .

    • [^] # Re: HS math : polynômes de complexe

      Posté par . Évalué à 5 (+5/-0).

      Lorsque tu parles de "polynômes de complexes", tu parles bien de polynômes de à coefficients complexes et à variable complexe ? Je vais supposer que oui. Je ne sais pas sur quels types de propriétés tu t'interroges, mais en voici quelques unes (tu dois probablement en connaitre quelques-unes) :

      -Tout polynômes non constant admet une racine (théorème fondamental de l'algèbre, aussi appelé théorème de D'Alembert-Gauss)
      -Il n'est pas vrai que si x1 et x2 sont deux racines réelles de P, la dérivée P' de P admet une racine entre x1 et x2, alors que c'est vrai pour les polynômes réels (théorème de Rolle). Il existe cependant une propriété un peu différente qui est vraie pour les polynômes complexes (théorème de Gauss-Lucas)
      -Pour en venir aux approximations, puisque c'est ce qui semble t'intéresser, il n'est pas vrai qu'on puisse approcher toute fonction continue par un polynômes (alors que ça l'est dans le cas réel, théorème d'approximation de Weierstrass). Les fonctions que l'on peut approcher par des polynômes complexes sont les fonctions holomorphes (théorème de Runge). les fonctions holomorphes sont les fonctions qui peut dériver par rapport à la variable complexe, propriété qui est extrêmement rigide ; par exemple, une fonction holomorphe, donc a priori dérivable seulement une fois, l'est en fait forcément une infinité de fois. Aussi, deux fonctions holomorphes qui sont égales sur un segment, sont en fait égales partout.

      Voilà, je ne suis pas spécialiste de ce genre de question, mais j'espère t'avoir donné deux-trois idées.

      • [^] # Re: HS math : polynômes de complexe

        Posté par . Évalué à 4 (+1/-0).

        Je voulais voir si on pouvait remplacer l'iDCT typique des compressions par une approximation polynomiale qui permet entre autre de faire des opérations directement sur les coefficient, ce qui me semble impossible avec une image sous forme d'IDCT (mais je me trompe peut-être). Est-ce qu'une image pourrait être considéré comme une fonction holomorphe d'un plan ?

        Je parlais de coef complexe mais aussi de "résultat" complexe ou en quaternion, si on prend une image comme une fonction de x,y et qui rend un triplet RGB (ou autre). donc f(x,y) -> (r,g,b) que l'on pourrait traduire en (f(x,y,z,t) -> (r,g,b,0) pour utiliser des quaternions, ou encore f(x,y) -> (Y) dans le cas noir et blanc, plus simple.

        "La première sécurité est la liberté"

        • [^] # Re: HS math : polynômes de complexe

          Posté par . Évalué à 2 (+2/-0).

          Je ne connais rien aux quaternions, donc je vais être obligé de laisser de côté toute cette partie de ta question :( .

          Pour la suite, je ne suis pas expert non plus en interpolation, donc si une personne mieux informée que moi passe derrière, c'est elle qui faut croire.

          "Est-ce qu'une image pourrait être considéré comme une fonction holomorphe d'un plan ?" Si on parle d'un signal 2D continu (analogique, si tu préfères), alors non. À moins que ton signal soit, par le plus grand des miracles, déjà holomorphe : si une suite de fonction holomorphe converge vers une fonction f, alors f est aussi holomorphe (je passe les détails techniques sur ce que veut dire "converge"). Et les fonctions holomorphes, il n'y en a pas beaucoup. Par exemple, il n'y a qu'une seule "image holomorphe" avec des bords noirs, à savoir l'image complètement noire (c'est le principe du maximum pour les fonctions holomorphes).

          En revanche, si on parle d'un signal 2D échantillonné (une image formée de pixels, quoi), on peut toujours trouver une fonction holomorphe qui à les valeurs qu'on veut sur un nombre fini de points (ici sur les pixels). On peut même trouver un tel polynôme (voir par exemple les polynômes interpolateurs de Lagrange). En revanche, trouver une telle fonction qui ne fait pas n'importe quoi en dehors des pixels est une autre paire de manche. En cherchant un peu, j'ai quand même trouvé une méthode de compression qui se base sur ce genre d'idée, et sur la théorème important qui dit qu'il suffit de connaitre les valeurs d'une fonction holomorphe sur une courbe fermée (par exemple, un cercle) pour connaitre la fonction partout, et donne une formule explicite pour ça (c'est la formule intégrale de Cauchy). Mais l'article n'est pas en libre accès et ils ont obtenu un brevet aux USA dessus. Si vous voulez mon avis, on n'est pas très loin d'un brevet sur les mathématiques (grrr).

          Voilà l'article, si quelqu'un qui a un accès à un réseau universitaire veut le lire : 2-D Signal Representation, Interpolation, and a New Approach to Compression

    • [^] # Re: HS math : polynômes de complexe

      Posté par (page perso) . Évalué à 2 (+0/-0).

      Je tient un prof de math, je pose ma question : est-ce que les polynômes de complexe ou de quaternion existent et ont les mêmes propriétés que les polynômes avec des réels ?

      Oui pour les complexes, un peu pour les quaternions, et bien que tu ne l'aies pas demandé, pas trop pour les octonions (la dernière algèbre normée).

      En gros les anneaux de polynômes sur un anneau A répondent à la question

      Est-ce que je peux construire un anneau A[X] qui contient A et un élément supplémentaire X

      • de sorte que je calcule comme dans A
      • de sorte que je calcule de façon universelle, càd qu'une égalité de polynômes devienne une égalité entre éléments de A si je substitue un élément de A à X.

      Si la multiplication est associative et commutative alors la réponse est oui, si certaines de ces propriétés disparaissent (cas des quaternions ou des octonions) alors on peut toujours cacluler formellement sur ces anneaux, mais il faut faire plus attention et comme a des relations tout à fait différentes des anneaux de polynômes classiques qu'on leur donne un autre nom (cf. algèbre de Jordan).

      J'ai l'impression que cette branche des mathématiques a un peu laissé la place aux matrices, mais les cours parlent beaucoup des polynômes. De plus les opérations sur les matrices sont un peu moins "souple".

      De quelle branche des mathématiques parles tu? Aujourd'hui les polynômes ou les matrices font partie du bagage de base du mathématicien, quelle que soit sa spécialité. Si on regarde des branches plus spécialisées, comme la théorie algébrique des groupes de Lie, il y a beaucoup d'alèbre linéaire parcequ'on peut représenter les groupes de Lie algébriques comme des sous-groupes du groupe linéaire – et évidemment beaucoup de polynômes parceque c'est de la géométrie algébrique.

      • [^] # Re: HS math : polynômes de complexe

        Posté par . Évalué à 4 (+1/-0).

        Tu m'as largué sur le dernier paragraphe. Je suis informaticien, mon bagages de math date de la prépa.

        Je suis impressionné par ce que permet de faire les maths. Mais typiquement, quand il y a du gros calcul en informatique, il est toujours question à 99.9% de matrice, pas de polynôme. Mêmes les fonctions d’approximation mathématique (math.h) utilisent plus des séries spécifiques que des propriétés des polynômes.

        En passant, je répète ce que j'ai dis ailleurs, le formalisme utilisé par exemple sur Wikipedia rend la traduction d'un théorème en code très compliqué, voir incompréhensible. Les matheux pourraient faire un effort pour les pauvres informaticiens qui veulent utiliser leurs outils ?

        "La première sécurité est la liberté"

        • [^] # Re: HS math : polynômes de complexe

          Posté par (page perso) . Évalué à 2 (+0/-0).

          Mais typiquement, quand il y a du gros calcul en informatique, il est toujours question à 99.9% de matrice, pas de polynôme.

          Ça dépend de ce que tu fais. :) Mais je ne comprends pas pourquoi tu en veux à ces pauvres polynômes, ni à vrai dire ce à quoi tu penses quand tu opposes polynômes et matrices.

          Il ne faut pas perdre de vue que les matrices, en plus de leurs applications en algèbre linéaire sont aussi utilisées comme des gros tableaux de nombres dans des simulations numériques. Si le point de vue “algèbre linéaire” disparaît c'est un peu artificiel de parler de matrice, mais bon tout ça c'et un peu du jeu de mot.

          Dans tout ce qui est calcul numérique on va utiliser beaucoup de matrices de flottants. Si tu cherches des calculs qui utilisent beaucoup de polynômes il faut aller voir du côté du calcul symbolique, par exemples des outils de géométrie algébrique qui étudie le lien entre la géométrie d'un objet et les équations polynomiales qui le définit, voir le programme Macaulay2 par exemple. Ce logiciel est probablement inutilisable si on n'a pas un DEA/Master dans la discipline mais je te garantis que si tu veux occuper un ordinateur avec des calculs sur des polynômes pendant plusieurs jours, c'est un excellent outil.

          En passant, je répète ce que j'ai dis ailleurs, le formalisme utilisé par exemple sur Wikipedia rend la traduction d'un théorème en code très compliqué, voir incompréhensible. Les matheux pourraient faire un effort pour les pauvres informaticiens qui veulent utiliser leurs outils ?

          Les textes de Wikipedia sont même souvent incompréhensibles pour un mathématicien spécialisé – je suppose que ça dépend des disciplines – je ne peux que te recommander de plutôt utiliser des livres ou des cours de fac, souvent dispo en ligne, si possible orientés vers le calcul scientifique pour avoir des implémentations potables.

          En pratique c'est un gros problème quand on fait du calcul scientifique (par exemple en géométrie algébrique): les outils de calcul sont de relativement bas niveau et donc il faut “traduire” son problème dans une représentation qu'on va pouvoir faire ingurgiter à un système de calcul., et souvent on fait des erreurs en traduisant.

          • [^] # Re: HS math : polynômes de complexe

            Posté par . Évalué à 3 (+0/-0).

            Au contraire, je cherchais des infos sur les polynômes avec des complexes ou des quaternions, et je n'ai rien trouvé en ligne.

            Par exemple, la seul fois où j'ai vu l'usage des quaternions, c'était pour faire une rotation 3D avec préservation de la norme (rotation, puis division par la norme du vecteur de rotation), puis tout retournait en matrice, car cela faisait moins d'opérations scalaires mathématiques que d'utiliser les quaternions.

            En pratique c'est un gros problème quand on fait du calcul scientifique (par exemple en géométrie algébrique): les outils de
            calcul sont de relativement bas niveau et donc il faut “traduire” son problème dans une représentation qu'on va pouvoir faire
            ingurgiter à un système de calcul., et souvent on fait des erreurs en traduisant.

            Exactement, il manque un pont entre les 2.

            "La première sécurité est la liberté"

            • [^] # Re: HS math : polynômes de complexe

              Posté par (page perso) . Évalué à 4 (+2/-0).

              Au contraire, je cherchais des infos sur les polynômes avec des complexes ou des quaternions, et je n'ai rien trouvé en ligne.

              Ah okay, alors voici quelques pistes:

              • Une pan important de la théorie sur les polynômes complexes est la théorie des fonctions holomorphes, ce sont les fonctions complexes de la variable complexe qui sont dérivables. Une partie importante de la théorie appliquée aux polynômes vise à comprendre comment les racines dépendent des coefficients, voir par exemple le calcul des résidus, la théorie de Sturm-Liouville, le théorème de Gauss–Lucas ou les théorèmes de Hurwitz. Du point de vue “recherche numérique des racines” c'est l'application de la méthode de Newton qui a fait découvrir les ensembles de Julia et de Mandelbrot. Une autre partie de la théorie complexe est liée au problème de représentation conforme – comment transporter deux parties du plan l'une sur l'autre en respectant les angles, où on essaie parfois de trouver des solutions polynomiales.

              • Pour les polynômes, complexe ou non, les classes d'algorithmes importants sont ceux déduis de la recherche des bases de Grobner pour un idéal. En gros cela généralise la notion de PGCD d'une famille de polynômes aux cas où tout va mal. C'est surtout intéressant pour les géomètres algébristes et c'est expliqué avec un point de vue tout à fait algorithmique dans le livre de David Eisenbud.

              • Les quaternions jouent un rôles très important en mathématiques, et surtout en géométrie algébrique, à cause du théorème de Hurwitz (les seules algèbres réelles normées et à division sont les réels, les complexes, les quaternions et les octonions) de la classification des algèbres de Jordan et du carré magique de Freudenthal – encore une fois c'est plutôt du matériel avancé.

              puis tout retournait en matrice, car cela faisait moins d'opérations scalaires mathématiques que d'utiliser les quaternions.

              En fait on peut représenter les quaternions par des matrices, notamment pour faire des calculs (Tout comme les complexes d'ailleurs.) C'est un cas général pour toutes les algèbres “bien comme il faut” (sur un corps, de dimension finie, intègre, associative) car on peut identifier un élément de l'algèbre à la multiplication par cet élément – qui est linéaire et peut donc être vu comme une matrice.

              • [^] # Re: HS math : polynômes de complexe

                Posté par (page perso) . Évalué à 2 (+0/-0).

                En fait on peut représenter les quaternions par des matrices, notamment pour faire des calculs

                moui, c'est ce que je m'étais dit pour tenter de trouver une explication. Pour autant, ça fait un peu explication que « quand on n'a qu'un marteau, tout souci est un clou… ». Le lien [complexe|quaternion|octonion] vers matrice n'étant pas forcément évident pour moi :-)

                • [^] # Re: HS math : polynômes de complexe

                  Posté par (page perso) . Évalué à 6 (+4/-0).

                  Pour autant, ça fait un peu explication que « quand on n'a qu'un marteau, tout souci est un clou… ». Le lien [complexe|quaternion|octonion] vers matrice n'étant pas forcément évident pour moi :-)

                  Cela vient juste de l'observation que si A est une algèbre alors tout élément a de l'algèbre définit deux opérations

                  \gamma_a(x) = ax \mbox{ et }\rho_a(x) = xa

                  la multiplication à gauche par a et celle à droite. Dans de bonnes conditions, cela donne une “modélisation” de l'algèbre comme sous-algèbre de l'algèbre des matrices, rien de bien arbitraire là-dedans (à part la base choisie, mais on peut parler de tout ça sans matrices pour se débarasser de cet arbitraire ;) )

                  On est très loin de la situation du marteau et du clou, parceque le point de vue “algèbre linéaire” dans l'étude des algèbres permet de démontrer de nombreux théorèmes, c'est à dire qu'identifier ce point de vue, loin de n'engendrer que des souffrances pour l'utilisation d'un outil inadapté au problème est très riche en enseignements.

                  • [^] # Re: HS math : polynômes de complexe

                    Posté par . Évalué à 4 (+1/-0).

                    Il y a des contreparties à utiliser les matrices à la place des quaternions, par exemple, la taille : c'est une matrice 4x4 et non simplement 4 nombres. J'ai l'impression que l'on est plus "libre" avec les matrices, mais donc, elles ont moins de propriétés pour simplifier les calculs.

                    "La première sécurité est la liberté"

                    • [^] # Re: HS math : polynômes de complexe

                      Posté par (page perso) . Évalué à 3 (+1/-0).

                      Du point de vue strictement calculatoire, le seul intérêt d'implémenter l'algèbre des quaternions par des matrices est que c'est une approche générale (on peut le faire pour toute la classe d'algèbres dont je parlais plus haut) et une solution spécialisée pour une algèbre spécifique a intérêt à être meilleure. :)

                      Le fait d'identifier les quaternions à des transformations linéaires d'un espace de dimension 4 (les transformations naturelles d'au dessus) ouvre plein de questions de géométrie – justement parceque la transformation est naturelle (on n'a pas besoin de faire un choix). Le groupe K des quaternions de norme 1 est une sphère de dimension 3, du coup en voyant les quaternions comme des transformations de l'espace à quatre dimension, on voit K comme un sous-groupe des transformations qui préservent la sphère – groupe orthogonal O_4, est-ce qu'on peut décrire K juste géométriquement, sans parler des quaternions (genre K est le stabilisateur de machin patin couffin)? Quels éléments il manque à K pour engendrer tout O_4? Quelles sont les classes de l'opération de K sur O_4? En regardant l'opération de K sur l'espace tangent à K en 1, on trouve aussi une représentation de K dans O_3, le groupe orthogonal de cet espace tangent, cela arrive aussi avec tout son lot de questions… en bref cette identification est une porte ouverte! :)

                      • [^] # Re: HS math : polynômes de complexe

                        Posté par . Évalué à 6 (+4/-0).

                        Ouch, t'es violent quant tu t'y mets ! :-P

                        J'ai pas trop le temps de développer, ni de mettre de jolis dessins, mais ce serait peut être plus simple de commencer avec les complexes et leur interprétation en géométrie plane (un plan c'est plus simple et plus intuitif qu'une espace à 4 dimensions ou une sphère à 3 dimensions ;-).

                        Disons que quand je lis l'équation i^2=-1, je l'interprète comme « deux quarts de tour font un demi-tour ». Les opérations algébriques (addition et multiplication) entre nombres complexes peuvent se voir comme des transformations du plan dans lui même :

                        • l'addition c'est une translation
                        • la multiplication c'est la composition d'une rotation et d'une dilatation (homothétie en langage mathématique).

                        On pourrait faire des dessins pour les représenter géométriquement dans un plan :

                        • l'addition c'est la diagonale d'un parallélogramme
                        • la multiplication c'est la construction de deux triangles semblables (ils ont les même angles, c'est Thalès)

                        Pour la multiplication de w par z : on voit w comme un point du plan et on construit le triangle qui a w pour sommet et le segment [0 ; 1] pour base. Le produit zw est le sommet du triangle semblable au précèdent avec pour base le segment [O ; z].

                        Pour le lien complexe-matrice, quand on voit la multiplication par i comme une rotation d'un quart de tour dans le sens directe, cela revient à le voir comme la matrice :

                        0   -1
                        1    0
                        

                        ce qui se voit aussi sur l'équation i * (a + b * i) = (-b) + a * i.

                        Pareil, un complexe de module 1 c'est une rotation, c'est à dire une transformation qui envoie un cercle sur lui-même quand son centre est celui de la rotation.

                        Après, pour les quaternions c'est pareil mais en dimension 4 au lieu de la dimension 2, et ceux de normes 1 préservent une sphère de dimension 3 (= 4 - 1) au lieu d'une sphère de dimension 1 (= 2 - 1), i.e un cercle.

                        Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.

                        • [^] # Re: HS math : polynômes de complexe

                          Posté par . Évalué à 5 (+2/-0).

                          Les complexes en géométrie 2D, c'est du niveau terminal.

                          Les quaternions, c'est la même chose mais en 3d, sauf qu'il y a 4 coordonnés pas 3, et cela complexifie pas mal le problème :)

                          Et mettre des polynômes la dessus, j'ai jamais vu de doc.

                          "La première sécurité est la liberté"

                          • [^] # Re: HS math : polynômes de complexe

                            Posté par . Évalué à 2 (+0/-0).

                            Les complexes en géométrie 2D, c'est du niveau terminal.

                            Oui, mais au départ il y a eu Baud qui a écrit :

                            Le lien [complexe|quaternion|octonion] vers matrice n'étant pas forcément évident pour moi

                            Pour les complexes, l'idée derrière le lien est celle que j'ai exposée dans mon commentaire. Pour les autres, il suffit d'augmenter les nombre de dimensions. Pour les quaternions, c'est de la dimension 4 et non de la 3D.

                            Et dans ton premier commentaire tu poses la question :

                            est-ce que les polynômes de complexe ou de quaternion existent et ont les mêmes propriétés que les polynômes avec des réels ?

                            Les polynômes sur les complexes, c'est aussi du niveau terminal. ;-)

                            Et mettre des polynômes la dessus, j'ai jamais vu de doc.

                            Comme te l'a dit mickabouille, on définit généralement des polynômes sur tout ce qui à une structure d'anneau (dès qu'on peut ajouter, soustraire et multiplier des objets). On peut, par exemple, considérer des polynômes sur des matrices de dimension quelconque avec coefficients dans n'importe quel corps.

                            Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.

                            • [^] # Re: HS math : polynômes de complexe

                              Posté par . Évalué à 3 (+0/-0).

                              Les polynômes sur les complexes, c'est aussi du niveau terminal. ;-)

                              Pas vraiment, il en est question dans les racines de polynôme et pas vraiment dans les coeff ou autre courbe.

                              Comme te l'a dit mickabouille, on définit généralement des polynômes sur tout ce qui à une structure d'anneau (dès qu'on peut
                              ajouter, soustraire et multiplier des objets). On peut, par exemple, considérer des polynômes sur des matrices de dimension
                              quelconque avec coefficients dans n'importe quel corps.

                              Dans mon souvenir, le fait d'avoir un anneau et non plus un corp, commence à poser des problèmes dans l'associativité et/ou la transitivité. (l'exemple typiquement est l'ordre des multiplications qui devient importante avec les quaternions, l'exemple typique est la combinaison de 2 rotations dans l'espace qui ne sont pas identique selon l'ordre d’exécution). Et dans les polynômes, on passe son temps à simplifier les équations.

                              Mais ok, pour mon idée de transformé d'image, cela devrait marcher.

                              "La première sécurité est la liberté"

                              • [^] # Re: HS math : polynômes de complexe

                                Posté par . Évalué à 3 (+1/-0).

                                Pas vraiment, il en est question dans les racines de polynôme et pas vraiment dans les coeff ou autre courbe.

                                Peut être, la terminal c'est loin pour moi. Ça doit être en première année d'enseignement supérieur alors, avec le théorème fondamental de l'algèbre : tout polynôme complexe non constant admet une racine (la preuve de Gauss, assez triviale, repose sur l'interprétation géométrique des complexes).

                                Dans mon souvenir, le fait d'avoir un anneau et non plus un corp, commence à poser des problèmes dans l'associativité et/ou la transitivité.

                                La différence entre un corps et un anneau, c'est la commutativité de la multiplication (cas de la composition de deux rotations). On définit pour cela le commutateur de deux éléments d'un anneau : [a,b]=ab-ba. Il est nul si et seulement si les deux éléments commutent. On peut le voir comme un polynôme a deux variables, et si l'on en fixe une, les racines du polynôme à une variable obtenu sont les éléments qui commutent avec elle.

                                Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.

                                • [^] # Re: HS math : polynômes de complexe

                                  Posté par . Évalué à 4 (+1/-0).

                                  Et pour les octonions ont perd quoi en plus ?

                                  "La première sécurité est la liberté"

                                  • [^] # Re: HS math : polynômes de complexe

                                    Posté par . Évalué à 4 (+2/-0).

                                    Et pour les octonions ont perd quoi en plus ?

                                    On perd l'associativité de la multiplication, il me semble.

                                    Petite correction sur mon commentaire précèdent : la véritable différence entre un corps et un anneau, c'est l'existence de la division (la multiplication est inversible). Il y a aussi des corps non commutatifs, comme celui des… quaternions. ;-)

                                    Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.

                                    • [^] # Re: HS math : polynômes de complexe

                                      Posté par (page perso) . Évalué à 4 (+2/-0).

                                      Ici il y a plein de petites déviations de terminologie, qui dépend de la spécialité. Quand on fait de l'arithmétique ou de la géométrie algébrique on considère que les anneaux et a fortiori les corps sont commutatifs et ont une unité et on nomme tout ce qui diverge dans le grand fourre-tout des “algèbres” que l'on qualifie de manière ad-hoc (algébre unitaire ou non, commutative ou non, associative ou non, etc.) Mais dans les spécialités (géométrie non-commutative par exemple :-) ) on peut trouver des terminologies divergentes.

                                      Petite correction sur mon commentaire précèdent : la véritable différence entre un corps et un anneau, c'est l'existence de la division (la multiplication est inversible).

                                      Pour être plus précis, où tout élément non nul est inversible. Exemples notoires élémentaires d'anneaux qui ne sont pas des corps: l'anneau des nombres entiers (car 1 n'est le double d'aucun nombre entier p.ex.) et l'anneau des entiers modulo 6 (parceque 3 x 2 y vaut 0, donc ici aussi 1 n'est le double d'aucun nombre.) et pour les corps, les nombres rationnels, réels, et complexes, et les entiers modulo un nombre premier.

                                      Sur les rapports entre anneaux et géométrie il y a le joli petit livre de Pierre Samuel “géométrie projective” qui part des axiomes de la géométrie plane pour retrouver le corps des scalaires sous-jascent (avec les figures que tu mentionnais) et redécouvre les corps finis dans son analyse.

                                      Les quaternions sont associatifs et pas commutatifs (ij = - ij) et les octonions ne sont effectivement ni commutatifs, ni associatifs.

                                      • [^] # Re: HS math : polynômes de complexe

                                        Posté par . Évalué à 3 (+0/-0).

                                        Les quaternions sont associatifs et pas commutatifs (ij = - ij) et les octonions ne sont effectivement ni commutatifs, ni associatifs.

                                        (ij = -ji ?)

                                        Cela me rappelle autre chose. Je m'intéresse aussi au compilateur et autre langage. J'avais réfléchit au optimisation sur les opérations IEEE754. En général, les optimisations considèrent ses nombres comme des réels ce qu'ils ne sont pas. Dans 90% des cas, cela peut marcher, cela ne fait qu'augmenter l'erreur ce qui peut être tolérable, mais sans aucun contrôle dessus.

                                        Je me suis demandé si on ne pouvais pas prendre le problème dans l'autre sens. C'est à dire de proposer un langage dans lequel on déclare utiliser un nombre réel pour faire une opération, ce qui permet ensuite de transformer le code. Mais comme un ordinateur ne peut pas calculer avec des réels, il faut des restrictions, typiquement un range et une précision. Je ne sais pas si cela existe déjà. Mais j'imagine bien un langage qui propose les fonctions typiques (tan, sin, integral, etc…) qui ne sont pas des fonctions en C écrite à la main avec une précision maximum sur base d'une série quelconque, qui s'enchainent. Mais leur vrai définition mathématique qui peuvent ensuite se réduire automatiquement à un polynôme, avec la précision finale demandée.

                                        Est-ce totalement illusoire ?

                                        "La première sécurité est la liberté"

                                        • [^] # Re: HS math : polynômes de complexe

                                          Posté par (page perso) . Évalué à 3 (+1/-0). Dernière modification le 05/10/17 à 10:59.

                                          (ij = -ji ?)

                                          Dans la présentation classique des quaternions, où on prend comme base sur R, 1, i, j, k avec les relations qui vont bien (comme p.ex. dans Wikipedia).

                                          Je me suis demandé si on ne pouvais pas prendre le problème dans l'autre sens. C'est à dire de proposer un langage dans lequel on déclare utiliser un nombre réel pour faire une opération, ce qui permet ensuite de transformer le code. Mais comme un ordinateur ne peut pas calculer avec des réels, il faut des restrictions, typiquement un range et une précision.

                                          Je ne suis pas sûr de bien te comprendre, mais j'ai l'impression qu'en gros tu veux que le langage se retienne le plus longtemps possible de faire les calculs sur les nombres réels jusqu'à ce que “l'expression finale” soit connue, pour être adéquatement simplifiée avant que le calcul proprement dit n'ait lieu, en choisissant une précision adéquate?

                                          Je pense qu'on est très loin de pouvoir faire ça de façon automatique et dans une généralité assez grande pour que le traitement soit implémenté par les langages généralistes. La difficulté tient dans le fait qu'il faut pouvoir faire des optimisations qui soient cohérentes dans un contexte que le compilateur ne connaît a priori pas, par exemple un système d'équations que le compilateur ne connaît pas parceque les systèmes d'équations ne sont pas un concept du langage.

                                          Dans ce genre d'applications, on fait une analyse a priori des calculs qu'on a à mener, et on peut aussi, selon l'entrée, choisir telle ou telle méthode de calcul qui va minimiser l'erreur, au besoin en s'aidant d'un logiciel de calcul symbolique, puis après cette analyse on implémente le calcul en flottants. En gros ce que tu proposes de laisser au compilateur est aujourd'hui largement un processus manuel.

                                          Je ne sais pas si cela existe déjà. Mais j'imagine bien un langage qui propose les fonctions typiques (tan, sin, integral, etc…) qui ne sont pas des fonctions en C écrite à la main avec une précision maximum sur base d'une série quelconque, qui s'enchainent. Mais leur vrai définition mathématique qui peuvent ensuite se réduire automatiquement à un polynôme, avec la précision finale demandée.

                                          La principale difficulté est que c'est très difficile de savoir où “couper” la série pour obtenir la précision nécessaire, sans faire trop de calculs. En pratique il faut faire une analyse au cas par cas de chaque série à calculer et utiliser des heuristiques pour gagner du temps dans le calcul. Aussi la plupart des implémentations des fonctions mathématiques de la libc (hors implémentations spécialisée) ne calculent pas toutes les fonctions de façon exacte (le ou les deux derniers bits sont souvent faux, pour raccourcir le calcul.) La bibliothèque CRLIBM implémente des fonctions exactes en double précision, le lien est une documentation abondante qui permet de se faire une idée de la complexité du problème et des méthode utilisées.

                                          Le programme dc utilise des flottants en précision arbitraire, cela peut te donner une seconde piste pour tes investigations:

                                          Calcul d √2 avec une précision de 199
                                          ```
                                          199 k
                                          2 v p
                                          1.4142135623730950488016887242096980785696718753769480731766797379907\
                                          324784621070388503875343276415727350138462309122970249248360558507372\
                                          126441214970999358314132226659275055927557999505011527820605714

                                          2 ^ p
                                          1.9999999999999999999999999999999999999999999999999999999999999999999\
                                          999999999999999999999999999999999999999999999999999999999999999999999\
                                          999999999999999999999999999999999999999999999999999999999999998
                                          ```

                                          (cf. https://apod.nasa.gov/htmltest/gifcity/sqrt2.10mil pour le premier million des décimales de racine de 2.)

                                          Par contre toutes les fonctions classiques d'une bibliothèque mathématique (exponentielle, logarithme, gamma, Bessel, etc.) ne sont pas implémentées. Les algorithmes de base pour implémenter des nombres flottants avec une précision arbitraire est décrite dans le livre de Knuth (The Art of Computer Programming Vol. 2).

                                          Un intérêt du travail en précision arbitraire est au contraire d'utiliser une très faible précision, cela permet de facilement comparer la stabilité numérique des algorithmes utilisés.

                                          • [^] # Re: HS math : polynômes de complexe

                                            Posté par . Évalué à 4 (+1/-0).

                                            Dans la présentation classique des quaternions, où on prend comme base sur R, 1, i, j, k avec les relations qui vont bien (comme p.ex. dans Wikipedia).

                                            En fait je corrigeais une erreur, puisque tu n'inverses pas i et j dans ton équation.

                                            Je ne suis pas sûr de bien te comprendre, mais j'ai l'impression qu'en gros tu veux que le langage se retienne le plus longtemps possible de faire les calculs sur les nombres réels jusqu'à ce que “l'expression finale” soit connue, pour être adéquatement simplifiée avant que le calcul proprement dit n'ait lieu, en choisissant une précision adéquate?

                                            Exactement, quittes à sortir maxima si il le faut.

                                            La difficulté tient dans le fait qu'il faut pouvoir faire des optimisations qui soient cohérentes dans un contexte que le compilateur ne connaît a priori pas, par exemple un système d'équations que le compilateur ne connaît pas parceque les systèmes d'équations ne sont pas un concept du langage.

                                            Je ne vois pas ou tu veux en venir. Mon langage peut proposer des fonctions de base qui peuvent servir à définir d'autres fonctions 'exacte'. Je parle bien de formule, ce n'est pas un compilateur qui va résoudre un système d'équation.

                                            En gros ce que tu proposes de laisser au compilateur est aujourd'hui largement un processus manuel.

                                            Exactement oui, car le code issue du processus manuel est totalement incompréhensible sans les équations en question. Dis autrement, cela rejoint la préoccupation de l'éloignement du "modèle métier" du code proprement dit. Aujourd'hui, il est à la mode de clairement séparer la logique métier, de tous le support qui va autour (transport, log, trace, compteur, rate limite, base de donné,…)

                                            Un exemple serait l'écriture des codec vidéo. La plus part des codecs utilisent des boites algorithmiques plus ou moins identiques, avec des paramètres différents. Mais pour des raisons de performances, le tout est agrégé, et aucun bloc n'est réutilisable.

                                            "La première sécurité est la liberté"

                                        • [^] # Re: HS math : polynômes de complexe

                                          Posté par . Évalué à 2 (+0/-0).

                                          En général, les optimisations considèrent ses nombres comme des réels ce qu'ils ne sont pas.

                                          Tu veux dire que les compilateurs effectuent des optimisations qui altèrent la sémantique du code ??? ou que les codes écrits à la main considèrent les float comme des réels ?

                                          Est-ce totalement illusoire ?

                                          Non ça doit pouvoir se faire, si tu acceptes un temps de calcul plus long.
                                          Voir GMP, ou Num et ZArith pour OCaml.

                                          Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.

                                          • [^] # Re: HS math : polynômes de complexe

                                            Posté par . Évalué à 5 (+2/-0).

                                            Tu veux dire que les compilateurs effectuent des optimisations qui altèrent la sémantique du code ???

                                            Oui, c'est le cas de l'option --fast-math de gcc, ou voir la controverse quand Icc est sorti, qui allait bien plus vite que gcc, mais des numériciens avaient dit 'que icc ne savait pas calculer'.

                                            Non ça doit pouvoir se faire, si tu acceptes un temps de calcul plus long.
                                            Voir GMP, ou Num et ZArith pour OCaml.

                                            Je me suis mal exprimé. Mon but n'est pas d'avoir une précision énorme, 99% du temps tu en as rien à faire. Le but est d'avoir la précision "suffisante" (par exemple, on peut imaginer que des résultats de calcul d'image qui finisse en 8 bits peut permettre des simplifications). Si on détermine précisément la précision attendue, on peut générer un code, infiniment plus rapide qu'un code générique qui utilise une série de fonction avec 1 ou 2 lsb de faux.

                                            "La première sécurité est la liberté"

                                            • [^] # Re: HS math : polynômes de complexe

                                              Posté par . Évalué à 2 (+0/-0).

                                              Le but est d'avoir la précision "suffisante" (par exemple, on peut imaginer que des résultats de calcul d'image qui finisse en 8 bits peut permettre des simplifications).

                                              D'accord, si je comprends bien ta question c'est le problème inverse : si tu veux un précision sur 8 bits, tu t'en fous d'avoir un algorithme qui donne un résultat correcte, disons, sur 20 bits. Tu voudrais un générateur d'algorithme efficace en fonction de la précision souhaitée ?

                                              Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.

                                              • [^] # Re: HS math : polynômes de complexe

                                                Posté par (page perso) . Évalué à 5 (+3/-0).

                                                Tu voudrais un générateur d'algorithme efficace en fonction de la précision souhaitée?

                                                C'est ce qu'il m'a semblé comprendre. C'est particulièrement difficile parceque si on prend la borne la plus pessimiste de l'erreur elle est bien pire que tout ce qui arrive en pratique (on perd un bit de précision à chaque addition, on divise la précision par deux en prenant une racine carrée, etc.) et que le premier affinage qui vient à l'idée est de prendre en compte la distribution des entrées possibles pour en déduire la variable d'erreur et optimiser cette variable, et je doute que ces calculs soient faciles à mener, surtout si on quitte le domaine des fractions rationnelles en ajoutant les expoentielles, etc.

                                                Si on veut sérieusement aller dans cette direction, il me semble que la première chose à faire serait de traiter les cas des polynômes car ce doit être le plus facile.

                                                Ensuite dans le calcul scientifique il ne faut pas oublier que:

                                                1. Les entrées elles-même ne sont pas nécessairement exactes

                                                2. Beaucoup d'algorithmes numériques sont itératifs et s'arrêtent lorsque “l'erreuer est assez petite” sans savoir a priori combien d'opérations vont être utilisées (p.ex. les théorèmes de point fixe – dont la méthode de Newton quand elle marche bien – ou bien les algo d'optimisation comme le simulated annealing.)

                                                • [^] # Re: HS math : polynômes de complexe

                                                  Posté par . Évalué à 4 (+1/-0).

                                                  C'est ce qu'il m'a semblé comprendre. C'est particulièrement difficile parceque si on prend la borne la plus pessimiste de l'erreur elle est bien pire que tout ce qui arrive en pratique (on perd un bit de précision à chaque addition, on divise la précision par deux en prenant une racine carrée, etc.)

                                                  C'est le genre de chose que l'on a avec des opérations sur des "range" par exemple, en faisant les calcul au pire cas. Une manière de simplifier est de rajouté une probabilité d'erreur. On considère des nombres comme par exemple 12.0 + ou - 0.1. soit un range de [11.9:12.1] si il s'agit d'une entré, on peut considéré que la répartition de l'erreur est "plat", chaque valeur dans ce range est équiprobable. Après chaque opération, ce n'est plus le cas du tout (de mémoire, il y a une probabilité en x² x³ …). On peut ainsi couper la précision beaucoup plus qu'avec une arithmétique d'ensemble.

                                                  Si on veut sérieusement aller dans cette direction, il me semble que la première chose à faire serait de traiter les cas des polynômes car ce doit être le plus facile.

                                                  Forcément puisqu'il n'y a pas de transformation.

                                                  Les entrées elles-même ne sont pas nécessairement exactes

                                                  Elles ne le sont jamais en pratique. Les entrées sont quasiment toujours une mesure physique de quelques choses.

                                                  Beaucoup d'algorithmes numériques sont itératifs et s'arrêtent lorsque “l'erreuer est assez petite” sans savoir a priori combien d'opérations vont être utilisées (p.ex. les théorèmes de point fixe – dont la méthode de Newton quand elle marche bien – ou bien les algo d'optimisation comme le simulated annealing.)

                                                  Oui, dans ce cas, la simplification ne se ferait que sur la formule qui est itéré.

                                                  "La première sécurité est la liberté"

                                      • [^] # Re: HS math : polynômes de complexe

                                        Posté par . Évalué à 2 (+0/-0).

                                        Ici il y a plein de petites déviations de terminologie, qui dépend de la spécialité.

                                        C'est vrai. C'est d'ailleurs pour cela qu'au départ j'ai considéré tout corps comme étant commutatif mais pas nécessairement les anneaux : comme la discussion était sur l'algèbre linéaire, les corps des scalaires sont commutatifs mais les anneaux des matrices ne le sont pas.

                                        Sur les rapports entre anneaux et géométrie il y a le joli petit livre de Pierre Samuel “géométrie projective” qui part des axiomes de la géométrie plane pour retrouver le corps des scalaires sous-jascent (avec les figures que tu mentionnais) et redécouvre les corps finis dans son analyse.

                                        J'ai fait une recherche mais il ne semble plus être édité, et les occasions sont horriblement onéreuses. C'est dommage, à lire la présentation il doit être une bonne source d'intuitions et d'images pour la vulgarisation (sans compter le fait que j'ai toujours trouvé les approches de la géométrie projective particulièrement élégante :-).

                                        Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.

                                        • [^] # Re: HS math : polynômes de complexe

                                          Posté par (page perso) . Évalué à 2 (+0/-0).

                                          J'ai fait une recherche mais il ne semble plus être édité

                                          Tu peux certainement le consulter à la BU la plus proche de chez toi. Comme il est intéressé par l'algèbre il ne fait pas trop la géométrie réelle (paramétrisation du cercle par l'exponentielle complexe, ce qui est le problème difficile justifiant la présentation moderne qui prend les choses à l'envers, en partant d'une définition a priori de l'exponentielle.)

  • # Licence

    Posté par (page perso) . Évalué à 2 (+2/-2). Dernière modification le 28/09/17 à 13:12.

    en fait la FDL est libre uniquement dans le cas où les sections invariantes ne sont pas utilisées, bref associer libre et FDL n'est pas toujours vrai, il vaut mieux écrire "FDL sans section invariante" pour la licence si on veut être clair qu'on fait du libre.

    Mais sinon, de nos jours la FDL est plutôt considérée comme "legacy", et il est conseillé généralement d'utiliser la CC-BY-SA pour un maximum (en restant dans la cadre de copyleft) de compatibilité et de diffusion, une petite suggestion pour éviter la prolifération des licences libres (en), passer (ou ajouter) la licence CC-BY-SA (même RMS avait convenu que c'était mieux pour par exemple Wikipedia, mais l'offre de migration dans la FDL était limitée dans le temps).

    • [^] # Re: Licence

      Posté par . Évalué à 9 (+8/-0).

      La FDL est vraiment un choix. Elle contient un élément très important qui n'est pas réellement couvert par les CC, à savoir la notion de copie transparente

      La FDL exclu explicitement et nominativement le format PDF des formats acceptables dans la notion de "partage à l'identique" et mentionne nominativement les sources LaTeX non obfusquées comme correctes.

      Quelqu'un qui modifie le Frido doit fournir les sources LaTeX de sa modification et ne peut pas se contenter de publier un PDF.

      La FDL est simplement plus adaptée à un texte.

      De la même manière, si j'écrivais de la musique, j'éviterais également la CC, pour la même raison : on ne peut pas raisonnablement prétendre faire de la musique libre sans fournir les partition.

      • [^] # Re: Licence

        Posté par (page perso) . Évalué à 2 (+0/-0).

        ET la licence Art Libre ? Personnellement j'évite le CC car trop complexe et je n'aime pas la mention NC qui n'est pas claire. Du coup, je bascule mes écrit en Art Libre qui me semblait simple et dans l'esprit de la GPL.

        • [^] # Re: Licence

          Posté par (page perso) . Évalué à -1 (+1/-4).

          je n'aime pas la mention NC qui n'est pas claire

          Pas parce qu'elle est non libre? ha…

        • [^] # Re: Licence

          Posté par . Évalué à 1 (+2/-0).

          La licence Art Libre n'est-elle pas équivalente à la licence CC BY-SA ?

          • [^] # Re: Licence

            Posté par (page perso) . Évalué à 8 (+6/-0).

            La FDL est vraiment un choix. Elle contient un élément très important qui n'est pas réellement couvert par les CC, à savoir la notion de copie transparente

            C'est en effet une raison très valide. Il est tout à fait vrai que les Creative Commons n'ont pas cette notion de "source" et c'est souvent ennuyeux. Cela rend beaucoup d'œuvres théoriquement réutilisables pour modification beaucoup moins utiles, voire parfois carrêment inutilisables dans les faits pour modification. Du genre une vidéo sera quasiment toujours dans un format compressé avec perte (à tel point qu'on ne dit même plus "avec perte" pour les codecs vidéos tellement cela paraît évident); enfin je dis "quasiment" pour pas qu'on me ressorte un contre-exemple atypique, mais dans les faits, on exporte toujours des vidéos compressées avec perte pour les cas classiques.

            Il existe toutefois des codecs sans perte, comme Huffyuv et beaucoup de codecs avec perte classiques ont une option pour le rendre sans perte (même si c'est quasi-jamais utilisé; la liste est assez longue tout de même d'après Wikipédia). Mais franchement, qui utilise ça? Dans le médical peut-être? (bon je suis sûr qu'y a des cas d'utilisation bien sûr, sinon ça existerait pas!)
            Et puis même si les vidéos étaient sans perte, ce n'est pas pareil que d'accéder aux fichiers vraiment source, notamment pour changer les effets, la composition, les transitions, etc. Sans compter que pour charger un fichier vidéo sans perte (qui sera énorme. Des fois, même avec de la perte, selon les options de compression, des vidéos peuvent faire plusieurs GBs pour 30 secondes!), le traiter et extraire des parties sera déjà une gageure. Ce ne sera jamais pareil qu'un film découpé en sources multiples bien plus faciles à traiter.

            Tout ça pour dire que oui, je suis d'accord, la notion de "source" comme référence pour les modifications manque cruellement dans les CCs.

            ET la licence Art Libre ?

            Art Libre a également cette notion de source. Dans leur texte légal, ils appellent cela les "originaux".

            Originaux (sources ou ressources de l’œuvre) :
            Chaque exemplaire daté de l’œuvre initiale ou conséquente que leurs auteurs présentent comme référence pour toutes actualisations, interprétations, copies ou reproductions ultérieures.

            Par contre ils ne définissent pas précisément ce qu'est un "original" (hormis que c'est à utiliser comme référence pour les modifications) et cela reste au choix de l'auteur. En particulier ils ne vont pas limiter les "originaux" à des formats faits pour la modification, donc pas de considération technique. Il reste donc possible pour un artiste de "présenter" un PDF comme étant l'original. Je dirais que c'est matière à controverse, mais dans tous les cas, c'est beaucoup moins précis que la définition FDL.

            Pour nuancer mon propos, la FDL donne quelques exemples de "copies transparentes" (les "originaux" d'Art Libre) et je suis pas trop d'accord avec certains:

            Examples of suitable formats for Transparent copies include plain
            ASCII without markup, Texinfo input format, LaTeX input format, SGML
            or XML using a publicly available DTD, and standard-conforming simple
            HTML, PostScript or PDF designed for human modification. Examples of
            transparent image formats include PNG, XCF and JPG.

            Le gras est de moi. Autant je suis tout assez d'accord pour la partie texte (on notera toutefois qu'ils incluent le PDF si désigné spécifiquement pour de la modification), autant pour les images, du PNG et du JPG? Je dirais que ça peut être acceptable, mais là aussi avec des cas. Le PNG, oui si l'auteur a travaillé en 16-bit par canal ou moins, sans calque de texte, sans vecteur nécessaire pour modification, etc. Le JPG étant compressé donc destructif par nature par contre ne me semble une source/copie transparente acceptable dans aucun cas (bon à part si on parle d'un JPG sorti directement d'un appareil photo, comme source aussi utilisée par le créateur de l'œuvre sous FDL; mais s'il la modifie, la source de son œuvre finale devrait être un XCF, ORA ou similaire).
            Pour moi, la seule source acceptable sans conteste dans les 3 formats proposés est XCF. PNG le sera toutefois dans beaucoup de cas, soyons clair. Mais cela reste à préciser car il y a aussi beaucoup de cas où un PNG est tout sauf une source acceptable.

            Donc au final, même la FDL reste assez large sur son acceptation de ce qu'est une source et laisse pas mal à l'interprétation de l'auteur.

            La licence Art Libre n'est-elle pas équivalente à la licence CC BY-SA ?

            Si depuis quelques années maintenant. Si vous utilisez LAL 1.3 et CC by-sa 4.0, vous pouvez mélanger des œuvres de ces licences. Voir aussi la liste de compatibilité de Creative Commons. De même votre travail dérivé peut lui-même être dans une des licences compatibles de la licence de l'œuvre source.

            Film d'animation libre en CC by-sa/Art Libre, fait avec GIMP et autre logiciels libres: ZeMarmot [ http://film.zemarmot.net ]

          • [^] # Re: Licence

            Posté par (page perso) . Évalué à 1 (+0/-1).

            Si bien sur. Mais plus il y a de CC plus il y a de CC avec NC… Donc je ne promeus aucune CC. Simple et basique comme raisonnement.

            • [^] # Re: Licence

              Posté par (page perso) . Évalué à 0 (+0/-2). Dernière modification le 01/10/17 à 07:51.

              Simple et basique comme raisonnement.

              On est bien d'accord que ce n'est pas bien intelligent de ne pas promouvoir du libre comme Wikipedia si on est libriste, en effet.

              Mais plus il y a de CC plus il y a de CC avec NC…

              Perso, j'en vois de moins en moins (en pourcentage), on ne doit pas regarder au même endroit j'imagine.

  • # Frido pour l'informatique ?

    Posté par . Évalué à 9 (+7/-0).

    Ça serait génial d'avoir ce genre de bouquin de référence pour l'informatique (et en français). Je ne sais pas si The Art of Computer Programming joue vraiment ce rôle (mais je n'en connais pas de traduction en français).

  • # pas dac.

    Posté par (page perso) . Évalué à 2 (+1/-0).

    "Les éditions personnelles ou polycopiés (électroniques ou imprimées) sont interdits (même munis d'ISBN). Littéralement, cela signifie qu'on a pas le droit d'apporter des ouvrages dont on est éditeur."

    Non, ça n'aurait pas de sens.

    Pour moi, ça veut dire que tu n'as pas le droit de venir avec un objet qui n'est pas le même que celui qui est vendu dans le commerce.

    achat sur lulu => OK
    print pdf => pas OK

    • [^] # Re: pas dac.

      Posté par . Évalué à 4 (+3/-0).

      Non, ça n'aurait pas de sens.
      Pour moi, ça veut dire que tu n'as pas le droit de venir avec un objet qui n'est pas
      le même que celui qui est vendu dans le commerce.

      Je te rejoins : ma phrase commençait par "littéralement". Et effectivement, littéralement le règlement exclu l'éditeur du texte. C'était un peu ironique.

      Quoi qu'il en soit, tu as bien raison sur ce point : l'esprit du règlement est qu'il n'est pas admis qu'un candidat aie une source que n'importe quel autre candidat n'aurait pas raisonnablement pu se procurer.

      Cependant rien dans le règlement n'exclus formellement de télécharger les PDF tels que vendus (ils sont disponibles) et de les imprimer chez soi.

      Cela dit, perso je ne le ferais pas, et je comprendrais que ça mettrais les surveillants dans l'embarras : sur 1800 pages imprimées à la maison, il n'y a aucun moyen de vérifier l'intégrité du texte.

  • # En français

    Posté par . Évalué à 1 (+0/-0).

    Le Frido : un livre, libre, de mathématiques pour l’agrégation

    Ce titre m'écorchant les yeux et les oreilles, je proposerais tout simplement:
    Le Frido, un livre libre de mathématiques pour l'agrégation.

    • [^] # Re: En français

      Posté par . Évalué à 2 (+1/-0).

      Ah tiens, j'avais même pas remarqué.
      En fait en rédaction j'avais bien écrit "mathématique" au singulier. Une bonne âme avait mis un pluriel que j'ai remis au singulier en précisant que c'était un choix assumé.
      Après j'avais plus fait attention, et ce n'est que maintenant que je vois qu'on a remis un pluriel.

      Voyons les chose du bon côté; on aurait pu se retrouver avec "Mathématiques".

      • [^] # Re: En français

        Posté par . Évalué à 1 (+0/-0).

        Ha ha
        Léon-Paul Fargue (Paris 1876-Paris 1947)
        "En art, il faut que la mathématique se mette aux ordres des fantômes"

      • [^] # Re: En français

        Posté par (page perso) . Évalué à 5 (+2/-0).

        En rédaction, il était précisé « "agrégation de mathématiques", il faut bien le "s" parce que c'est le nom du concours », du coup c'est logique que le titre comporte un 's' non ? Par ailleurs, j'ai personnellement toujours eu des cours de maths (avec un 's'), pour mathématiques (au pluriel), c'est donc juste de l'habitude de ma part plutôt qu'un choix terminologique éclairé. Je déduis de la discussion qu'il y a des divergences de terminologie entre deux écoles de pensée, l'une unificatrice de la grande théorie scientifique de la mathématique, l'autre diversificatrice (sic) des multiples approches des sciences mathématiques, ou un truc du genre. Apparemment c'est bien cela :

        https://fr.wiktionary.org/wiki/math%C3%A9matique#fr-nom « Note : Ce substantif est presque toujours employé au pluriel. On rencontre néanmoins parfois le singulier, ce qui donne au contexte une teinte d’archaïsme, de didactisme ou reflète le point de vue des partisans de l’unité de cette science. »

        https://fr.wikipedia.org/wiki/Math%C3%A9matiques#.C3.89tymologie (redirigé depuis Mathématique) « L'usage du pluriel est un héritage de l'époque antique, où le quadrivium regroupait les quatre arts dits « mathématiques » : l'arithmétique, la géométrie, l'astronomie et la musique. Le singulier (« la mathématique ») est parfois employé en français, mais « le mot donne alors au contexte une teinte d'archaïsme ou de didactisme ».

        • [^] # Re: En français

          Posté par . Évalué à 1 (+0/-0).

          Y'a pas de mal. C'est juste que comme j'avais trouvé que "écorché les yeux et les oreilles" était un peu fort, j'ai répondu (un peu) ironiquement. Surtout la dernière référence à «Mathématique» avec une majuscule qui était une boutade contre un article de Maderios qui m'avais écorché les yeux à l'époque :)

          M'est avis qu'en réalité le principal grief sont les virgules autour de "libre" qui sont, effectivement, un peu bizares. Mais franchement, en me rinçant simplement les yeux à l'acétonne, ça passe.

          En ce qui concerne le pluriel, j'en fais pas une religion, mais c'est vrai que je préfère écrire «le Frido est un livre de mathématique».

          On me signale dans l'oreillette des problèmes avec le théorème de Lax-Milgram. J'y cours.

Envoyer un commentaire

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.