El proceso de Gram-Schmidt es un algoritmo que transforma cualquier base de vectores, por torcida que esté, en una base ortonormal perfecta. Si trabajas con álgebra lineal aplicada a física, machine learning o procesamiento de señales, este método te permite simplificar cálculos complejos al construir sistemas de coordenadas ideales.
¿Qué es una base ortonormal y por qué importa?
Antes de aplicar el algoritmo, conviene entender qué hace especial a una base ortonormal frente a cualquier otro conjunto de vectores.
Una base es un conjunto de vectores linealmente independientes que generan un espacio. Funcionan como los bloques de construcción de ese espacio. Cuando esos vectores cumplen dos condiciones extra, ser ortogonales entre sí y tener norma igual a 1, hablamos de una base ortonormal.
El ejemplo clásico es la base estándar formada por i y j sombrerito. Recuerda que i equivale a (1, 0) y j a (0, 1). Su producto punto da 0 y la norma de cada uno es 1. Por eso forman el sistema de ejes X y Y que usas todos los días: recto, perpendicular y estandarizado.
¿Qué es una base ortonormal? Es un conjunto de vectores que generan un espacio, son perpendiculares entre sí (producto punto igual a 0) y cada uno tiene norma 1.
¿Cómo aplicar Gram-Schmidt paso a paso en R2?
Vamos a tomar una base torcida en R2 y a enderezarla. Parte de los vectores V1 = (3, 1) y V2 = (2, 2).
Paso 1: fijar el primer vector
El primer vector de tu nueva base, U1, será idéntico a V1. Es decir, U1 = (3, 1). No hay cálculo aquí, solo lo conservas como ancla del sistema.
Paso 2: restar la proyección para obtener U2
Aquí entra la fórmula central del algoritmo:
U2 = V2 menos la proyección de V2 sobre U1.
La proyección se calcula como el producto punto de V2 y U1, dividido entre la norma de U1 al cuadrado, multiplicado por U1. Vamos pieza por pieza:
- Producto punto V2 · U1: (2)(3) + (2)(1) = 8.
- Norma de U1 al cuadrado: 3² + 1² = 10.
- Proyección: (8/10)(3, 1) = (2.4, 0.8).
Ahora restas: U2 = (2, 2) menos (2.4, 0.8) = (-0.4, 1.2).
Tu nueva base ortogonal es U1 = (3, 1) y U2 = (-0.4, 1.2). Para comprobar que son perpendiculares, calcula el producto punto: (3)(-0.4) + (1)(1.2) = -1.2 + 1.2 = 0. Funciona.
Paso 3: normalizar para obtener Q1 y Q2
Falta que cada vector tenga norma 1. Eso lo logras dividiendo cada vector entre su norma, un proceso llamado normalización.
- Norma de U1: √10.
- Norma de U2: √(0.16 + 1.44) = √1.6.
Entonces:
- Q1 = (3/√10, 1/√10).
- Q2 = (-0.4/√1.6, 1.2/√1.6).
Estos Q1 y Q2 son tu base ortonormal final. Si los graficas, verás que se parecen mucho a i y j, apuntando en direcciones distintas pero formando un ángulo de 90 grados y con magnitud 1.
¿Por qué una base ortonormal simplifica los cálculos?
La idea clave de Gram-Schmidt no es solo enderezar vectores, sino lo que ganas al hacerlo: ambas bases, la torcida y la ortonormal, generan exactamente el mismo plano. No cambias el universo, cambias el sistema de coordenadas para describirlo mejor.
¿Para qué sirve Gram-Schmidt? Para convertir una base cualquiera en una base ortonormal que conserva el mismo espacio, pero permite calcular proyecciones y coordenadas usando solo productos punto, sin resolver sistemas de ecuaciones.
Encontrar coordenadas con producto punto
Imagina que quieres expresar W = (5, 3) en la base estándar i, j. El método clásico sería plantear una combinación lineal C1(1, 0) + C2(0, 1) = (5, 3) y resolver. Pero al tener una base ortonormal, basta con calcular:
- C1 = W · i = (5)(1) + (3)(0) = 5.
- C2 = W · j = (5)(0) + (3)(1) = 3.
La coordenada de cada eje sale directo del producto punto. Lo mismo aplica si quieres expresar un vector W = (2, 2) en la base Q1, Q2 que acabamos de construir: solo necesitas Q1 · W y Q2 · W.
¿Cómo encuentro coordenadas en una base ortonormal? Calcula el producto punto entre el vector y cada vector de la base. El resultado de cada producto punto es la coordenada correspondiente.
¿Dónde se usa este algoritmo en la práctica?
Encontrar una mejor base para describir un problema es una de las técnicas más potentes en ciencia e ingeniería. Aparece cuando necesitas:
- Describir movimiento en física eligiendo ejes que simplifican las ecuaciones.
- Descomponer una onda de sonido en sus frecuencias fundamentales en procesamiento de señales.
- Encontrar los patrones más relevantes en un conjunto de datos en estadística y machine learning.
Si calculaste las coordenadas de W = (2, 2) en la base Q1, Q2, comparte tus resultados en los comentarios y revisa cómo te quedó la proyección sobre cada eje.