Álgebra Lineal I: Proceso de Gram-Schmidt

Por Blanca Radillo

Introducción

Durante esta semana hemos introducido el concepto de bases ortogonales y ortonormales, así como algunas propiedades especiales. Para poder aplicar los resultados que hemos visto, es necesario insistir en que las bases sean de este tipo (ortonormales). Ahora veremos cómo encontrar bases ortonormales usando algo llamado el proceso de Gram-Schmidt.

Recordando todos los problemas anteriores de este curso, decíamos que una base es un conjunto de vectores linealmente independientes y que el número de vectores coincide con la dimensión del espacio. Pero hasta este momento no nos interesó determinar si las bases eran ortonormales o no. Si nos pusiéramos a ver si lo eran, es probable que muy pocas lo sean. Entonces surgen dos preguntas, ¿será difícil encontrar una base ortonormal de un espacio vectorial? y ¿habrá alguna manera de construir una base ortonormal?

Proceso de Gram-Schmidt

La respuesta a la primera pregunta es «no, no es difícil», y justo la respuesta de la segunda pregunta es la justificación. Dada una base cualquiera del espacio vectorial, podemos construir una base ortonormal de ese mismo espacio gracias al siguiente teorema.

Teorema (Gram-Schmidt). Sean v1,v2,,vd vectores linealmente independientes en un espacio vectorial V sobre R (no necesariamente de dimensión finita), con producto interior ,. Entonces existe una única familia de vectores ortonormales e1,e2,,ed en V con la propiedad de que para todo k=1,2,,d, tenemos que

span(e1,e2,,ek)=span(v1,v2,,vk),yek,vk>0.

Demostración. Lo haremos por inducción sobre d, la cantidad de vectores con la que empezamos.

La base inductiva es cuando d=1. Tomamos un vector e1span(v1), entonces podemos escribirlo como e1=λv1 para cierta λ. Si queremos que 0<e1,v1=λv12, entonces λ>0. Además queremos que e1 tenga norma igual a 1, entonces 1=e12=e1,e1=λ2v12, lo cual es posible si λ=1v1. Como e1 es un múltiplo escalar de v1, se tiene que span(e1)=span(v1). Además, la construcción forzó a que e1=1v1v1 sea el único vector que satisface las condiciones del teorema.

Hagamos ahora el paso inductivo. Tomemos un entero d2, y supongamos que el teorema es cierto para d1. Sean v1,v2,,vd vectores en V linelmente independientes. Por hipótesis, sabemos que existe una única familia de vectores ortonormales e1,,ed1 que satisfacen las condiciones del teorema respecto a la familia v1,,vd1. Es suficiente con probar que existe un único vector ed tal que e1,,ed satisface el teorema con respecto a v1,,vd, esto es
ed=1,ed,ei=01id1,ed,vd>0,

y

span(e1,,ed)=span(v1,,vd),

ya que, por hipótesis, los casos de k<d se cumplen.

La idea para construir ed es tomarlo de span(v1,,vd), expresarlo como combinación lineal de estos y encontrar condiciones necesarias y suficientes sobre los coeficientes de ed para que satisfaga las conclusiones del teorema. Hagamos esto.

Sea ed un vector tal que edspan(v1,,vd). Por ser linealmente independientes y por hipótesis span(v1,,vd)=span(e1,,ed1)+span(vd), entonces podemos escribir ed como

ed=λvd+i=1d1aiei

para algunos λ,a1,,ad1. Si resulta que λ0, esto también implicará que span(e1,,ed)=span(v1,,vd).

Ahora, dado que ed debe formar una familia ortonormal con el resto de los vectores, para todo j=1,,d1, tenemos que


0=ed,ej=λvd,ej+i=1d1aiei,ej=λvd,ej+aj,

entonces aj=λvd,ej. Si logramos mostrar que hay un único λ con el que se pueda satisfacer la conclusión del teorema, el argumento anterior muestra que también hay únicos a1,,ad1 y por lo tanto que hay un único vector ed que satisface el teorema.

Sustituyendo los coeficientes anteriores, obtenemos que

ed=λ(vdi=1d1vd,eiei).

Notemos que si z:=vdi=1d1vd,eiei es cero, vd estaría en span(e1,,ed1)=span(v1,,vd1), contradiciendo que los vectores vi’s son linealmente independientes, entonces z0.

Ahora como queremos que 1=ed=|λ|z, esto implica que |λ|=1z.

Como además queremos que ed,vd>0 y

ed,vd=ed,edλ+i=1d1vd,eiei=1λ,

se deduce que λ es único y está determinado por λ=1z. Por lo tanto existe (y es único) el vector ed que satisface el teorema.

◻

Este proceso de construcción es mejor conocido como el proceso de Gram-Schmidt. La demostración da a la vez un algoritmo que nos permite encontrar bases ortogonales (y de hecho ortonormales). Veremos ejemplos de esto en la siguiente sección. Antes de eso, enunciaremos formalmente una de las conclusiones más importantes del teorema anterior.

Recuerda que un espacio Euclideano es un espacio vectorial de dimensión finita sobre R y con un producto interior. Podemos aplicar el proceso de Gram-Schmidt a cualquier base v1,,vd de un espacio Euclideano V y al final obtendremos una familia e1,,ed de vectores ortonormales. Como sabemos que las familias de vectores ortonormales son linealmente independientes, y tenemos d vectores, concluimos que e1,,ed es una base ortonormal. En resumen, tenemos el siguiente resultado.

Corolario. Todo espacio Euclideano tiene una base ortonormal.

Ejemplos de aplicación del proceso de Gram-Schmidt

A continuación veremos algunos ejemplos que nos ayuden a clarificar más este algoritmo.

Ejemplo 1. Sean v1,v2,v3 vectores en R3 (con el producto interior estándar) definidos por

