Á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 $v_1,v_2,\cdots,v_d$ vectores linealmente independientes en un espacio vectorial $V$ sobre $\mathbb{R}$ (no necesariamente de dimensión finita), con producto interior $\langle \cdot , \cdot \rangle$. Entonces existe una única familia de vectores ortonormales $e_1,e_2,\ldots,e_d$ en $V$ con la propiedad de que para todo $k=1,2,\ldots,d$, tenemos que

\begin{align*}
\text{span}(e_1,e_2,\cdots,e_k)&=\text{span}(v_1,v_2,\cdots,v_k), \quad \text{y} \quad\\
\langle e_k,v_k \rangle&>0.
\end{align*}

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 $e_1\in \text{span}(v_1)$, entonces podemos escribirlo como $e_1=\lambda v_1$ para cierta $\lambda$. Si queremos que $0<\langle e_1,v_1 \rangle=\lambda\norm{v_1}^2$, entonces $\lambda>0$. Además queremos que $e_1$ tenga norma igual a 1, entonces $$1=\norm{e_1}^2=\langle e_1,e_1 \rangle=\lambda^2\norm{v_1}^2,$$ lo cual es posible si $\lambda=\frac{1}{\norm{v_1}}$. Como $e_1$ es un múltiplo escalar de $v_1$, se tiene que $\text{span}(e_1)=\text{span}(v_1)$. Además, la construcción forzó a que $e_1=\frac{1}{\norm{v_1}} v_1$ sea el único vector que satisface las condiciones del teorema.

Hagamos ahora el paso inductivo. Tomemos un entero $d\geq 2$, y supongamos que el teorema es cierto para $d-1$. Sean $v_1,v_2,\cdots,v_d$ vectores en $V$ linelmente independientes. Por hipótesis, sabemos que existe una única familia de vectores ortonormales $e_1,\cdots,e_{d-1}$ que satisfacen las condiciones del teorema respecto a la familia $v_1,\cdots,v_{d-1}$. Es suficiente con probar que existe un único vector $e_d$ tal que $e_1,\cdots,e_d$ satisface el teorema con respecto a $v_1,\cdots,v_d$, esto es
\begin{align*}
\norm{e_d}&=1,\\
\langle e_d,e_i \rangle&=0 \quad \forall 1\leq i\leq d-1,\\
\langle e_d, v_d \rangle &> 0,
\end{align*}

y

$\text{span}(e_1,\cdots,e_d)=\text{span}(v_1,\cdots,v_d),$

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

La idea para construir $e_d$ es tomarlo de $\text{span}(v_1,\cdots,v_d)$, expresarlo como combinación lineal de estos y encontrar condiciones necesarias y suficientes sobre los coeficientes de $e_d$ para que satisfaga las conclusiones del teorema. Hagamos esto.

Sea $e_d$ un vector tal que $e_d\in\text{span}(v_1,\cdots,v_d)$. Por ser linealmente independientes y por hipótesis $$\text{span}(v_1,\cdots,v_d)=\text{span}(e_1,\cdots,e_{d-1})+\text{span}(v_d),$$ entonces podemos escribir $e_d$ como

$e_d=\lambda v_d +\sum_{i=1}^{d-1} a_i e_i$

para algunos $\lambda,a_1,\cdots,a_{d-1}$. Si resulta que $\lambda\neq 0$, esto también implicará que $\text{span}(e_1,\cdots,e_d)=\text{span}(v_1,\cdots,v_d)$.

Ahora, dado que $e_d$ debe formar una familia ortonormal con el resto de los vectores, para todo $j=1,\cdots,d-1$, tenemos que


\begin{align*}
0&=\langle e_d,e_j \rangle\\
&=\lambda\langle v_d,e_j\rangle + \sum_{i=1}^{d-1} a_i\langle e_i,e_j \rangle\\
&=\lambda\langle v_d,e_j \rangle +a_j,
\end{align*}

entonces $a_j=-\lambda\langle v_d,e_j \rangle$. Si logramos mostrar que hay un único $\lambda$ con el que se pueda satisfacer la conclusión del teorema, el argumento anterior muestra que también hay únicos $a_1,\ldots,a_{d-1}$ y por lo tanto que hay un único vector $e_d$ que satisface el teorema.

Sustituyendo los coeficientes anteriores, obtenemos que

$e_d=\lambda\left(v_d-\sum_{i=1}^{d-1} \langle v_d,e_i\rangle e_i \right).$

Notemos que si $z:=v_d-\sum_{i=1}^{d-1} \langle v_d,e_i\rangle e_i$ es cero, $v_d$ estaría en $$\text{span}(e_1,\cdots,e_{d-1}) = \text{span}(v_1,\cdots,v_{d-1}),$$ contradiciendo que los vectores $v_i$’s son linealmente independientes, entonces $z\neq 0$.

Ahora como queremos que $1=\norm{e_d}=|\lambda| \norm{z}$, esto implica que $|\lambda|=\frac{1}{\norm{z}}$.

Como además queremos que $\langle e_d,v_d \rangle >0$ y

$\langle e_d,v_d\rangle =\left\langle e_d,\frac{e_d}{\lambda}+\sum_{i=1}^{d-1} \langle v_d,e_i\rangle e_i \right\rangle=\frac{1}{\lambda},$

se deduce que $\lambda$ es único y está determinado por $\lambda=\frac{1}{\norm{z}}.$ Por lo tanto existe (y es único) el vector $e_d$ que satisface el teorema.

$\square$

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 $\mathbb{R}$ y con un producto interior. Podemos aplicar el proceso de Gram-Schmidt a cualquier base $v_1,\ldots,v_d$ de un espacio Euclideano $V$ y al final obtendremos una familia $e_1,\ldots,e_d$ de vectores ortonormales. Como sabemos que las familias de vectores ortonormales son linealmente independientes, y tenemos $d$ vectores, concluimos que $e_1,\ldots,e_d$ 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 $v_1,v_2,v_3$ vectores en $\mathbb{R}^3$ (con el producto interior estándar) definidos por

$v_1=(1, 1, 0), \quad v_2=( 1, 1, 1), \quad v_3=( 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 $e_1,e_2,e_3$. Tenemos que

$e_1=\frac{v_1}{\norm{v_1}}=\frac{v_1}{\sqrt{2}}=\left(\frac{1}{\sqrt{2}},\frac{1}{\sqrt{2}},0\right)$.

Ahora, tomando $z_2=v_2-\langle v_2,e_1\rangle e_1$, tenemos que $e_2$ está definido como $\frac{z_2}{\norm{z_2}}$, entonces

\begin{align*}
z_2&=(1,1,1)-\left[(1,1,1)\cdot \left(\frac{1}{\sqrt{2}},\frac{1}{\sqrt{2}},0\right)\right]\left(\frac{1}{\sqrt{2}},\frac{1}{\sqrt{2}},0\right) \\
&=(1,1,1)-\left[\frac{2}{\sqrt{2}}\right]\left(\frac{1}{\sqrt{2}},\frac{1}{\sqrt{2}},0\right) \\
&=(1,1,1)-(2/2,2/2,0)\\
&=(1,1,1)-(1,1,0)=(0,0,1).
\end{align*}

Esto implica que $e_2=\frac{1}{1}(0,0,1)=(0,0,1)$. Finalmente tomando $z_3=v_3-\langle v_3,e_1 \rangle e_1 – \langle v_3,e_2 \rangle e_2$, sabemos que $e_3=\frac{z_3}{\norm{z_3}}$. Entonces

\begin{align*}
z_3&=v_3-\langle v_3,e_1 \rangle e_1 – \langle v_3,e_2 \rangle e_2 \\
&=(1,0,1)-\left(\frac{1}{2},\frac{1}{2},0\right)-(0,0,1) \\
&=\left(\frac{1}{2},-\frac{1}{2},0\right).
\end{align*}

Por lo tanto

$e_3=\frac{1}{\sqrt{1/2}}\left(\frac{1}{2}, -\frac{1}{2},0\right)=\left(\frac{1}{\sqrt{2}},\frac{-1}{\sqrt{2}},0\right).$

$\triangle$

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

$\langle p,q \rangle =\int_0^1 p(x)q(x) dx.$

Sean $v_1=1$, $v_2=1+x$, $v_3=1+x^2$ vectores en $V$ que claramente son linealmente independientes. Encontraremos los vectores que nos da el proceso de Gram-Schmidt.

Primero calculemos

$\norm{v_1}^2=\int_0^1 1 dx= 1$,

entonces $e_1=\frac{v_1}{\norm{v_1}}=v_1=1$. Ahora calculemos $z_2$:

\begin{align*}
z_2&=v_2-\langle v_2,e_1 \rangle e_1 \\
&=1+x- \int_0^1 (1+x)dx=1+x-\left(1+\frac{1}{2}\right) \\
&=x-\frac{1}{2}.
\end{align*}

Haciendo la integral $$\int_0^1 \left(x-\frac{1}{2}\right)^2 dx$$ se obtiene que $\norm{z_2}=\sqrt{\frac{1}{12}}$, entonces $e_2=\sqrt{12}\left(x-\frac{1}{2}\right)$.

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

\begin{align*}
z_3&=v_3-\langle v_3,e_1 \rangle e_1 – \langle v_3,e_2 \rangle e_2 \\
&=(1+x^2)-\int_0^1 (1+x^2)dx – 12\left(x-\frac{1}{2}\right)\int_0^1 (1+x^2)\left(x-\frac{1}{2}\right)dx \\
&=1+x^2-\left(1+\frac{1}{3}\right)-12\left(x-\frac{1}{2}\right)\left(\frac{1}{12}\right) \\
&=x^2-\frac{1}{3}-x+\frac{1}{2} \\
&=x^2-x+\frac{1}{6},
\end{align*}

y luego, con la integral $$\int_0^1 \left(x^2-x+\frac{1}{6}\right)^2 dx$$ se calcula que $\norm{z_3}=\frac{1}{6\sqrt{5}}$, por lo tanto $e_3=6\sqrt{5}\left(x^2-x+\frac{1}{6}\right)$.

$\triangle$

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 $\mathbb{R}^n$, 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 $\mathbb{R}^3$ 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 $\lambda$ que se encontró en la demostración del teorema de Gram-Schmidt en efecto se obtiene un vector $e_d$ 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$, $x^2$ en el espacio Euclideano de los polinomios reales de grado a lo más dos y producto interior $$\langle p, q \rangle = p(0)q(0)+p(1)q(1)+p(2)q(2).$$
  • Aplica el proceso de Gram-Schmidt a los vectores \begin{align*}(1,1,1,1)\\ (0,1,1,1)\\ (0,0,1,1)\\ (0,0,0,1)\end{align*} de $\mathbb{R}^4$ 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 \begin{align*}(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)\end{align*} de $\mathbb{R}^5$.

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.