Las funciones son vectores
(thenumb.at)- Si tratamos las funciones como vectores de dimensión infinita, podemos describir con el lenguaje del álgebra lineal problemas como procesamiento de imágenes y geometría, ajuste de curvas y machine learning
- El espacio de funciones reales satisface los axiomas de espacio vectorial porque permite sumar funciones entre sí y escalar sus valores de salida; además, los polinomios pueden expresarse con bases como (1,x,x^2,\dots)
- La derivada preserva las combinaciones lineales, así que es un operador lineal y, sobre la base de polinomios, puede verse como una matriz infinita que actúa sobre el vector de coeficientes
- Si definimos el producto interno mediante una integral, también podemos trabajar en espacios de funciones con longitud, ortogonalidad y bases ortonormales; los operadores autoadjuntos se conectan con el teorema espectral
- La idea de diagonalizar el Laplaciano permite explicar en un mismo marco la transformación de base y compresión en Fourier series, compresión de imágenes 2D, spherical harmonics y procesamiento geométrico basado en el Laplaciano de mallas
Cómo ver las funciones como vectores
- Los vectores suelen empezar como listas de números reales, pero en un espacio vectorial también pueden entrar otros objetos como listas de números complejos, ciclos de grafos o cuadrados mágicos
- Un vector de dimensión (N) es una lista de longitud (N), pero también puede interpretarse como un mapeo desde índices hacia valores
- En dominios infinitos numerables como los números naturales, una función puede representarse como una lista infinitamente larga
- Ejemplo: (\mathbf{v}_i=i) puede representar (f(x)=x) para (x\in\mathbb{N})
- En dominios infinitos no numerables como los números reales, no se puede asignar un índice entero a cada elemento, así que la representación como lista deja de ser posible
- En ese caso, un vector se vuelve algo muy cercano a una función arbitraria
- El análisis funcional trata las definiciones precisas para representar funciones como vectores de dimensión infinita
- El objetivo no es demostrar rigurosamente los resultados de dimensión infinita, sino construir intuición por analogía con el álgebra lineal de dimensión finita
Cómo un espacio de funciones se vuelve un espacio vectorial
- En el espacio de funciones reales, el cuerpo escalar es (\mathbb{R}), el conjunto de vectores son las funciones (\mathbb{R}\to\mathbb{R}), y el vector cero es la función que devuelve 0 para toda entrada
- La suma de funciones agrega los valores de ambas funciones en la misma entrada
- ((f+g)[x]=f[x]+g[x])
- Es la generalización, desde la perspectiva de índices de funciones, de la suma componente a componente de vectores
- El producto por escalar ajusta la escala del resultado de una función
- ((\alpha f)[x]=\alpha f[x])
- Corresponde a la operación vectorial de escalar el valor en cada índice
- Con esta definición se pueden demostrar la conmutatividad y asociatividad de la suma, la existencia del vector cero, del inverso aditivo y las leyes de identidad, asociatividad y distributividad del producto por escalar
- La base estándar de funciones puede pensarse con funciones base (\mathbf{e}_\alpha), que valen 1 solo en el índice (\alpha) y 0 en el resto
- En (\mathbb{R}) completo hay una cantidad no numerable de funciones base, así que no es fácil escribirlas como suma simple, pero la intuición es que en una entrada específica (x) solo sobrevive (\mathbf{e}_x)
Operadores lineales y derivación
- Las matrices codifican transformaciones lineales que preservan combinaciones lineales, y sus vectores columna pueden interpretarse como la definición de una nueva base
- Si también vemos las funciones como vectores, podemos pensar en un objeto de dimensión infinita análogo a una matriz, que se escribe como operador lineal (\mathcal{L})
- En la práctica no se puede escribir por completo como matriz un operador de dimensión infinita no numerable
- Aun así, la estructura en la que cada “columna” representa una nueva función base sigue siendo útil
- La derivada satisface linealidad
- (\frac{\partial}{\partial x}(\alpha f[x]+\beta g[x])=\alpha\frac{\partial f}{\partial x}+\beta\frac{\partial g}{\partial x})
- En el espacio de polinomios (\mathcal{P}), (1,x,x^2,x^3,\dots) forma una base infinita numerable
- (p[x]=a+bx+cx^2+dx^3+\cdots) puede escribirse como el vector de coeficientes ([a,b,c,d,\dots]^T)
- La derivada se representa como una matriz infinita que convierte el vector de coeficientes en ([b,2c,3d,\dots]^T)
- Las funciones analíticas pueden expresarse mediante una Taylor series alrededor de 0, así que pueden representarse como combinaciones lineales de la base polinómica
- La Taylor expansion corresponde a una transformación de base hacia la base de potencias
Diagonalización y eigenfunciones
- En dimensión finita, una matriz (\mathbf{A}) puede diagonalizarse si tiene suficientes eigenvectores linealmente independientes y eigenvalores reales
- (\mathbf{A}=\mathbf{U\Lambda U^{-1}})
- El proceso consiste en cambiar a la eigenbase, escalar por los eigenvalores y volver a la base estándar
- En espacios de funciones también podemos pensar en eigenfunciones que satisfacen (\mathcal{L}f=\psi f) para un operador lineal (\mathcal{L})
- Las eigenfunciones del operador derivada tienen la forma (p_0e^{\psi x})
- La serie de la función exponencial aparece a partir de la condición sobre coeficientes (p_i=\frac{\psi^i}{i!}p_0)
- Pero no es posible diagonalizar la derivada en todo el espacio de funciones analíticas reales usando una base de exponenciales
- Si suponemos que (f[x]=x) puede expresarse como combinación lineal de exponenciales, aparece una contradicción al derivar dos veces
- Problemas parecidos ocurren con funciones no constantes cuya derivada (n)-ésima es 0, o con funciones periódicas como sine y cosine
- Si extendemos al espacio de funciones complejas, se pueden diagonalizar más operadores
- La derivada puede diagonalizarse en el espacio de funciones (\mathbb{C}\to\mathbb{C}) mediante la Laplace transform
- La Laplace transform es útil para resolver ecuaciones diferenciales, pero no se desarrolla más aquí porque su inversa no es sencilla
Producto interno de funciones y teorema espectral
- El producto interno euclidiano mide cuánto apunta un vector en la dirección de otro, y el producto interno consigo mismo da el cuadrado de la longitud
- En espacios de funciones, el producto interno se define reemplazando la suma finita por su análogo continuo: la integral
- Funciones reales: (\langle f,g\rangle=\int_a^b f[x]g[x],dx)
- Funciones complejas: (\langle f,g\rangle=\int_a^b f[x]\overline{g[x]},dx)
- Como no toda función es integrable, el espacio con producto interno se restringe a funciones cuadrado-integrables en el intervalo ([a,b])
- ([a,b]) también puede ser ([-\infty,\infty])
- El producto interno de funciones complejas debe satisfacer simetría conjugada, linealidad en el primer argumento y definición positiva
- Para tratar rigurosamente la definición positiva se usan clases de equivalencia de funciones que son 0 “casi en todas partes”
- El teorema espectral se generaliza a espacios de funciones, y los operadores autoadjuntos tienen eigenvalores reales y una eigenbase ortonormal
- En dimensión finita, una matriz simétrica tiene una eigenbase ortonormal, y también vale el recíproco
- En dimensión infinita, las condiciones y demostraciones rigurosas son más complejas
Diagonalización del Laplaciano
- En funciones de una dimensión, el Laplaciano es la segunda derivada
- (\Delta f=\frac{\partial^2 f}{\partial x^2})
- Usando integración por partes dos veces, puede verificarse que el Laplaciano tiene una propiedad cercana a ser autoadjunto
- El término de borde ((f^\prime[x]g[x]-f[x]g^\prime[x])|_a^b) debe ser 0
- Para lograrlo, se restringe el dominio a funciones periódicas de período (b-a)
- Para simplificar, se toma el intervalo ([0,1])
- Las eigenfunciones periódicas del Laplaciano son (e^{2\pi \xi i x}), donde (\xi) es un entero
- Por la fórmula de Euler, la perspectiva con sine y cosine coincide con la de las exponenciales complejas
- El eigenvalor es (-(2\pi\xi)^2)
- Estas eigenfunciones son ortogonales entre sí en ([0,1]) y tienen norma 1
- Cuando (\xi_1-\xi_2) es un entero distinto de 0, el producto interno vale 0
- El producto interno de una función consigo misma vale 1
- Transformar hacia la eigenbase ortonormal del Laplaciano equivale a calcular coeficientes de Fourier
- (\hat{f}[\xi]=\int_0^1 f[x]e^{-2\pi\xi i x},dx)
- La transformada inversa es (f[x]=\sum_{\xi=-\infty}^{\infty}\hat{f}[\xi]e^{2\pi\xi i x})
- El Laplaciano completo mapea funciones reales a funciones reales, aunque la representación intermedia puede tomar valores complejos
Fourier series y aplicaciones en procesamiento de señales
- La Fourier transform es una transformación de base hacia la eigenbase del Laplaciano
- (\hat{f}[\xi]) mide cuánto de la función (f) puede expresarse como una onda de frecuencia entera (\xi)
- Esta representación traslada la función al dominio de frecuencia
- Como es una base ortonormal, la Fourier series puede invertirse fácilmente recombinando los coeficientes con las ondas
- Si se descartan los coeficientes de Fourier por encima de cierto umbral, puede obtenerse una reconstrucción suave de la función
- Esta técnica se conoce como filtro pasa-bajas (low-pass filter)
- Como basta con guardar unos pocos coeficientes de Fourier para reconstruir una aproximación de la función, resulta útil computacionalmente para compresión
Compresión de imágenes y armónicos esféricos
- Donde sea posible definir un Laplaciano, también puede encontrarse la Fourier transform correspondiente
- En 2D, el Laplaciano es la suma de las segundas derivadas parciales
- (\Delta f[x,y]=\frac{\partial^2 f}{\partial x^2}+\frac{\partial^2 f}{\partial y^2})
- En ([0,1]\times[0,1]), las eigenfunciones tienen la forma (e^{2\pi i(nx+my)}), donde (n,m) son enteros
- Así como una función 1D se descompone en un conjunto de ondas 1D, una imagen 2D se descompone en un conjunto de ondas 2D
- Una variante de la 2D Fourier transform es parte central de muchos algoritmos de compresión de imágenes, incluido JPEG
- También puede definirse el Laplaciano sobre la esfera unidad, y su eigenbase ortonormal correspondiente son los spherical harmonics
- (Y_\ell^m[\theta,\phi]=N_\ell^mP_\ell^m[\cos[\theta]]e^{im\phi})
- (\ell\ge0), (m\in[-\ell,\ell])
- En game engines suelen usarse para comprimir diffuse environment maps y global illumination probes
- Los spherical harmonics también pueden verse como orbitales electrónicos, y la mecánica cuántica trata en gran parte con eigenfunciones de operadores lineales
Procesamiento geométrico y exploración adicional
- La idea de representar funciones como vectores no solo sirve para compresión de imágenes, sino que también es base de algoritmos modernos de procesamiento geométrico
- La discrete differential geometry usa esta perspectiva para construir algoritmos de procesamiento de geometría 3D
- En computer graphics, una función sobre una malla puede representar texturas, unwrapping, desplazamientos o parámetros de simulación
- Asociando un valor a cada vertex de la malla, puede codificarse una función como vector
- Como el Laplaciano de malla es una matriz de dimensión finita, pueden encontrarse eigenfunciones con álgebra lineal numérica
- Funcionan como una generalización al nuevo dominio de funciones tipo sine y cosine del dominio continuo
- La eigenbase de una malla es útil para transformar y comprimir funciones sobre la malla
- Si se interpretan las posiciones de los vertex como funciones, también puede suavizarse o afilarse la geometría misma
- Como temas para seguir explorando aparecen geometry, simulation, light transport, machine learning y 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 comentarios
Opiniones en Hacker News
Tanto que me gustaría darle upvote dos veces a este artículo; es la mejor introducción a los conceptos básicos del análisis funcional que he visto hasta ahora.
Como buen panorama que entra en más profundidad matemática, también está https://arxiv.org/abs/1904.02539
Una excelente aplicación que el sitio web no menciona son los operadores de Koopman. En teoría de control, los sistemas reales como drones autónomos, autos y brazos robóticos suelen describirse mediante dinámicas no lineales difíciles de manejar, y los operadores de Koopman ofrecen una aproximación lineal globalmente útil para sistemas no lineales.
Es decir, permiten tratar sistemas no lineales como si fueran sistemas lineales con bastante precisión, lo que desde el punto de vista computacional simplifica mucho el control y la estimación. Esta linealización también se puede aprender a partir de datos.
Son buenos los materiales de Steve Brunton sobre la teoría de Koopman https://youtube.com/playlist?list=PLMrJAkhIeNNSVXUvppZTYNHKQ..., https://arxiv.org/abs/2102.12086, y también hay aplicaciones como el control de robots blandos https://arxiv.org/abs/1902.02827
En ese entonces me cansé de buscar financiamiento y, tras volver a leer libros áridos por mi cuenta, me harté del mundo académico y me fui.
Los buenos educadores de YouTube están creando enormes oportunidades para el futuro y al final todos nos beneficiaremos de ello. La teoría de control muestra conexiones entre varias áreas, así que puede ser muy gratificante para quienes disfrutan ver patrones y estructuras en todas partes. Recuerdo que Steve también subió hace poco un video de teoría de control para modelos sociales
Darse cuenta de que las funciones pueden tratarse como elementos de un espacio vectorial abstracto de dimensión infinita fue un punto de inflexión en la historia de las matemáticas, y llevó al surgimiento del subcampo llamado análisis funcional.
La importancia de este cambio de perspectiva está en que permitió aplicar la intuición geométrica obtenida al estudiar espacios de dimensión finita, como el espacio euclidiano tridimensional, a problemas difíciles relacionados con funciones, como la existencia de soluciones para ciertas ecuaciones diferenciales.
La historia de este cambio se remonta a fines del siglo XIX y principios del XX, y es muy interesante. En esa época, los trabajos sobre los fundamentos axiomáticos de las matemáticas estaban impulsando una tendencia a sistematizar los objetos matemáticos capturando su estructura en listas concisas de axiomas.
Por ejemplo, el concepto de espacio vectorial abstracto también nació así, y pasó a abarcar no solo los espacios euclidianos, sino también espacios de funciones de dimensión infinita.
Un material que ya muestra esta transición de perspectiva, aunque en una forma temprana, es la memoria de Vito Volterra de 1889 https://projecteuclid.org/journals/acta-mathematica/volume-1...
La tesis doctoral de Maurice Fréchet de 1906 https://zenodo.org/record/1428464/files/article.pdf cristalizó este nuevo paradigma y lo presentó en forma moderna, por lo que puede verse como uno de los trabajos más influyentes que se convirtió en una referencia clave durante la primera mitad del siglo XX.
Por supuesto, son solo dos ejemplos entre muchísimos trabajos de la época, y si miramos el desarrollo posterior tampoco se puede dejar de mencionar el libro de Stefan Banach de 1932 http://kielich.amu.edu.pl/Stefan_Banach/pdf/teoria-operacji-...
Por eso creo que lo esencial es que estos espacios vectoriales en realidad son topológicos
Siempre me ha gustado mucho esta perspectiva. Estoy leyendo con gusto las clases de Vito Volterra en Madrid sobre ecuaciones diferenciales e integro-diferenciales, y él también contribuyó al mismo tiempo a la creación del análisis funcional.
Aquí, un funcional corresponde al concepto de vector dual. Volterra usa constantemente el método de analogía para pasar de construcciones con variables finitas a infinitas, e incluso no numerables.
Hay incluso una parte en la que él mismo parece apenarse por estar repitiendo demasiado la misma idea. Si enseñas, vale la pena echarle un vistazo.
https://searchworks.stanford.edu/view/526111
Nunca he visto que se usen estas funciones índice como una base transfinita de un espacio vectorial. Más que un punto límite de una sucesión finita de funciones base, esa función parece una extraña suma transfinita de términos que son casi todos 0
Tampoco parece posible que todas las funciones tengan transformada de Fourier. Sería fácil refutar con un método de diagonalización que no se obtiene ningún resultado útil
Incluso los espacios de Hilbert normalmente se indexan solo con enteros. Una base así no impone ninguna condición de continuidad ni de diferenciabilidad
Todo el análisis funcional que he visto usaba alguna condición de continuidad y una base numerable. Más allá de eso, sí es una perspectiva muy útil para ver las funciones, y se acerca a un punto de partida para entender el formalismo de la mecánica cuántica
Es un problema común incluso cuando se enseña mecánica cuántica a nivel introductorio. Dicho eso, este artículo también parece centrarse, como una clase introductoria de mecánica cuántica, en motivar conceptos de análisis funcional, y aunque no sea riguroso, sirve como explicación
Todas las funciones de este subespacio tienen transformada de Fourier
Probablemente por buenas razones, este artículo ignora por completo una elección que en análisis funcional suele ser bastante difícil: “qué espacio vectorial usar”
Un espacio vectorial de funciones definidas punto a punto, como aquí, casi siempre es la elección menos útil. Aun así, si el objetivo era enseñar el panorama general del tema, tiene bastante valor en sí mismo
Sobre la frase “no puede ser que todas las funciones tengan transformada de Fourier”, en un espacio así es difícil incluso obtener un concepto útil de distancia
Esto toca la definición real de función. Una función es una aplicación entre conjuntos en la que cada elemento del primer conjunto va a exactamente un elemento del segundo conjunto
El problema de usar vectores es que los vectores no son tan generales como los conjuntos, así que hay funciones que no pueden representarse como vectores
Por ejemplo, un vector no puede manejar valores indefinidos ni elementos que no sean números
Por definición, todos los valores del conjunto de partida deben corresponder a algo del conjunto de llegada, así que no hay valores indefinidos en ese sentido
La razón por la que un espacio de funciones no siempre puede verse como un espacio vectorial es que puede no existir una noción de suma de funciones o de producto escalar, y aunque exista, puede no encajar bien con la estructura aditiva que satisfacen las funciones
Esto solo es cierto cuando el codominio tiene la estructura necesaria para las operaciones vectoriales. Las funciones son más generales que los vectores
Se ve realmente excelente, y me gustaría leerlo con más detalle después. Probablemente sea contenido que se cubre en la mayoría de los programas típicos de licenciatura en física
Aun así, como una buena película o un buen libro, el concepto en sí es interesante y vale la pena revisitarlo más de una vez
Desde el punto de vista de un programador, algunas de estas técnicas parecen bastante hackeadas. Al principio se empieza con índices enteros muy razonables, luego uno se da cuenta de que puede generalizar los índices y termina metiendo en ellos mucha más información de la originalmente prevista
Lo verdaderamente sorprendente es que estas ideas, que parecen tontas y abusivas, después siempre terminan llevando a algo perspicaz y útil. Es casi magia
Quisiera presentar Funsor, una biblioteca que creé junto con Eli Bingham para usarla en los lenguajes de programación probabilística Pyro y NumPyro
Adoptamos la perspectiva de que “las funciones son tensores” e intentamos crear una biblioteca tipo NumPy para funciones, enfocada principalmente en funciones de log-densidad de distribuciones de probabilidad
Artículo: "Functional Tensors for Probabilistic Programming" (2019) https://arxiv.org/abs/1910.10775
Código: https://github.com/pyro-ppl/funsor
Creo que este artículo va en la dirección opuesta y da una mala intuición. Lo que hace que las funciones formen un espacio vectorial no son las entradas, sino las salidas
Las funciones de un conjunto X a un cuerpo F pueden formar un espacio vectorial aunque X no tenga orden
Es una perspectiva muy interesante hasta donde puedo seguirla, pero lamentablemente no puedo seguirla mucho
Me pregunto si esta lógica formal ayuda a derivar funciones que describan vectores
En análisis de big data, por ejemplo en el entrenamiento de redes neuronales, las mayores ineficiencias y cuellos de botella todavía parecen reducirse a cómo encontrar una función que aproxime una salida parecida a un vector esperado
Da igual si el método es regresión simbólica o varias capas de transformación. Si se pudiera operar solo sobre vectores como funciones, sin extraer ni comprimir de alguna manera la relación entre entrada y salida, sería “magia”
Esa es esencialmente la idea básica detrás de la compresión MP3 y JPEG. Claro que es un intercambio entre espacio y tiempo: para obtener una aproximación del vector original, primero hay que aplicar la transformada inversa de Fourier
Este artículo trata sobre espacios vectoriales abstractos, sus propiedades como la suma de vectores y el producto escalar, y en particular señala que las funciones satisfacen esa definición y forman un espacio vectorial de funciones, es decir, un espacio de funciones
Por ejemplo, si tienes dos funciones f, g y un escalar b, puedes tratarlas así
f + g = g + f
b(f + g) = bf + bg
Además existe (-f), de modo que f + (-f) = 0, donde 0 es la función cero, y esa función cero también debe existir en el espacio de funciones