v1=(1,1,0),v2=(1,1,1),v3=(1,0,1).

Es fácil ver que estos vectores son linealmente independientes. Entonces construyamos según el proceso de Gram-Schmidt la familia ortonormal de vectores e1,e2,e3. Tenemos que

e1=v1v1=v12=(12,12,0).

Ahora, tomando z2=v2v2,e1e1, tenemos que e2 está definido como z2z2, entonces

z2=(1,1,1)[(1,1,1)(12,12,0)](12,12,0)=(1,1,1)[22](12,12,0)=(1,1,1)(2/2,2/2,0)=(1,1,1)(1,1,0)=(0,0,1).

Esto implica que e2=11(0,0,1)=(0,0,1). Finalmente tomando z3=v3v3,e1e1v3,e2e2, sabemos que e3=z3z3. Entonces

z3=v3v3,e1e1v3,e2e2=(1,0,1)(12,12,0)(0,0,1)=(12,12,0).

Por lo tanto

e3=11/2(12,12,0)=(12,12,0).

Ejemplo 2. Sea V el espacio de polinomios en [0,1] con coeficientes reales de grado a lo más 2, con el producto interior

p,q=01p(x)q(x)dx.

Sean v1=1, v2=1+x, v3=1+x2 vectores en V que claramente son linealmente independientes. Encontraremos los vectores que nos da el proceso de Gram-Schmidt.

Primero calculemos

v12=011dx=1,

entonces e1=v1v1=v1=1. Ahora calculemos z2:

z2=v2v2,e1e1=1+x01(1+x)dx=1+x(1+12)=x12.

Haciendo la integral 01(x12)2dx se obtiene que z2=112, entonces e2=12(x12).

Por último, hay que calcular z3 así como su norma. Primero,

z3=v3v3,e1e1v3,e2e2=(1+x2)01(1+x2)dx12(x12)01(1+x2)(x12)dx=1+x2(1+13)12(x12)(112)=x213x+12=x2x+16,

y luego, con la integral 01(x2x+16)2dx se calcula que z3=165, por lo tanto e3=65(x2x+16).

Aunque no es un proceso muy eficiente, nos garantiza que podemos encontrar una base ortonormal para cualquier espacio vectorial (con producto interior). Ya con una base ortonormal, podemos usar la descomposición de Fourier de la cual hablamos la entrada anterior y con ella todas las consecuencias que tiene.

Si quieres ver muchos más ejemplos del proceso en Rn, puedes usar una herramienta en línea que te permite ver el proceso paso a paso en el conjunto de vectores que tu elijas. Una posible página es el Gram-Schmid Calculator de eMathHelp.

Más adelante…

En esta última entrada teórica de la unidad 3, vimos el método de Gram-Schmidt para construir una base ortonormal, que es un proceso algorítmico que parte de tener una base de un espacio y al final calcula una base ortonormal. También se vieron algunos ejemplos de la aplicación de este proceso para espacios vectoriales finitos como R3 y el espacio de polinomios en [0,1] de grado a lo más 2. Aunque no es una manera muy eficaz para encontrar una base ortonormal, sí te garantiza que lo que construye es una.

En la próxima entrada veremos ejercicios resueltos de los temas que hemos estado estudiando a lo largo de esta semana. 

Tarea moral

A continuación hay algunos ejercicios para que practiques los conceptos vistos en esta entrada. Te será de mucha utilidad intentarlos para entender más la teoría vista.

  • Verifica que con el valor λ que se encontró en la demostración del teorema de Gram-Schmidt en efecto se obtiene un vector ed que satisface todas las conclusiones que se desean.
  • Revisa que los vectores que se obtuvieron en los ejemplos de aplicación del proceso de Gram-Schmidt en efecto son bases ortogonales de los espacios correspondientes.
  • Aplica el proceso de Gram-Schmidt a los polinomios 1, x, x2 en el espacio Euclideano de los polinomios reales de grado a lo más dos y producto interior p,q=p(0)q(0)+p(1)q(1)+p(2)q(2).
  • Aplica el proceso de Gram-Schmidt a los vectores (1,1,1,1)(0,1,1,1)(0,0,1,1)(0,0,0,1) de R4 con el producto interior canónico (el producto punto).
  • Usa el Gram-Schmidt Calculator de eMathHelp para ver paso a paso cómo se aplica el proceso de Gram-Schmidt a los vectores (1,2,1,1,1)(0,0,1,0,0)(2,0,0,1,1)(0,2,0,0,1)(3,0,0,1,0) de R5.

Entradas relacionadas

Agradecimientos

Trabajo realizado con el apoyo del Programa UNAM-DGAPA-PAPIME PE104721 «Hacia una modalidad a distancia de la Licenciatura en Matemáticas de la FC-UNAM»

4 comentarios en “Álgebra Lineal I: Proceso de Gram-Schmidt

  1. Vale Sauz

    hola,en el ultimo ejemplo, para sacar z3, ¿donde quedaron la raices de doce? tanto dentro de la integral como cuando se multiplica la integral

    Responder
    1. Leonardo Ignacio Martínez SandovalLeo

      Hay una raiz de 12 en el e_2 que está adentro de la integral, y otra que está en el e_2 de afuera de la integral. Al multiplicarlas da el 12 que pusimos afuera.

      Responder
  2. JP Antuna

    Buen día.
    Después de la demostración del teorema hacen una observación y en una parte dice lo siguiente: «La demostración da a la vez un algoritmo que nos permite encontrar bases ortogonales. […]» ¿No debería decir ortonormales en lugar de ortogonales?
    Sé que si una base es ortonormal, entonces es ortogonal, pero creo que se busca enfatizar que con este proceso se puede encontrar una base ortonormal.

    Responder

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.