Gram-Schmidt
Introducción
Gram-Schmidt es un algoritmo para crear una nueva base ON a partir de una base existente. Digamos que tenemos una base:
generando un subespacio . El desafío entonces es definir una nueva base:
que abarque el mismo subespacio , pero que también sea una base ortonormal.
Gram-Schmidt es un algoritmo que crea una base ON a partir de una base existente
Matemáticamente, las dos bases anteriores y los vectores base aplican para :
El algoritmo
En esta sección, introducimos el algoritmo y mostramos ejemplos para 2D y 3D. Algunos de nosotros tenemos tendencia a reconocer patrones, mientras que otros necesitan una revisión geométrica para cada paso del algoritmo. La recomendación es leer primero el algoritmo a continuación superficialmente, y luego entender la geometría de nuestros dos ejemplos.
Sea:
generando el subespacio . Creamos una base ON de como los vectores:
y los definimos como:
donde es un subespacio de y crece con una dimensión en cada paso.
Interpretación del algoritmo
El algoritmo y sus pasos se pueden resumir como:
El algoritmo tiene tantos pasos como el número de vectores base . En cada paso individual, creamos un nuevo vector de base ON .
Para cada paso, definimos el subespacio que está generado por todos los vectores de base ON que hemos definido hasta ahora.
Para cada paso, definimos el nuevo vector de base ON como el vector entre y la proyección de en el subespacio .
Proyección en el algoritmo
Para el segundo paso del algoritmo, vemos que se define como:
donde el subespacio es unidimensional y genera:
Para este paso podemos usar fácilmente la fórmula de proyección, pero desde el tercer paso donde tenemos:
el subespacio tiene una dimensión superior a 1. Entonces la fórmula de proyección no es suficiente. Sin embargo, podemos apoyarlo con el hecho de que los vectores forman una base ON. Entonces:
ya que y están normalizados. Si no están normalizados, la expresión no se abrevia tan bellamente, pero la expresión general se convierte en:
ya que el denominador en la fracción ya no es igual a 1. El caso general sigue de manera análoga, dado que los vectores están normalizados:
Gram-Schmidt en 2D
Ejemplo 1
En nuestro primer ejemplo, tenemos la base:
donde genera y:
Realizamos Gram-Schmidt y comenzamos con el primer paso - definir el primer vector de base ON como la norma de y el subespacio :
El siguiente y último paso para este ejemplo es definir el segundo vector de base ON según:
Así, nuestra nueva base ON para es:
donde los vectores tienen longitud 1 y son ortogonales entre sí.
Ejemplo 2
En nuestro segundo ejemplo para 2D, tomamos la base:
que genera el plano , que es un subespacio de y:
Pero, ¿cómo puede un ejemplo en el espacio calificar para un ejemplo para 2D? Este es un ejemplo de 2D porque estamos creando una nueva base ON para el subespacio , cuya dimensión es 2 cuando tiene dos vectores base.
Realizamos Gram-Schmidt:
Como en el primer ejemplo, solo tenemos un paso más, que es definir el segundo vector de base ON como:
Antes de realizar el último paso de normalización, podemos aplicar un truco simple para obtener un vector más bonito. Dado que vamos a normalizar el vector, su longitud original no importa para el paso de normalización. Por lo tanto, veamos qué sucede cuando elegimos extender el vector por dos antes de normalizarlo:
¿No es cierto que el último vector resultó ser mucho más bonito que el primero? Escalares más simples sin fracciones entre paréntesis. Nuestra nueva base ON para será:
Gram-Schmidt en 3D
Establezcamos una base ON usando Gram-Schmidt que genera el mismo subespacio de como la base:
genera.
Los primeros dos pasos del algoritmo serán entonces equivalentes al segundo ejemplo para 2D, y podemos reutilizar los resultados para y . Tenemos:
lo que nos lleva al paso tres, es decir, calcular:
donde tenemos:
Así, lleva a nuestro nuevo vector base expresado como:
Abordemos las dos proyecciones por separado para facilitar los cálculos.
Insertamos nuestros cálculos en la expresión anterior:
Ahora normalizamos como el último sub-paso del paso 3 en el algoritmo, pero primero extendemos el vector por 3/2 para facilitar los cálculos y obtener un vector base más bonito:
Concluimos que nuestra nueva base es:
Base ortonormal
Una base es ortonormal si sus vectores base son ortogonales entre sí y todos tienen longitud uno, es decir, una base ortogonal con la condición adicional de que todos los vectores base están normalizados. Formalmente, podemos definirla de la siguiente manera:
Sea una base para el subespacio . se considera ortonormal si, y solo si:
Base ortogonal
Una base es ortogonal si todos los vectores base son perpendiculares entre sí. Formalmente, podemos definirla de la siguiente manera:
Sea una base para el subespacio . se considera ortogonal si, y solo si:
Matriz ortogonal
Una matriz es ortogonal si es cuadrada y todos sus vectores de columna son perpendiculares entre sí con una longitud de uno. Una reacción muy natural es que la matriz debería llamarse entonces matriz ortonormal, lo que algunas fuentes permiten. Pero el nombre convencional es simplemente matriz ortogonal, aunque el nombre es confuso y por lo tanto un poco desafortunado. Hay un rumor de que un destacado matemático, pero confundido, una vez eligió el nombre equivocado y el error nunca se ha corregido desde entonces. Formalicemos la definición:
Sea una matriz cuadrada :
se considera una matriz ortogonal si, y solo si: