
El proceso de Ortonormalización de Gram-Schmidt es un método para transformar un conjunto de vectores linealmente independientes en un conjunto ortonormal que genera el mismo subespacio vectorial.
Paso 1: Obtener un conjunto de vectores linealmente independientes
Inicialmente, necesitas un conjunto de vectores linealmente independientes. Llamémoslos v1, v2, ..., vn.
Es fundamental verificar que estos vectores sean linealmente independientes. Si no lo son, el proceso fallará. Ejemplo: v1 = (1, 0), v2 = (0, 1), v3 = (1, 1). En este caso, v3 es una combinación lineal de v1 y v2, así que no son linealmente independientes.
Must Read
Consideremos un ejemplo válido: v1 = (1, 0, 0), v2 = (1, 1, 0), v3 = (1, 1, 1).
Paso 2: Ortogonalización
El siguiente paso es ortogonalizar los vectores. Esto significa crear un nuevo conjunto de vectores que sean perpendiculares entre sí.
Definimos el primer vector ortogonal u1 como igual al primer vector original: u1 = v1. En nuestro ejemplo, u1 = (1, 0, 0).

Para obtener el segundo vector ortogonal u2, restamos a v2 su proyección sobre u1: u2 = v2 - proju1(v2).
La proyección de v2 sobre u1 se calcula como: proju1(v2) = ((v2 · u1) / (u1 · u1)) * u1. En nuestro ejemplo: ((1, 1, 0) · (1, 0, 0)) / ((1, 0, 0) · (1, 0, 0)) * (1, 0, 0) = (1 / 1) * (1, 0, 0) = (1, 0, 0).
Por lo tanto, u2 = (1, 1, 0) - (1, 0, 0) = (0, 1, 0).
![Ortonormalización de [A]3x3 Proceso de GRAM-SCHMIDT (tercera y última](https://i.ytimg.com/vi/ETvyVvd5AJM/maxresdefault.jpg)
Para obtener el tercer vector ortogonal u3, restamos a v3 sus proyecciones sobre u1 y u2: u3 = v3 - proju1(v3) - proju2(v3).
Calculamos las proyecciones: proju1(v3) = ((1, 1, 1) · (1, 0, 0)) / ((1, 0, 0) · (1, 0, 0)) * (1, 0, 0) = (1 / 1) * (1, 0, 0) = (1, 0, 0).
Y proju2(v3) = ((1, 1, 1) · (0, 1, 0)) / ((0, 1, 0) · (0, 1, 0)) * (0, 1, 0) = (1 / 1) * (0, 1, 0) = (0, 1, 0).

Entonces, u3 = (1, 1, 1) - (1, 0, 0) - (0, 1, 0) = (0, 0, 1).
Paso 3: Normalización
Finalmente, normalizamos los vectores ortogonales u1, u2, y u3 para obtener vectores de longitud 1. Esto se hace dividiendo cada vector por su magnitud.
La magnitud de un vector u se calcula como ||u|| = √(u · u).

Normalizamos u1: ||u1|| = √((1, 0, 0) · (1, 0, 0)) = √1 = 1. Entonces, e1 = u1 / ||u1|| = (1, 0, 0) / 1 = (1, 0, 0).
Normalizamos u2: ||u2|| = √((0, 1, 0) · (0, 1, 0)) = √1 = 1. Entonces, e2 = u2 / ||u2|| = (0, 1, 0) / 1 = (0, 1, 0).
Normalizamos u3: ||u3|| = √((0, 0, 1) · (0, 0, 1)) = √1 = 1. Entonces, e3 = u3 / ||u3|| = (0, 0, 1) / 1 = (0, 0, 1).
El conjunto de vectores ortonormales resultante es: e1 = (1, 0, 0), e2 = (0, 1, 0), e3 = (0, 0, 1). Estos vectores son ortogonales entre sí y cada uno tiene una longitud de 1.