Álgebra y visualización de autovectores

Un poco de álgebra para visualizar las propiedades de las matrices de transformación.

Álgebra y visualización de autovectores

El álgebra no es lo que parece

Del álgebra conocemos desde el colegio la parte de resolver ecuaciones.

Aprendes cómo resolver problemas usando incógnitas, planteas una ecuación lineal y puedes hacer un montón de trucos con ellas, puedes sumarlas, restar una de otra, dividirlas... Es como un juego con sus reglas.
De pequeño nunca llegas a entender por qué funcionan esas reglas, pero resulta que lo hacen.

Un poco después llegan los vectores, las ecuaciones de varias incógnitas y los sistemas de ecuaciones y resulta que esas manipulaciones también funcionan en ese tipo de objetos.

Descubres las matrices, objetos matemáticos que sintetizan y agrupan varios de esos otros objetos que ya aprendiste y que resulta que también tienen propiedades sorprendentes.
Pero si sigues profundizando en el tema hay un momento alucinante en el que todo tiene sentido y de repente entiendes por qué ese conjunto de reglas tan extravagantes funciona.

Una de las cosas que más cambió mi forma de entender las matemáticas fue estudiar álgebra.

Subirse a la montaña.

Las matemáticas a veces empiezan proponiéndote una verdad muy sencilla. La expones, la entiendes y la aceptas.

Entonces te proponen una cosa nueva. Si esta verdad primera es cierta, entonces lo siguiente tiene que ser también cierto.

De nuevo, Lo expones, lo entiendes y lo aceptas. Cada paso que das te abre el camino a verdades más complejas y profundas. Puedes mirar atrás en ese camino y ver todos los pasos que has dado hasta llegar a ese punto complejo en el que estás, es sencillo, miras atrás y comprendes todos los pasos anteriores.

Piensas, estoy en este punto porque acepté que si esto era cierto, esto otro por fuerza tenía que serlo también, y de repente descubres no sabes muy bien cómo, que paso a paso te has subido a una montaña de complejidad desde la que un montón de cosas que aprendiste por separado resultan estar unidas y son parte de la misma cosa.

Esto es particularmente acertado cuando empiezas a estudiar los fundamentos de álgebra desde cero, la teoría de grupos y las propiedades de los números y las relaciones que tienen entre ellos.

A menudo a costa de olvidar deliberadamente algunas de las cosas que ya sabías.

Comienzas definiendo un conjunto de números, un pequeño pasito, analizas sus propiedades.

Compruebas que esas propiedades se cumplen independientemente del número de elementos y de sus valores, otro pasito.

Usas esos conjuntos para hacer conjuntos de conjuntos, conjuntos nacidos de intercambiar la posición de sus elementos, todas las permutaciones posibles, todos los conjuntos posibles y también entiendes que tienen propiedades y que se cumplen siempre, un salto enorme.

Si todas esas propiedades se cumplen en el grupo mayor, al mayor de todos los grupos posibles, en este otro grupo más pequeño que pertenece al mayor, por fuerza, también se han de cumplir, y buscas esos otros conjuntos de cosas, otro pasito más.

Cuando te quieres dar cuenta estás mirando desde arriba un montón de cosas que aparentemente no tenían relación pero que en realidad son todas similares.

en matemáticas si sabes cómo manipular algo y encuentras algo que comparte sus propiedades con otro objeto matemático conocido, puedes tratar de manipularlo de manera similar aunque no sepas muy bien lo que es, es una cosa que te enseña el álgebra.

¿A qué viene todo esto sobre el álgebra?

Me gusta mucho el álgebra y aunque sea un novato, (mis conocimientos llegan al algebra de primero de carrera de física). Me vuela la cabeza todo lo que tenga que ver con ellas, me parece que esconden verdades muy bonitas y muy profundas y que visualmente pueden dar mucho juego, por eso he programado una pieza interactiva, sobre ciertas propiedades de las matrices de transformación y he subido el resultado a mi web de experimentación visual, la puedes ver aquí https://0057.es/008.

