Proceso de ortogonalización de Gram-Schmidt

El proceso se basa en un resultado de la geometría euclídea, el cual establece que la diferencia entre un vector y su proyección sobre otro vector , es perpendicular al vector .[1] Dicho resultado constituye una herramienta para construir, a partir de un conjunto de dos vectores no paralelos, otro conjunto, conformado por dos vectores perpendiculares.
Este algoritmo recibe su nombre de los matemáticos Jørgen Pedersen Gram y Erhard Schmidt.
Interpretación geométrica
En el espacio euclídeo con el producto escalar usual definido, se propone un método para encontrar un sistema de vectores, perpendiculares entre sí, a partir de tres vectores no coplanarios cualesquiera. Sean dichos vectores.
El método consiste de dos proyecciones. La base ortogonal de compuesta por , se calcula de la siguiente manera.
- Se escoge arbitrariamente uno de los vectores dados, por ejemplo, .
- se calcula como la diferencia entre y el vector que resulta de proyectar a sobre . Dicha diferencia es perpendicular a . Es equivalente afirmar que es la diferencia entre y el vector que resulta de proyectar a sobre la recta que genera .
- es la diferencia entre y el vector que resulta de proyectar a sobre el plano generado por y . La diferencia de vectores tiene como resultado otro vector que es perpendicular al plano.
Esta sencilla interpretación del algoritmo para un caso que puede verse es susceptible de generalización a espacios vectoriales de dimensión arbitraria, con productos internos definidos, no necesariamente canónicos. Dicha generalización no es otra que el proceso de Gram-Schmidt.
Descripción del algoritmo de ortogonalización de Gram–Schmidt

El método de Gram-Schmidt se usa para hallar bases ortogonales (Espacio Euclideo no normalizado) de cualquier base no euclídea.
En primer lugar tenemos que:
Es un vector ortogonal a . Entonces, dados los vectores , se define:
|
Generalizando en k: | |
A partir de las propiedades del producto escalar, es sencillo probar que el conjunto de vectores es ortogonal.
Los conjuntos así definidos satisfacen la siguiente relación. Plantilla:Teorema
Para obtener una base ortonormal a partir de , basta con dividir entre la norma de cada vector de la base hallada:
Ejemplos
- Dada una base de definida por Plantilla:Ecuación mediante el proceso de Gram-Schmidt es posible construir una base ortogonal con respecto al producto interno usual de . Plantilla:Ecuación Se calculan los vectores u1 y u2 a partir de las fórmulas. Plantilla:Ecuación nótese que Plantilla:Ecuación de hecho, dado cualquier vector y se cumple Plantilla:Ecuación
- Sea el sistema definido por Plantilla:Ecuación Aplicamos el proceso, seleccionamos por ejemplo Plantilla:Ecuación y calculamos Plantilla:Ecuación luego Plantilla:Ecuación Análogamente se sigue para u3 que finalmente se obtiene que es una base ortogonal de R3 con respecto al producto escalar canónico.
Descripción formal
Una manera de expresar el algoritmo explícitamente es a través de pseudocódigo. Se construye, para ello, una función con las siguientes características.
- Tiene como entrada un conjunto no vacío de vectores linealmente independientes.
-
Recibe dos instrucciones iterativas anidadas.
- Una estructura para cada, que asigna a v un vector de la entrada, por cada iteración.
- Una estructura mientras, que asigna a u el vector ortogonal a todos los u calculados en las iteraciones previas.
-
Proy, la cual calcula la proyección ortogonal de un vector sobre otro. Se define matemáticamente como sigue.
donde V es un espacio vectorial. - obtener, como su nombre lo indica, obtiene el elemento de un conjunto dado su ordinal.
- Devuelve finalmente un conjunto de vectores ortogonales.
Para obtener una base ortonormal, basta normalizar los elementos de .
Proceso de ortogonalización de Gram-Schmidt con el método de Gauss
Dada una matriz M cuyos vectores fila son los vectores de una base a ortogonalizar, si se aplica la eliminación Gaussiana por filas a la matriz .
Ejemplo
Se realiza con la eliminación de Gauss la ortogonalización de Gram-Schmidt a la base dada por las filas de :
| 2 | 1 | 1 |
| 1 | 0 | 10 |
| 2 | -3 | 11 |
Para ello escribimos a la derecha la matriz de su producto escalar
| 6 | 12 | 12 | 2 | 1 | 1 |
| 12 | 101 | 112 | 1 | 0 | 10 |
| 12 | 112 | 134 | 2 | -3 | 11 |
Y se realiza la eliminación Gaussiana
A Fila2 le restamos la Fila1 por 2
A Fila3 le restamos la Fila1 por 2
| 6 | 12 | 12 | 2 | 1 | 1 |
| 0 | 77 | 88 | -3 | -2 | 8 |
| 0 | 88 | 110 | -2 | -5 | 9 |
A Fila3 por 7 le restamos la Fila2 por 8
| 6 | 12 | 12 | 2 | 1 | 1 |
| 0 | 77 | 88 | -3 | -2 | 8 |
| 0 | 0 | 66 | 10 | -19 | -1 |
Las filas de la derecha son una base ortogonal,
| * | * | * | 2 | 1 | 1 |
| * | * | * | -3 | -2 | 8 |
| * | * | * | 10 | -19 | -1 |
cuyos vectores son proporcionales a los que se obtuvieron anteriormente con el proceso de Gram-Schmidt.