Les fonctions sont des vecteurs
(thenumb.at)- En traitant les fonctions comme des vecteurs de dimension infinie, on peut décrire avec le langage de l’algèbre linéaire des problèmes comme le traitement d’images et de géométrie, l’ajustement de courbes ou le machine learning
- L’espace des fonctions réelles satisfait les axiomes d’un espace vectoriel en additionnant les valeurs des fonctions entre elles et en multipliant leurs sorties par des scalaires ; les polynômes peuvent être représentés dans une base comme (1,x,x^2,\dots)
- La dérivation préserve les combinaisons linéaires et devient donc un opérateur linéaire ; dans la base des polynômes, on peut la voir comme une matrice infinie agissant sur le vecteur des coefficients
- Si l’on définit le produit scalaire par une intégrale, on peut aussi manipuler longueur, orthogonalité et bases orthonormées dans les espaces de fonctions ; les opérateurs autoadjoints sont liés au théorème spectral
- Le point de vue consistant à diagonaliser le laplacien relie dans une même explication les Fourier series, la compression d’images 2D, les spherical harmonics et le traitement géométrique fondé sur le Laplacian de maillage via des changements de base et de la compression
Voir les fonctions comme des vecteurs
- Les vecteurs commencent généralement comme des listes de nombres réels, mais un espace vectoriel peut aussi contenir d’autres objets, comme des listes de nombres complexes, des cycles de graphe ou des carrés magiques
- Un vecteur de dimension (N) est une liste de longueur (N), mais il peut aussi s’interpréter comme un mapping des indices vers des valeurs
- Sur un domaine dénombrablement infini, comme les entiers naturels, une fonction peut être représentée par une liste infiniment longue
- Exemple : (\mathbf{v}_i=i) peut représenter (f(x)=x) pour (x\in\mathbb{N})
- Sur un domaine non dénombrablement infini, comme les réels, il est impossible d’associer un indice entier à chaque élément, donc la représentation en liste ne fonctionne pas
- Dans ce cas, un vecteur devient proche d’une fonction arbitraire
- L’analyse fonctionnelle traite des définitions rigoureuses permettant de représenter les fonctions comme des vecteurs de dimension infinie
- L’objectif n’est pas de prouver rigoureusement des résultats en dimension infinie, mais de construire une intuition par analogie avec l’algèbre linéaire en dimension finie
Comment un espace de fonctions devient un espace vectoriel
- Dans l’espace des fonctions réelles, le corps des scalaires est (\mathbb{R}), l’ensemble des vecteurs est constitué des fonctions (\mathbb{R}\to\mathbb{R}), et le vecteur nul est la fonction qui renvoie 0 pour toute entrée
- L’addition de fonctions additionne les valeurs de deux fonctions pour une même entrée
- ((f+g)[x]=f[x]+g[x])
- C’est une généralisation de l’addition composante par composante des vecteurs, vue sous l’angle des indices de fonction
- La multiplication par un scalaire met à l’échelle le résultat de la fonction
- ((\alpha f)[x]=\alpha f[x])
- Elle correspond à l’opération vectorielle qui met à l’échelle la valeur de chaque indice
- Avec ces définitions, on peut démontrer la commutativité et l’associativité de l’addition, l’existence du vecteur nul, de l’inverse additif, ainsi que l’élément neutre, l’associativité et la distributivité de la multiplication scalaire
- La base canonique des fonctions peut être vue comme des fonctions de base (\mathbf{e}_\alpha), qui valent 1 uniquement à l’indice (\alpha) et 0 ailleurs
- Sur l’ensemble des réels, il existe un nombre non dénombrable de fonctions de base, ce qui rend difficile l’écriture sous forme de simple somme, mais cela donne l’intuition qu’à une entrée donnée (x), seule (\mathbf{e}_x) subsiste
Opérateurs linéaires et dérivation
- Une matrice encode une transformation linéaire qui préserve les combinaisons linéaires, et ses vecteurs colonnes peuvent être interprétés comme définissant une nouvelle base
- Si l’on voit aussi les fonctions comme des vecteurs, on peut envisager un objet de dimension infinie correspondant à une matrice, noté opérateur linéaire (\mathcal{L})
- En pratique, on ne peut pas écrire entièrement sous forme de matrice un opérateur de dimension infinie non dénombrable
- Mais la structure dans laquelle chaque « colonne » représente une nouvelle fonction de base de l’espace de fonctions reste utile
- La dérivation satisfait la linéarité
- (\frac{\partial}{\partial x}(\alpha f[x]+\beta g[x])=\alpha\frac{\partial f}{\partial x}+\beta\frac{\partial g}{\partial x})
- Dans l’espace des polynômes (\mathcal{P}), (1,x,x^2,x^3,\dots) forme une base dénombrablement infinie
- (p[x]=a+bx+cx^2+dx^3+\cdots) peut s’écrire comme un vecteur de coefficients ([a,b,c,d,\dots]^T)
- La dérivation se représente comme une matrice infinie qui transforme le vecteur des coefficients en ([b,2c,3d,\dots]^T)
- Les fonctions analytiques peuvent être représentées par leur Taylor series autour de 0, donc comme des combinaisons linéaires de la base des polynômes
- Le Taylor expansion correspond à un changement de base vers la base des puissances
Diagonalisation et fonctions propres
- En dimension finie, une matrice (\mathbf{A}) est diagonalisable si elle possède suffisamment de vecteurs propres linéairement indépendants et de valeurs propres réelles
- (\mathbf{A}=\mathbf{U\Lambda U^{-1}})
- Cela revient à passer dans la base propre, à mettre à l’échelle par les valeurs propres, puis à revenir dans la base canonique
- Dans un espace de fonctions, on peut aussi considérer des fonctions propres satisfaisant (\mathcal{L}f=\psi f) pour un opérateur linéaire (\mathcal{L})
- Les fonctions propres de l’opérateur de dérivation sont de la forme (p_0e^{\psi x})
- La série de l’exponentielle apparaît à partir de la condition sur les coefficients (p_i=\frac{\psi^i}{i!}p_0)
- Cependant, on ne peut pas diagonaliser la dérivation sur tout l’espace des fonctions analytiques réelles avec une base d’exponentielles
- Si l’on suppose que (f[x]=x) peut s’écrire comme une combinaison linéaire d’exponentielles, une contradiction apparaît après avoir dérivé deux fois l’expression
- Des problèmes similaires se posent pour les fonctions non constantes dont la dérivée (n)-ième est nulle, ou pour des fonctions périodiques comme sine et cosine
- En étendant l’espace aux fonctions complexes, on peut diagonaliser davantage d’opérateurs
- La dérivation est diagonalisable par la Laplace transform dans l’espace des fonctions (\mathbb{C}\to\mathbb{C})
- La Laplace transform est utile pour résoudre les équations différentielles, mais sa transformée inverse n’étant pas simple, elle n’est pas détaillée ici
Produit scalaire de fonctions et théorème spectral
- Le produit scalaire euclidien mesure à quel point un vecteur se projette dans la direction d’un autre, et le produit scalaire d’un vecteur avec lui-même donne le carré de sa longueur
- Dans un espace de fonctions, on définit le produit scalaire en remplaçant la somme finie par son analogue continu, l’intégrale
- Fonctions réelles : (\langle f,g\rangle=\int_a^b f[x]g[x],dx)
- Fonctions complexes : (\langle f,g\rangle=\int_a^b f[x]\overline{g[x]},dx)
- Toutes les fonctions ne sont pas intégrables ; on restreint donc l’espace à produit scalaire aux fonctions de carré intégrable sur l’intervalle ([a,b])
- ([a,b]) peut aussi être ([-\infty,\infty])
- Le produit scalaire de fonctions complexes doit satisfaire la symétrie hermitienne, la linéarité dans le premier argument et la définie-positivité
- Pour traiter rigoureusement la définie-positivité, on utilise des classes d’équivalence de fonctions nulles « presque partout »
- Le théorème spectral se généralise aux espaces de fonctions, et les opérateurs autoadjoints possèdent des valeurs propres réelles ainsi qu’une base propre orthonormée
- En dimension finie, une matrice symétrique possède une base propre orthonormée, et la réciproque est vraie
- En dimension infinie, les conditions et les preuves rigoureuses sont plus complexes
Diagonalisation du Laplacian
- Pour les fonctions à une dimension, le Laplacian est la dérivée seconde
- (\Delta f=\frac{\partial^2 f}{\partial x^2})
- En utilisant deux intégrations par parties, on peut vérifier que le Laplacian possède une propriété proche de l’autoadjonction
- Le terme de bord ((f^\prime[x]g[x]-f[x]g^\prime[x])|_a^b) doit être nul
- Pour cela, on restreint le domaine aux fonctions périodiques de période (b-a)
- Par simplification, on prend l’intervalle ([0,1])
- Les fonctions propres périodiques du Laplacian sont (e^{2\pi \xi i x}), où (\xi) est un entier
- Par la formule d’Euler, les points de vue sine/cosine et exponentielles complexes correspondent l’un à l’autre
- Les valeurs propres sont (-(2\pi\xi)^2)
- Ces fonctions propres sont orthogonales entre elles sur ([0,1]) et ont une norme de 1
- Lorsque (\xi_1-\xi_2) est un entier non nul, le produit scalaire vaut 0
- Le produit scalaire d’une fonction avec elle-même vaut 1
- Transformer une fonction vers la base propre orthonormée du Laplacian revient à calculer ses coefficients de Fourier
- (\hat{f}[\xi]=\int_0^1 f[x]e^{-2\pi\xi i x},dx)
- La transformée inverse est (f[x]=\sum_{\xi=-\infty}^{\infty}\hat{f}[\xi]e^{2\pi\xi i x})
- Le Laplacian complet mappe les fonctions réelles vers des fonctions réelles, mais la représentation intermédiaire peut prendre des valeurs complexes
Fourier series et applications au traitement du signal
- La Fourier transform est un changement de base vers la base propre du Laplacian
- (\hat{f}[\xi]) mesure dans quelle mesure la fonction (f) est représentée par une onde de fréquence entière (\xi)
- Cette représentation déplace la fonction dans le domaine fréquentiel
- Comme la base est orthonormée, les Fourier series peuvent être facilement inversées en recombinant les coefficients avec les ondes
- En supprimant les coefficients de Fourier au-delà d’un certain seuil, on peut produire une reconstruction lissée de la fonction
- Cette technique s’appelle un filtre passe-bas (low-pass filter)
- Comme quelques coefficients de Fourier suffisent à reconstruire approximativement la fonction, cette approche est utile en pratique pour la compression
Compression d’images et harmoniques sphériques
- Partout où l’on peut définir un Laplacian, on peut trouver la Fourier transform correspondante
- En 2D, le Laplacian est la somme des dérivées partielles secondes
- (\Delta f[x,y]=\frac{\partial^2 f}{\partial x^2}+\frac{\partial^2 f}{\partial y^2})
- Sur ([0,1]\times[0,1]), les fonctions propres sont de la forme (e^{2\pi i(nx+my)}), où (n,m) sont des entiers
- De même qu’une fonction 1D se décompose en un ensemble d’ondes 1D, une image 2D se décompose en un ensemble d’ondes 2D
- Une variante de la Fourier transform 2D est au cœur de nombreux algorithmes de compression d’images, dont JPEG
- On peut aussi définir le Laplacian sur la sphère unité, et sa base propre orthonormée est celle des spherical harmonics
- (Y_\ell^m[\theta,\phi]=N_\ell^mP_\ell^m[\cos[\theta]]e^{im\phi})
- (\ell\ge0), (m\in[-\ell,\ell])
- Dans les moteurs de jeu, elles sont souvent utilisées pour compresser les diffuse environment maps et les global illumination probes
- Les spherical harmonics peuvent aussi être vues comme des orbitales électroniques, et la mécanique quantique traite principalement des fonctions propres d’opérateurs linéaires
Traitement géométrique et pistes pour aller plus loin
- La représentation des fonctions comme des vecteurs constitue un fondement non seulement de la compression d’images, mais aussi des algorithmes modernes de traitement géométrique
- La discrete differential geometry utilise ce point de vue pour construire des algorithmes de 3D geometry processing
- En infographie, une fonction sur un maillage peut représenter des textures, de l’unwrapping, du déplacement ou des paramètres de simulation
- On peut encoder une fonction comme un vecteur en associant une valeur à chaque vertex du maillage
- Le Laplacian de maillage est une matrice de dimension finie ; on peut donc trouver ses fonctions propres par algèbre linéaire numérique
- Elles agissent comme des fonctions qui généralisent les sine/cosine du domaine continu à un nouveau domaine
- La base propre d’un maillage est utile pour transformer et compresser des fonctions sur ce maillage
- Si l’on interprète les positions des vertex comme des fonctions, on peut aussi lisser ou accentuer la géométrie elle-même
- Parmi les sujets à explorer davantage, on peut citer geometry, simulation, light transport, machine learning et splines
- Geometry : Distances, Parallel Transport, Flattening, Non-manifold Meshes, Polygonal Meshes
- Simulation : Finite Element Method, Monte Carlo PDEs, Minimal Surfaces, Fluid Cohomology
- Light Transport : Radiosity, Operator Formulation, Low-Rank Approximation, Inverse Rendering
- Machine Learning : DiffusionNet, MeshCNN, Kinematics, Fourier Features, Inverse Geometry
- Splines : C2 Interpolation, Quadratic Approximation, Simplification
1 commentaires
Avis de Hacker News
C’est la meilleure introduction aux concepts de base de l’analyse fonctionnelle que j’aie vue jusqu’ici, au point que j’aimerais pouvoir voter deux fois pour cet article.
Pour un bon aperçu allant plus loin mathématiquement, il y a aussi https://arxiv.org/abs/1904.02539
Une excellente application que le site ne mentionne pas est l’opérateur de Koopman. En théorie du contrôle, les systèmes réels comme les drones autonomes, les voitures ou les bras robotiques sont le plus souvent décrits par une dynamique non linéaire difficile à traiter, et l’opérateur de Koopman fournit une approximation linéaire globalement utile pour les systèmes non linéaires.
Autrement dit, on peut traiter des systèmes non linéaires comme des systèmes linéaires avec une précision assez élevée, ce qui simplifie grandement le contrôle et l’estimation du point de vue du calcul. Cette linéarisation peut aussi être apprise à partir de données.
Les ressources de Steve Brunton sur la théorie de Koopman sont bonnes https://youtube.com/playlist?list=PLMrJAkhIeNNSVXUvppZTYNHKQ..., https://arxiv.org/abs/2102.12086, et il existe aussi des applications comme le contrôle de robots souples https://arxiv.org/abs/1902.02827
À l’époque, j’étais épuisé par la recherche de financements et j’ai fini par quitter le monde académique, lassé de devoir encore une fois lire seul des livres arides.
Les bons enseignants sur YouTube créent d’énormes opportunités pour l’avenir, et tout le monde finira par en bénéficier. La théorie du contrôle montre des points de connexion entre plusieurs domaines, ce qui peut être un vrai plaisir pour ceux qui aiment voir des motifs et des structures partout. Il me semble que Steve a aussi récemment publié une vidéo sur la théorie du contrôle appliquée aux modèles sociaux.
La prise de conscience que l’on peut traiter les fonctions comme des éléments d’un espace vectoriel abstrait de dimension infinie a été un tournant dans l’histoire des mathématiques, et a conduit à l’émergence de la sous-discipline qu’est l’analyse fonctionnelle.
L’importance de ce changement de point de vue tient au fait qu’il a permis d’appliquer l’intuition géométrique tirée de l’étude des espaces de dimension finie, comme l’espace euclidien en trois dimensions, à des problèmes difficiles liés aux fonctions, par exemple l’existence de solutions à certaines équations différentielles.
L’histoire de cette évolution remonte à la fin du XIXe siècle et au début du XXe siècle, et elle est très intéressante. À cette époque, les travaux sur les fondements axiomatiques des mathématiques mettaient en place une démarche de systématisation visant à saisir la structure des objets mathématiques au moyen de listes concises d’axiomes.
Par exemple, le concept d’espace vectoriel abstrait est né de cette façon, et il en est venu à englober non seulement les espaces euclidiens, mais aussi les espaces de fonctions de dimension infinie.
Parmi les documents qui montrent déjà, même sous une forme initiale, ce changement de perspective, il y a le mémoire de Vito Volterra de 1889 https://projecteuclid.org/journals/acta-mathematica/volume-1...
La thèse de doctorat de Maurice Fréchet de 1906 https://zenodo.org/record/1428464/files/article.pdf peut être considérée comme l’un des travaux les plus influents, ayant cristallisé ce nouveau paradigme et l’ayant présenté sous une forme moderne, devenant une référence majeure de la première moitié du XXe siècle.
Bien sûr, ce ne sont que deux exemples parmi de nombreux travaux de l’époque, et si l’on regarde les développements ultérieurs, il est difficile de ne pas mentionner aussi le livre de Stefan Banach de 1932 http://kielich.amu.edu.pl/Stefan_Banach/pdf/teoria-operacji-...
Je pense donc que le point essentiel est que ces espaces vectoriels sont en réalité topologiques.
J’ai toujours beaucoup aimé ce point de vue. Je lis avec plaisir les cours de Vito Volterra à Madrid sur les équations différentielles et intégro-différentielles, et il a aussi contribué en même temps à la création de l’analyse fonctionnelle.
Ici, une fonctionnelle correspond à la notion de covecteur. Volterra utilise sans cesse une méthode par analogie qui fait passer des constructions à un nombre fini de variables à un nombre infini, voire non dénombrable, de variables.
Il y a même des passages où il semble presque gêné de répéter encore et encore la même idée. Si vous enseignez, cela vaut la peine d’y jeter un œil ensemble.
https://searchworks.stanford.edu/view/526111
Je n’ai jamais vu ce genre de fonction d’indice utilisé comme base transfinie d’un espace vectoriel. Cette fonction ressemble moins à un point limite d’une suite finie de fonctions de base qu’à une étrange somme transfinie de termes presque tous nuls
Il ne me semble pas possible que toutes les fonctions admettent une transformée de Fourier. Il devrait être facile de réfuter l’idée que la méthode de diagonalisation donne un résultat utile
Même les espaces de Hilbert sont généralement indexés uniquement par des entiers. Une telle base ne donne aucune condition de continuité ni de dérivabilité
Toute l’analyse fonctionnelle que j’ai vue utilisait une certaine condition de continuité et une base dénombrable. À part ça, c’est une manière très utile de voir les fonctions, et cela ressemble plutôt à un point de départ pour comprendre le formalisme de la mécanique quantique
C’est aussi un problème courant dans l’enseignement de la mécanique quantique au niveau introductif. Cela dit, cet article semble lui aussi viser, comme un cours d’introduction à la mécanique quantique, à motiver les concepts d’analyse fonctionnelle ; même sans rigueur, il reste utile comme explication
Toutes les fonctions de ce sous-espace admettent une transformée de Fourier
Cet article ignore probablement pour de bonnes raisons le choix, généralement assez difficile en analyse fonctionnelle, de « quel espace vectoriel utiliser »
Un espace vectoriel de fonctions définies point par point, comme ici, est presque toujours le choix le moins utile. Cela dit, si le but était d’enseigner les grandes lignes du sujet, cela a tout de même une réelle valeur
Quant à l’idée que « toutes les fonctions ne peuvent sûrement pas admettre une transformée de Fourier », dans un tel espace, il est même difficile d’obtenir une notion utile de distance
Cela touche à la définition même d’une fonction. Une fonction est une application entre ensembles où chaque élément du premier ensemble est envoyé vers exactement un élément du second
Le problème avec l’usage des vecteurs, c’est qu’un vecteur n’est pas aussi général qu’un ensemble, donc certaines fonctions ne peuvent pas être représentées par des vecteurs
Par exemple, un vecteur ne permet pas de gérer des valeurs indéfinies ni des éléments non numériques
Par définition, toutes les valeurs de l’ensemble de départ doivent être envoyées vers quelque chose dans l’ensemble d’arrivée ; il n’y a donc pas de valeur indéfinie en ce sens
La raison pour laquelle on ne peut pas toujours voir un espace de fonctions comme un espace vectoriel, c’est qu’il peut ne pas y avoir de notion d’addition des fonctions ni de multiplication scalaire, et même s’il y en a une, elle peut ne pas bien s’accorder avec la structure additive que ces fonctions satisfont
Ce n’est vrai que lorsque le codomaine possède la structure nécessaire aux opérations vectorielles. Les fonctions sont plus générales que les vecteurs
Cela a vraiment l’air excellent, et j’aimerais le lire plus en détail plus tard. C’est probablement le genre de choses couvertes dans la plupart des cursus de physique classiques
Mais comme un bon film ou un bon livre, le concept lui-même est intéressant et mérite d’être revu plus d’une fois
Du point de vue d’un programmeur, certaines de ces techniques ressemblent beaucoup à du hacking. On commence par des indices entiers très raisonnables, puis on réalise qu’on peut généraliser les indices et y faire entrer beaucoup plus d’informations que prévu à l’origine
Ce qui est vraiment étonnant, c’est que ces idées qui paraissent stupides et abusives finissent toujours par mener à quelque chose d’intuitif et d’utile. C’est un peu magique
Je voudrais présenter la bibliothèque Funsor, que j’ai créée avec Eli Bingham pour les langages de programmation probabiliste Pyro et NumPyro
Nous avons repris l’idée que « les fonctions sont des tenseurs » pour essayer de créer une bibliothèque de type NumPy pour les fonctions, principalement destinée aux fonctions de log-densité des distributions de probabilité
Article : "Functional Tensors for Probabilistic Programming" (2019) https://arxiv.org/abs/1910.10775
Code : https://github.com/pyro-ppl/funsor
Je pense que cet article va dans la direction inverse et donne une mauvaise intuition. Ce qui fait que les fonctions forment un espace vectoriel, ce ne sont pas les entrées, mais les sorties
Les fonctions d’un ensemble X vers un corps F peuvent former un espace vectoriel même si X n’est pas ordonné
C’est un point de vue très intéressant dans la mesure où j’arrive à suivre, mais malheureusement je ne suis pas capable d’en suivre une grande partie
Je me demande si ce type de logique formelle aide à dériver des fonctions qui décrivent des vecteurs
Dans l’analyse de big data, par exemple l’entraînement de réseaux de neurones, les plus grosses inefficacités et les principaux goulots d’étranglement semblent toujours se ramener à la recherche d’une fonction qui approxime une sortie semblable au vecteur attendu
Que la méthode soit la régression symbolique ou plusieurs couches de transformations, c’est pareil. Si l’on pouvait opérer uniquement sur des vecteurs en tant que fonctions, sans extraire ni compresser d’une manière ou d’une autre la relation entre les entrées et les sorties, ce serait « magique »
C’est essentiellement l’idée de base derrière la compression MP3 et JPEG. Bien sûr, c’est un compromis entre espace et temps : pour obtenir une approximation du vecteur d’origine, il faut d’abord appliquer la transformée de Fourier inverse
L’article traite des espaces vectoriels abstraits, de leurs propriétés comme l’addition vectorielle et la multiplication scalaire, et souligne en particulier que les fonctions satisfont cette définition et forment donc un espace vectoriel de fonctions, autrement dit un espace fonctionnel
Par exemple, avec deux fonctions f, g et un scalaire b, on peut les manipuler ainsi
f + g = g + f
b(f + g) = bf + bg
Il existe aussi (-f) tel que f + (-f) = 0, où 0 est la fonction nulle, et cette fonction nulle doit elle aussi exister dans l’espace fonctionnel