Me gusta pensar que el interactivo que he programado es solo la ventana a un conocimiento más profundo sobre las matrices de transformación.

Una forma de asomarse a la cima de una montaña a la que todavía no he conseguido subir.

Hagamos unos tratos primero.

Sobre la visualización que he montado no voy a entrar en explicaciones muy complejas, intentaré explicarlo de manera sencilla.

Creo que solo entendemos algo complejo cuando somos capaces de explicarlo con palabras sencillas.

Si vas aceptando todos los tratos que te propongo podrás subir a una pequeña colina desde la que se verá todo más claro.

Comencemos:

  • Un vector es un conjunto ordenado de números que representa una posición en un espacio. El espacio puede tener muchas dimensiones. Nosotros vivimos en un espacio de 3 dimensiones pero matemáticamente podemos tener las que queramos.
vector3D : (1,2,0)

vector4D : (1,2,0,1)
  • Cada valor de un vector representaría una coordenada de ese espacio.
  • Por su parte, una matriz es un conjunto ordenado de elementos. Podríamos pensar que un vector es una matriz de elementos número. Pero una matriz puede ser también un conjunto de elementos vector. En este caso podríamos pensar que una matriz es un vector de vectores.
    Y por comodidad podemos poner cada vector de esa matriz en columnas o filas.
    Así emparejaríamos las dimensiones de cada vector en filas o columnas.
    Piensa simplemente en una tabla de elementos ordenados y tendrás una idea de lo que es una matriz.
matriz 4x4 : 4 vectores de 4 dimensiones puestos un debajo de otro

 1 2 0 1
 2 3 0 1
 2 1 1 3
 5 5 3 1

  • Cuando las matrices son la representación de vectores ordenados, tienen unas propiedades fascinantes, de su descubrimiento he hablado más arriba, se pueden sumar y multiplicar entre ellas (siempre según sus reglas) y los resultados siguen teniendo ciertas propiedades que se cumplen independientemente de los elementos iniciales.
  • Una de esas propiedades es que una matriz puede servir como descripción de cómo cambian las propiedades de otra. Por ejemplo, siguiendo ciertas reglas puedes multiplicar una matriz por un vector -(matriz más pequeña)- y transformar ese vector en otro.

Si eres diseñador o has trabajado con algún programa de dibujo te pondré un ejemplo muy claro, imagina que tienes una imagen en tu editor y le aplicas un filtro de escala, la rotas, y la inclinas verticalmente.

Tu imagen en realidad es una tabla de números de color y posición y lo que has hecho es aplicarle otra matriz de transformación que gira, escala y distorsiona las posiciones originales de tu imagen. Estás viendo una matriz de transformación transformando otra matriz.

Por lo general la mayoría de las matrices de transformación cambian la dirección y el tamaño de las cosas que transforman.

  • Volvamos a una matriz más sencilla que representa a un vector y vamos a aplicarle una matriz de transformación para cambiar su dirección y tamaño y nos preguntamos.

¿Existirá algún vector que no cambie su dirección y solo cambie su tamaño al aplicarle mi transformación?

La respuesta es sí y se llama autovector.

Y esto quiere decir que hay determinados vectores a los que si les aplicamos una matriz de transformación se quedan prácticamente igual, es decir solo cambia su tamaño pero siguen apuntando al mismo sitio.

Esta es una propiedad muy increíble ya que permite intercambiar esa compleja matriz de transformación por un sencillo número. Es lo mismo aplicar la matriz al vector que sencillamente multiplicar el mismo vector por un número.

