Álgebra lineal vs ingenieros

La abstracción en matemáticas

Los últimos años, con el auge del big-data, han sido muy beneficiosos para la imagen pública de las matemáticas. Ahora es más difícil oír decir a personas ilustradas que no sirven para nada, considerarlas superadas por los ordenadores o jactarse de desconocerlas totalmente. De todas maneras todavía queda un largo camino por recorrer debido a la naturaleza abstracta de las matemáticas y el énfasis, quizá excesivo, que ponemos los matemáticos ese punto.

Dentro de lo que has estudiado hasta ahora, los números complejos constituyen un buen ejemplo. Originariamente se introdujeron como una abstracción para resolver ciertas ecuaciones polinómicas. Es fácil plantarse y decir que si una ecuación no tiene solución pues no la tiene y fin del tema, no hay necesidad de inventarse algo raro e irreal. Un matemático te dirá que, para empezar, con estos nuevos números las ecuaciones polinómicas de grado \(n\) siempre tienen \(n\) soluciones (contando multiplicidades) y se descomponen en \(n\) factores, lo cual es un resultado "bello". Podría seguir diciendo que además los números complejos dan una forma simple de representar rotaciones en dos dimensiones y que también unifican las funciones \(\text{sen}\), \(\cos\) y \(\exp\). Uno puede juzgar que estas son cosas de matemáticos pero resulta que la ecuación de Schrödinger (la cual rige propiedades de átomos y moléculas) contiene números complejos, que el estudio de circuitos electrónicos se simplifica con ellos y que el análisis de las frecuencias que contiene una señal también requiere números complejos. Los dos últimos ejemplos los verás en otras asignaturas.

Los matemáticos crean y estudian estructuras abstractas y los físicos aprovechan parte de ellas para dar modelos de "la realidad", mientras que los ingenieros van más allá y sacan esos y otros modelos de los laboratorios obteniendo aplicaciones puramente prácticas con fines industriales. La capacidad de abstracción y, por extensión, el conocimiento de las matemáticas que hay detrás, le da una gran ventaja a un ingeniero, especialmente en la actualidad en que una parte de la ingeniería se ha virtualizado consistiendo más en programas que en máquinas.

¿De qué trata el álgebra lineal?

Haciendo honor a su nombre, el álgebra lineal se ocupa primordialmente de aplicaciones lineales, estas son las que respetan las sumas y las multiplicaciones por números. Parte de la gracia de esto es que para cualquier función decente sus incrementos a nivel microscópico cumple aproximadamente esta propiedad. Es decir, casi todo a pequeña escala se vuelve una aplicación lineal. Por ejemplo, \(f(x,y)= \text{sen}(x-y)+e^{\cos(xy)}\) es una función muy rara pero si nos movemos de \(\mathbf{o}=(0,0)\) a los puntos cercanos \(\mathbf{a}=(0.03, 0.02)\) y \(\mathbf{b}=(0.05, 0.01)\) se tiene que la función incremento \(g(x,y)=f(x,y)-f(0,0)\) verifica \(g(\mathbf{a})+g(\mathbf{b}) =0.049988\dots\), \(g(\mathbf{a}+\mathbf{b}) =0.049971\dots\) y \(g(2\mathbf{b})=0.079909\dots\), \(2g(\mathbf{b})=0.079977\dots\), los números son muy similares.

Las aplicaciones lineales actúan sobre los elementos de los espacios vectoriales, que se llaman vectores. Estos muchas veces serán vectores de \(\mathbb{R}^n\) de los de toda la vida, es decir una tira de \(n\) números arbitrarios, sus coordenadas. Sin embargo es conveniente pensar en términos más abstractos imaginando que esas coordenadas expresan cuánto tienen de unos vectores destacados que se dice que forman una base si no contienen redundancias. Por ejemplo, el vector \(\vec{v}\) de \(\mathbb{R}^3\) de toda la vida \((2,100,1)\) es \(2\vec{e}_1+100\vec{e}_1+\vec{e}_3\) con la base \(\vec{e}_1=(1,0,0)\), \(\vec{e}_2=(0,1,0)\), \(\vec{e}_3=(0,0,1)\). En esta base tiene mucho de \(\vec{e}_2\) y poco del resto. También es \(49\vec{b}_1+51\vec{b}_1+\vec{b}_3\) con la base \(\vec{b}_1=(-1,1,0)\), \(\vec{b}_2=(1,1,0)\), \(\vec{b}_3=\vec{e}_3\). En esta base tiene casi lo mismo de \(\vec{b}_1\) y \(\vec{b}_2\) y poco de \(\vec{b}_3\). Si vamos a usar esta base conviene pensar que \(\vec{v}\) es \((49,51,1)\), es decir, las coordenadas dependen de la base. Quizá resulte extraño que \(\vec{v}\) sea a la vez \((2,100,1)\) y \((49,51,1)\) dependiendo de la base escogida pero a fin de cuentas es una generalización de fijar la escala, que uno mida en kilómetros y otro en millas.

Algunas aplicaciones

A continuación haré referencia a algunos ejemplos tomado de un apartado de mi web para los cuales yo hice los programas que generan los resultados. La motivación no es presumir ni afirmar ninguna calidad que no tienen sino propiciar la siguiente reflexión: si un matemático cabeza cuadrada y manazas es capaz de hacer estas cosas por sí mismo, imaginad lo que podéis hacer los ingenieros con una mayor formación práctica y más habilidad.

Quizá en cursos superiores alguno piense, con razón, que el álgebra lineal es solo el punto de partida y que la explicación de muchos de ellos está más bien en el análisis de Fourier discreto. De acuerdo, pero sin álgebra lineal no irás a ningún sitio, en particular a ese curso superior.

