Clase 37: Proceso de Gram-Schmidt
📚 Introducción
El proceso de Gram-Schmidt es un sencillo algoritmo para obtener una base ortogonal u ortonormal para cualquier subespacio diferente de cero de ℝⁿ. Los dos primeros ejemplos de este proceso son para realizarse a mano.
Este proceso es fundamental en álgebra lineal numérica y proporciona una manera sistemática de convertir cualquier base en una base ortogonal o ortonormal. La factorización QR de matrices, que se deriva del proceso de Gram-Schmidt, se utiliza ampliamente en algoritmos computacionales para diversos cálculos, como la resolución de ecuaciones y la determinación de valores propios.
Objetivos de la Clase
- Comprender el algoritmo del proceso de Gram-Schmidt paso a paso
- Dominar la construcción de bases ortogonales a partir de bases arbitrarias
- Aplicar el proceso para obtener bases ortonormales mediante normalización
- Comprender la factorización QR de matrices y sus aplicaciones
- Identificar las ventajas computacionales del proceso de Gram-Schmidt modificado
1. Proceso de Gram-Schmidt
1.1 Construcción de una Base Ortogonal (Primer Ejemplo)
Ejemplo 1: Sea W = Gen { x₁, x₂}, donde x₁ =
\begin{bmatrix} 3 \\ 6 \\ 0 \end{bmatrix}y x₂ =\begin{bmatrix} 1 \\ 2 \\ 2 \end{bmatrix}Construya una base ortogonal {v₁, v₂} para W.
Solución:
En la figura 1 se ilustra el subespacio W, junto con x₁, x₂ y la proyección p de x₂ sobre x₁. La componente de x₂ ortogonal a x₁ es x₂ - p, que está en W porque se forma a partir de x₂ y de un múltiplo de x₁. Sea v₁ = x₁ y:
Entonces {v₁, v₂} es un conjunto ortogonal de vectores distintos de cero en W. Como dim W = 2, entonces el conjunto {v₁, v₂} es una base para W.
Observación sobre el Proceso
Como en el ejemplo 1, v₂ es la componente de x₂ ortogonal a x₁, y {v₁, v₂} es una base ortogonal para el subespacio W₂ generado por x₁ y x₂.
1.2 Construcción con Tres Vectores
Ejemplo 2:
Sean x₁ = , x₂ = y x₃ =
Entonces, {x₁, x₂, x₃} es, a todas luces, linealmente independiente y, por consiguiente, es una base para un subespacio W de ℝ⁴. Construya una base ortogonal para W.
Solución:
Paso 1. Sea v₁ = x₁ y W₁ = Gen {x₁} = Gen {v₁}.
Paso 2. Sea v₂ el vector producido al restar de x₂ su proyección sobre el subespacio W₁. Es decir, sea:
Ya que v₁ = x₁:
Como en el ejemplo 1, v₂ es la componente de x₂ ortogonal a x₁, y {v₁, v₂} es una base ortogonal para el subespacio W₂ generado por x₁ y x₂.
Paso 2’ (opcional). Si es pertinente, escale v₂ para simplificar cálculos posteriores. Como v₂ tiene entradas fraccionarias, entonces es conveniente escalarlo por un factor de 4 y sustituir {v₁, v₂} por la base ortogonal:
Paso 3. Sea v₃ el vector obtenido restando de x₃ su proyección sobre el subespacio W₂. Utilice la base ortogonal {v₁, v’₂} para calcular esta proyección sobre W₂:
Entonces, v₃ es la componente de x₃ ortogonal a W₂, a saber,
Véase en la figura 2 un diagrama de esta construcción. Observe que v₃ está en W porque x₃ y proy_W₂x₃ están en W. Así, {v₁, v’₂, v₃} es un conjunto ortogonal de vectores distintos de cero en W. Observe que W es tridimensional porque está definido con una base de tres vectores. Por lo tanto, de acuerdo con el teorema de la base de la sección 4.5, este conjunto {v₁, v’₂, v₃} es una base ortogonal para W.
1.3 Algoritmo General del Proceso de Gram-Schmidt
Teorema 11 - Proceso de Gram-Schmidt
A partir de una base {x₁,…, xₚ} para un subespacio W de ℝⁿ, se define:
Entonces, {v₁,…, vₚ} es una base ortogonal para W. Además,
1.4 Demostración del Teorema 11
Demostración
Para 1 ≤ k ≤ p, sea Wₖ = Gen {x₁,…, xₖ}. Establezca que v₁ = x₁, por lo que Gen {v₁} = Gen {x₁}. Suponga que, para alguna k < p, se construyeron v₁,…, vₖ, de manera que {v₁,…, **vₖ} es una base ortogonal para Wₖ. Se define:
De acuerdo con el teorema de descomposición ortogonal, vₖ₊₁ es ortogonal a Wₖ. Observe que proy_Wₖ xₖ₊₁ está en Wₖ y, por lo tanto, también en Wₖ₊₁. Como xₖ₊₁ está en Wₖ₊₁, entonces también vₖ₊₁ lo está (ya que Wₖ₊₁ es un subespacio y es cerrado bajo la resta). Además, vₖ₊₁ ≠ 0 porque xₖ₊₁ no está en Wₖ = Gen {x₁,…, xₖ}. Por lo tanto, {v₁,…, vₖ₊₁} es un conjunto ortogonal de vectores distintos de cero en el espacio (k+1)-dimensional Wₖ₊₁. De acuerdo con el teorema de la base de la sección 4.5, este conjunto {v₁,…, vₖ₊₁} es una base ortogonal para Wₖ₊₁. Por lo tanto, Wₖ₊₁ = Gen {v₁,…, vₖ₊₁}. El proceso se detiene cuando k + 1 = p.
Observación sobre la Ecuación (1)
El teorema 11 indica que cualquier subespacio W distinto de cero de ℝⁿ tiene una base ortogonal, porque una base ordinaria {x₁,…, xₚ} siempre está disponible (de acuerdo con el teorema 11 de la sección 4.5), y el proceso de Gram-Schmidt solo depende de la existencia de proyecciones ortogonales sobre subespacios de W que ya tengan bases ortogonales.
2. Bases Ortonormales
2.1 Normalización de Vectores
Una base ortonormal se construye con facilidad a partir de una base ortogonal {v₁,…, vₚ}: simplemente se normalizan (es decir, se “escalan”) todas las vₖ. Cuando se trabajan problemas a mano, esto es más fácil que normalizar cada vₖ conforme se vayan encontrando (porque evita la escritura innecesaria de raíces cuadradas).
Ejemplo 3: En el ejemplo 1 se construyó la base ortogonal
Una base ortonormal es:
3. Factorización QR de Matrices
3.1 Concepto de Factorización QR
Si una matriz A de m × n tiene columnas linealmente independientes x₁,…, xₙ, la aplicación del proceso de Gram-Schmidt (con normalizaciones) a x₁,…, xₙ** equivale a factorizar A, como se describe en el siguiente teorema. Esta factorización se utiliza ampliamente en algoritmos computacionales para diversos cálculos, como la resolución de ecuaciones (que se analizó en la sección 6.5) y la determinación de valores propios (que se mencionó en los ejercicios de la sección 5.2).
Teorema 12 - La Factorización QR
Si A es una matriz de m × n con columnas linealmente independientes, entonces A se puede factorizar como A = QR, donde Q es una matriz de m × n cuyas columnas forman una base ortonormal para Col A, y R es una matriz triangular superior invertible de n × n con entradas positivas en su diagonal.
3.2 Demostración del Teorema 12
Demostración
Las columnas de A forman una base {x₁,…, xₙ} para Col A. Construya una base ortonormal {u₁,…, uₙ} para W = Col A con la propiedad (1) del teorema 11. Esta base se puede construir mediante el proceso de Gram-Schmidt o con alguna otra técnica. Sea:
Para k = 1,…, n, xₖ está en Gen {x₁,…, xₖ} = Gen {u₁,…, uₖ}. Entonces existen constantes, r₁ₖ,…, rₖₖ, tales que:
Podemos suponer que rₖₖ ≥ 0. (Si rₖₖ < 0, multiplique rₖₖ y uₖ por -1). Esto muestra que xₖ es una combinación lineal de las columnas de Q empleando como pesos las entradas del vector:
Es decir, xₖ = Qrₖ para k = 1,…, n. Sea R = [r₁ ⋯ rₙ]. Entonces:
El hecho de que R es invertible se deduce fácilmente del hecho de que las columnas de A son linealmente independientes (ejercicio 19). Como resulta evidente que R es triangular superior, sus entradas diagonales no negativas deben ser positivas.
3.3 Ejemplo de Factorización QR
Ejemplo 4:
Encuentre una factorización QR de A =
Solución:
Las columnas de A son los vectores x₁, x₂, x₃ del ejemplo 2. En ese ejemplo, se encontró una base ortogonal para Col A = Gen {x₁, x₂, x₃}:
Para simplificar la aritmética que sigue, escale v₃ dejando que v₃ = 3v’₃. Después, normalice los tres vectores para obtener u₁, u₂ y u₃, y utilice esos vectores como las columnas de Q:
Por construcción, las primeras k columnas de Q son una base ortonormal de Gen {x₁,…, xₖ}. De la demostración del teorema 12, A = QR para alguna R. Para encontrar R, observe que QᵀQ = I, porque las columnas de Q son ortonormales. De ahí que:
y
4. Notas Numéricas sobre el Proceso
4.1 Limitaciones del Proceso Clásico
Nota Numérica 1: Errores de Redondeo
Cuando el proceso de Gram-Schmidt se ejecuta en una computadora, el error por redondeo puede crecer conforme se van calculando los vectores uₖ, uno por uno. Cuando j y k son grandes, pero diferentes, los productos interiores uⱼᵀuₖ quizá no sean suficientemente cercanos a cero. Esta pérdida de ortogonalidad se puede reducir de manera sustancial reordenando los cálculos.
Sin embargo, en vez de este método de Gram-Schmidt modificado se prefiere el método de la factorización QR basado en computadora porque conduce a bases ortonormales más exactas, aun cuando la factorización requiere casi el doble de aritmética.
Nota Numérica 2: Factorización QR Computacional
Para obtener una factorización QR de una matriz A, un programa de cómputo generalmente multiplica A por la izquierda por una secuencia de matrices ortogonales hasta que A se transforme en una matriz triangular superior. Esta construcción es análoga a la multiplicación por la izquierda con matrices elementales que produce una factorización LU de A.
🎯 Conceptos Clave para Repasar
Resumen de Conceptos
- Proceso de Gram-Schmidt: Algoritmo para construir base ortogonal desde base arbitraria
- Primer Paso: v₁ = x₁
- Paso General: vₖ = xₖ - proy_Wₖ₋₁ xₖ
- Normalización: Dividir cada vₖ por ||vₖ|| para obtener base ortonormal
- Factorización QR: A = QR donde Q tiene columnas ortonormales, R triangular superior
- Cálculo de R: R = QᵀA cuando QᵀQ = I
- Propiedad Fundamental: Gen {v₁,…, vₖ} = Gen {x₁,…, xₖ**}
- Aplicaciones: Resolución de ecuaciones, cálculo de valores propios, estabilidad numérica
🚨 Errores Comunes
Error 1: No restar todas las proyecciones previas
- Incorrecto: v₃ = x₃ - proy_v₁ x₃ (olvidando proy_v₂ x₃)
- Correcto: v₃ = x₃ - proy_v₁ x₃ - proy_v₂ x₃
Error 2: Usar vectores no ortogonales en pasos posteriores
- Problema: Si olvidaste normalizar o construir v₂ correctamente, v₃ será incorrecto
- Solución: Verificar ortogonalidad en cada paso antes de continuar
Error 3: Confundir QᵀQ con QQᵀ
- Incorrecto: Pensar que QQᵀ = I cuando Q no es cuadrada
- Correcto: QᵀQ = I siempre que Q tenga columnas ortonormales, pero QQᵀ ≠ I en general
Error 4: Normalizar en cada paso del proceso
- Problema: Normalizar vectores intermedios complica cálculos posteriores
- Solución: Construir base ortogonal primero, normalizar al final (más eficiente a mano)
Error 5: No verificar independencia lineal inicial
- Problema: El proceso falla si los vectores iniciales son linealmente dependientes
- Solución: Verificar que {x₁,…, xₚ} es linealmente independiente antes de comenzar
📝 Ejercicios Propuestos
Ejercicios Nivel Básico (1-6)
Construcción de bases ortogonales simples
- En los ejercicios 1 a 6, el conjunto indicado es una base para un subespacio W. Utilice el proceso de Gram-Schmidt con la finalidad de obtener una base ortogonal para W
- Construya una base ortonormal para cada subespacio del ejercicio anterior
- Verifique que los vectores obtenidos son efectivamente ortogonales
Ejercicios Nivel Intermedio (7-14)
Factorización QR
- Encuentre una factorización QR de las matrices dadas
- Verifique que QᵀQ = I para las matrices Q calculadas
- Compruebe que A = QR multiplicando las matrices
- Use la factorización QR para resolver sistemas de ecuaciones
Ejercicios Nivel Avanzado (15-20)
Aplicaciones y demostraciones
- Demuestre que R en la factorización QR es invertible si A tiene columnas linealmente independientes
- Aplique el proceso de Gram-Schmidt modificado para mayor estabilidad numérica
- Compare errores de redondeo entre proceso clásico y modificado
- Use factorización QR para calcular determinantes eficientemente
📚 Referencias
Lectura Principal
- Sección 6.4: Proceso de Gram-Schmidt, págs. 354-358
Enlaces Relacionados
- 36) Proyecciones Ortogonales - Fundamento teórico del proceso
- 35) Conjuntos Ortogonales - Bases ortogonales y ortonormales
- Proceso-Gram-Schmidt
- Factorizacion-QR
- Ortogonalizacion
Conexión con Temas Futuros
Anticipando Aplicaciones Numéricas
La factorización QR es fundamental en álgebra lineal numérica. Se usa extensivamente en: (1) resolución de sistemas por mínimos cuadrados, (2) cálculo de valores propios mediante el algoritmo QR, (3) resolución numérica estable de sistemas lineales, y (4) descomposición de valores singulares (SVD). Comprender bien este proceso es esencial para algoritmos computacionales avanzados.
Sugerencia de Estudio
El proceso de Gram-Schmidt parece mecánico, pero entiende la geometría detrás: cada vₖ es la componente de xₖ ortogonal a todos los vectores previos. Practica con ejemplos pequeños (2-3 vectores en ℝ³) antes de intentar casos más grandes. Al hacer cálculos a mano, escala los vectores para evitar fracciones cuando sea posible - esto simplifica enormemente el trabajo. La factorización QR es una de las herramientas más importantes en álgebra lineal aplicada, así que vale la pena dominarla completamente.
✅ Checklist de Estudio
Lista de Verificación
- Comprendo cada paso del algoritmo de Gram-Schmidt
- Puedo aplicar el proceso para construir una base ortogonal paso a paso
- Sé cuándo escalar vectores intermedios para simplificar cálculos
- Puedo normalizar una base ortogonal para obtener una base ortonormal
- Entiendo la relación Gen {v₁,…, vₖ} = Gen {x₁,…, xₖ**}
- Sé construir la factorización QR de una matriz
- Comprendo por qué R = QᵀA en la factorización QR
- Puedo verificar que Q tiene columnas ortonormales (QᵀQ = I)
- Entiendo las limitaciones numéricas del proceso clásico
- Conozco aplicaciones de la factorización QR en álgebra lineal numérica
🏷️ Tags
algebra-lineal gram-schmidt ortogonalizacion factorizacion-qr bases-ortogonales bases-ortonormales algebra-numerica clase-37 clase capitulo-6