Ese número se llama autovalor.

  • Matemáticamente podemos encontrar para matrices que tengan ciertas propiedades, cuáles son esos autovalores y cuáles son esos autovectores.
  • Damos un pasito más y en lugar de usar números normales, usamos una matriz que puede tener números complejos.
  • Los números complejos son unos números con propiedades bellísimas que responden a la pregunta de qué pasa si intentamos hacer la raíz de un número negativo. Si yo tengo un número y lo multiplico por sí mismo tengo el cuadrado de ese número. Si al resultado le aplico la raíz tengo el número original. Si el número original era negativo, al multiplicarlo por sí mismo obtendré un cuadrado positivo y puedo hacer la raíz de nuevo sin problema.
    Pero qué pasa cuando quiero hacer la raíz de un número negativo, la respuesta es que no hay solución, no hay ningún número que multiplicado por sí mismo de un número negativo.
  • En matemáticas hace tiempo que aprendieron a evitar ese problema creando los números complejos, que tienen una parte real y otra que vive en un plano "imaginario", tratarlo así nos permite operar con ellos y sacar conclusiones y verdades.

La rama de las matemáticas de los números complejos es enorme y muy interesante.

  • Como decía, yo puedo extender mi matriz para que funcione con esos números complejos que tendrían parte real y parte "imaginaria" y por tanto puedo intentar también encontrar sus autovalores y sus autovectores.
  • Puedo calcular todos los autovalores y los autovectores de una matriz y colocarlos en una gráfica para ver qué sucede, cómo se comportan. Es más, puedo tener una matriz de números complejos fijos en la que cambie un poquito solo uno o dos de los valores y ver cómo se comportan matrices que son muy similares entre ellas.
    ¿Encontraré familias de matrices?
    ¿Se parecerán unas matrices a otras si cambio un poquito solo uno o dos de los valores?

Una pieza para visualizar todo esto.

Si has seguido la explicación punto a punto, (un poco larga pero espero que no muy complicada y fácil de seguir) Y has ido aceptando pasito a pasito los tratos que te he propuesto más arriba, nos habremos subido a una cima en la que podremos observar cómo objetos matemáticos aparentemente sin relación de repente tienen más en común de lo que parece.

He programado una pieza y la he subido a mi web de experimentación visual, https://0057.es/008 esta visualización interactiva pretende dar respuesta a esas últimas preguntas que he formulado antes.

¿Cómo funciona?

Genero matrices de varias filas y columnas, de números complejos, todos fijos menos 2 valores, calculo sus autovalores y autovectores, y los pinto en la pantalla. Cambio esos dos valores un poquito y vuelvo a pintar el resultado.

Parte del aspecto de la visualización depende de cómo se eligen esos dos números, si pertenecen a un plano, a un toro, a un disco... Esto genera aspectos diferentes en las familias de matrices.

Además hay algunos algoritmos para optimizar los cálculos que se basan también en propiedades alucinantes de las matrices, pero esta vez no me extenderé porque son más complejos de entender.

Realizando este cálculo para variaciones pequeñas pero cientos de miles de veces, se obtienen las imágenes que muestro en el interactivo.

Tienes un interactivo aquí en el modo desarrollo de la web https://0057.es/dev/issues/008 con un montón de parámetros y un generador de imágenes para descargar los resultados a un archivo, por si quieres experimentar con las imágenes y generar las tuyas propias.

¿Qué significan?

Para mí visualmente son potentísimas y en ellas emerge un cierto orden, si tienen un significado más profundo o abren el camino a nuevas verdades más complejas de la matemática, es una cosa que se me escapa, mis poderes no llegan hasta allí.

Sé por ejemplo que la forma de los autovalores, si es mayor o menor que 1 o si ese autovalor es complejo o real indica muchas cosas sobre las propiedades de la matriz de transformación original.

Además estoy seguro de que las formas autocontenidas, los espacios en blanco y las zonas de más densidad también esconden verdades matemáticas de significado más profundo y probablemente sean solo un paso más en la escalera del álgebra, descubrirlo y encontrar esas relaciones tiene que ser una tarea fascinante con resultados bellísimos.

Yo de momento me conformo con maravillarme con la belleza que encierra por sí sola la visualización de estos objetos e imaginarme que esas formas tienen que contener una verdad importante sobre la que apoyarse para subir más alto.

Espero que tú también sepas apreciarlas.