Tratamiento de frecuencias. Una señal de duración finita (en términos matemáticos una función definida en un intervalo) se suele almacenar por muestreo, lo que significa que nos quedamos con un valor de la señal cada \(\Delta t\) segundos donde \(\Delta t\) es muy pequeño. Con esto queda representada mediante un vector de muchísimas coordenadas. Pues bien, existe una aplicación lineal llamada DFT (Discrete Fourier Transform) que da el contenido en frecuencias, es decir, pasa las coordenadas a una base que separa los graves y agudos. Ese es el punto fundamental de muchos métodos de tratamiento de señales y de formatos como el MP3. La DFT adquirirá cierto protagonismo en otros cursos y no se limita al audio, por ejemplo aquí hay un ejemplo de su uso para nivelar la iluminación de una foto, la cual se puede leer en las frecuencias bajas (lo que correspondería a los graves, en el caso del audio).

Eliminación de ruido. Idealmente uno podría limpiar una señal escogiendo una base que separe las coordenadas correspondientes a la señal y al ruido y cancelando estas últimas. En la práctica esto requiere algún conocimiento previo sobre el tipo de ruido. En caso de que sea periódico, tras aplicar la DFT antes mencionada, se observarán picos de frecuencias que hay que eliminar. Algunos ejemplos sobre fotos se muestran aquí. en el caso de ruido aleatorio, aquí se ilustran los buenos resultado sal usar una base que distingue tendencias principales y variaciones rápidas, son en estas últimas en las que se refleja el ruido.

Compresión con pérdidas. Cada píxel de una imagen digital se suele representar con tres números que dan sus canales RGB, su contenido de rojo (Red), verde (Green) y azul (Blue). de esta forma una foto \(M\times N\) es como un vector de \(3MN\) coordenadas. Para cada una de ellas se usa un byte de precisión. Esta cuenta no cuadra por ejemplo en las fotos que hacemos con nuestro móvil, que están en formato JPEG. Mágicamente ocupan muchos menos bytes de los que debieran. El truco principal es que se pasa a una base (algunos elementos se pueden "ver" aquí) en la que parte de las coordenadas corresponde a transiciones suaves en trozos de \(8\times 8\) píxeles. En una foto artística normal hay muchas más transiciones suaves que bordes o saltos abruptos, con lo cual casi todo el resto de las coordenadas son números pequeños poco importantes para el efecto visual y se puede reducir su precisión o simplemente eliminar muchos de ellos sin pérdida de calidad apreciable a simple vista. Además hay otro cambio de base, a un espacio de color más acorde con nuestra percepción. Aquí puedes ver lo que ocurre si uno elimina coordenadas importantes y aquí otros ejemplos de compresión con pérdidas de señales que no son imágenes.

Filtros de imágenes. Los filtros más llamativos que modifican una imagen digital para mejorarla o conseguir un efecto particular suelen salirse del álgebra lineal pero los más básicos presentes en todos los programas de manipulación fotográfica son aplicaciones lineales que actúan sobre los valores de los píxeles. Aquí se ilustran algunos de los más famosos y aquí me propuse como reto conseguir un efecto de dibujo a lápiz con filtros lineales, salvo limitar los valores máximos y mínimos. Aquí, oscilaciones aparte, jugué con una aplicación lineal muy sencilla y la perspectiva para dar un aspecto 3D a una imagen plana.

Vibración. Muchos de los objetos físicos, ya sean macroscópicos como la membrana de un tambor o submicroscópicos como una molécula, tienen la capacidad de vibrar. Resulta que hay ciertas oscilaciones propias en las que cada punto se mueve armónicamente. Un hecho fundamental es que forman una base para cualquier otra vibración. En el caso de una esfera, las oscilaciones propias son bastante explícitas y se llaman armónicos esféricos (por cierto, también dan la forma de los orbitales atómicos). Aquí se emplean las coordenadas que corresponderían a dar en el instante inicial un gran pellizco a la esfera y usando cierta regla físico-matemática para la evolución temporal de estas coordenadas se representa lo que ocurriría después.

Gráficos 3D realistas. Quizá el componente más caro y apreciado del ordenador de un gamer es la GPU que, entre otras cosas hace cálculos de álgebra lineal (por ejemplo relativos a la perspectiva o a la intersección de rectas polígonos para colisiones o iluminación) a velocidad e vértigo para que la animación 3D sea fluida en tiempo real. El caso de las películas de animación comerciales es el opuesto, en una de ellas se dice que el tiempo de CPU total para el rendering (perfilado) fue de más de 10000 años. Por supuesto, gracias a que usaron miles de ordenadores hemos podido verla. A cambio son muy realistas. Simplificando mucho, cada rayo de luz que sale de una fuente de iluminación viene dado por un vector que determina una recta y estudiando cómo rebota en los objetos de la escena se construyen sombras y reflejos. Aquí hay un ejemplo de unas imágenes geométricas construidas con esta técnica, llamada ray tracing.

Aproximación de datos. En diversas situaciones uno tiene puntos correspondientes a datos aislados y le gustaría conectarlos formando una gráfica suave. Curiosamente al utilizar polinomios de grado alto los resultados pueden ser desastrosos. Más curioso todavía es que se pueda demostrar que la gráfica que menos se curva se obtiene a partir de una base de polinomios cúbicos a trozos llamados splines. Además hay un algoritmo bastante eficiente para el cálculo de las coordenadas. Aquí se ve una consecuencia de la resistencia a la curvatura de los splines.