Proceso de ortogonalización de Gram-Schmidt

De testwiki
Ir a la navegación Ir a la búsqueda
Animación que describe el proceso de ortonormalización en el espacio tridimensional

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 3 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 𝐯1,𝐯2,𝐯33 dichos vectores.

El método consiste de dos proyecciones. La base ortogonal de 3 compuesta por 𝐮1,𝐮2,𝐮3, se calcula de la siguiente manera.

  1. Se escoge arbitrariamente uno de los vectores dados, por ejemplo, 𝐮1=𝐯1.
  2. 𝐮2 se calcula como la diferencia entre 𝐯2 y el vector que resulta de proyectar a 𝐯2 sobre 𝐮1. Dicha diferencia es perpendicular a 𝐮1. Es equivalente afirmar que 𝐮2 es la diferencia entre 𝐯2 y el vector que resulta de proyectar a 𝐯2 sobre la recta que genera 𝐮1.
  3. 𝐮3 es la diferencia entre 𝐯3 y el vector que resulta de proyectar a 𝐯3 sobre el plano generado por 𝐮1 y 𝐮2. 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

Los dos primeros pasos del proceso de Gram–Schmidt
Los dos primeros pasos del proceso 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:

𝐯𝐯,𝐮𝐮,𝐮𝐮=𝐯proy𝐮(𝐯)

Es un vector ortogonal a 𝐮. Entonces, dados los vectores 𝐯1,,𝐯n , se define:

𝐮1=𝐯1,
𝐮2=𝐯2𝐯2,𝐮1𝐮1,𝐮1𝐮1,
𝐮3=𝐯3𝐯3,𝐮1𝐮1,𝐮1𝐮1𝐯3,𝐮2𝐮2,𝐮2𝐮2,

Generalizando en k:

𝐮k=𝐯kj=1k1𝐯k,𝐮j𝐮j,𝐮j𝐮j

A partir de las propiedades del producto escalar, es sencillo probar que el conjunto de vectores 𝐮1,,𝐮n es ortogonal.

Plantilla:Teorema

Plantilla:Demostración

Plantilla:Teorema

Plantilla:Demostración

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: 𝐞k=𝐮k||𝐮k||=𝐮k𝐮k,𝐮k

Ejemplos

  • Dada ={𝐯1,𝐯2} una base de 2 definida por Plantilla:Ecuación mediante el proceso de Gram-Schmidt es posible construir una base ortogonal ={𝐮1,𝐮2} con respecto al producto interno usual de 2. 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 (a,b)2 y α se cumple Plantilla:Ecuación
  • Sea ={𝐯1,𝐯2,𝐯3} 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 {proy𝐮1(𝐯3)=[422]proy𝐮2(𝐯3)=[247167647]𝐮3=𝐯3proy𝐮1(𝐯3)proy𝐮2(𝐯3)=[10719717] finalmente se obtiene ={𝐮1,𝐮2,𝐮3}={[211],[328],[10719717]} 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.
    1. Una estructura para cada, que asigna a v un vector de la entrada, por cada iteración.
    2. Una estructura mientras, que asigna a u el vector ortogonal a todos los u calculados en las iteraciones previas.
    En cada iteración, se ejecutan las funciones
    1. Proy, la cual calcula la proyección ortogonal de un vector sobre otro. Se define matemáticamente como sigue.
      Proy:V×VV,Proy(v1,v2)=(v1,v2v22)v2 donde V es un espacio vectorial.
    2. obtener, como su nombre lo indica, obtiene el elemento de un conjunto dado su ordinal.
  • Devuelve finalmente un conjunto de vectores ortogonales.

Plantilla:Algoritmo

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 (MMt|M).

Ejemplo

Se realiza con la eliminación de Gauss la ortogonalización de Gram-Schmidt a la base dada por las filas de M:

2 1 1
1 0 10
2 -3 11

  Para ello escribimos a la derecha la matriz de su producto escalar MMt

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.

Referencias

Plantilla:Listaref

Plantilla:Control de autoridades