
En matemáticas , particularmente en álgebra lineal y análisis numérico , el proceso de Gram-Schmidt o algoritmo de Gram-Schmidt es una forma de encontrar un conjunto de dos o más vectores que sean perpendiculares entre sí.
Por definición técnica, es un método para construir una base ortonormal a partir de un conjunto de vectores en un espacio con producto interno , más comúnmente el espacio euclidiano.equipado con el producto interno estándar . El proceso de Gram-Schmidt toma un conjunto finito y linealmente independiente de vectores.para k ≤ n y genera un conjunto ortogonalque abarca el mismosubespacio -dimensional decomo.
El método recibe su nombre de Jørgen Pedersen Gram y Erhard Schmidt , pero Pierre-Simon Laplace ya lo conocía antes que Gram y Schmidt. [ 1 ] En la teoría de las descomposiciones de grupos de Lie , se generaliza mediante la descomposición de Iwasawa .
La aplicación del proceso de Gram-Schmidt a los vectores columna de una matriz de rango columna completo produce la descomposición QR (se descompone en una matriz ortogonal y una matriz triangular ).
Descripción

La proyección vectorial de un vectoren un vector distinto de cerose define como [ nota 1 ] dóndedenota el producto escalar de los vectoresyEsto significa quees la proyección ortogonal desobre la línea cubierta por. Sies el vector cero, entoncesse define como el vector cero.
Dadovectores linealmente independientes distintos de ceroEl proceso de Gram-Schmidt define los vectorescomo sigue:
La secuenciaes el sistema requerido de vectores ortogonales y los vectores normalizadosFormar un conjunto ortonormal . El cálculo de la secuenciase conoce como ortogonalización de Gram-Schmidt y el cálculo de la secuenciase conoce como ortonormalización de Gram-Schmidt .
Para comprobar que estas fórmulas producen una secuencia ortogonal, primero calculesustituyendo la fórmula anterior por: obtenemos cero. Luego usa esto para calcularnuevamente sustituyendo la fórmula para: obtenemos cero. Para arbitrarioLa demostración se realiza mediante inducción matemática .
Geométricamente, este método procede de la siguiente manera: calcular, proyectaortogonalmente sobre el subespaciogenerado por, que es lo mismo que el subespacio generado por. El vectorentonces se define como la diferencia entrey esta proyección, garantizada para ser ortogonal a todos los vectores en el subespacio.
El proceso de Gram-Schmidt también se aplica a una secuencia infinita numerable linealmente independiente { v i } i . El resultado es una secuencia ortogonal (u ortonormal) { u i } i tal que para el número natural n : el espacio generado algebraico dees lo mismo que el de.
Si el proceso de Gram-Schmidt se aplica a una secuencia linealmente dependiente, produce el vector 0 en lapaso t, suponiendo quees una combinación lineal deSi se desea generar una base ortonormal, el algoritmo debe comprobar si hay vectores nulos en la salida y descartarlos, ya que ningún múltiplo de un vector nulo puede tener una longitud de 1. El número de vectores generados por el algoritmo será entonces igual a la dimensión del espacio abarcado por las entradas originales.
Una variante del proceso de Gram-Schmidt que utiliza recursión transfinita aplicada a una secuencia infinita (posiblemente no numerable) de vectores.produce un conjunto de vectores ortonormalesconde tal manera que para cualquier, la finalización del tramo dees lo mismo que el deEn particular , cuando se aplica a una base (algebraica) de un espacio de Hilbert (o, más generalmente, a una base de cualquier subespacio denso), produce una base ortonormal (funcional-analítica). Nótese que en el caso general a menudo la desigualdad estrictase cumple, incluso si el conjunto inicial era linealmente independiente y el intervalo deno tiene por qué ser un subespacio del espacio generado por(más bien, es un subespacio de su completitud).
Ejemplo
espacio euclidiano
Considere el siguiente conjunto de vectores en(con el producto interno convencional )
Ahora, realice la prueba de Gram-Schmidt para obtener un conjunto ortogonal de vectores:
Comprobamos que los vectoresyson efectivamente ortogonales: Cabe señalar que si el producto escalar de dos vectores es 0, entonces son ortogonales.
Para vectores distintos de cero, podemos normalizar los vectores dividiendo sus tamaños como se muestra arriba:
Propiedades
Denotemos porel resultado de aplicar el proceso de Gram-Schmidt a una colección de vectoresEsto genera un mapa..
Tiene las siguientes propiedades:
- Es continuo
- Es un preservador de la orientación en el sentido de que.
- Conmuta con mapas ortogonales:
Dejarser ortogonal (con respecto al producto interno dado). Entonces tenemos
Además, una versión parametrizada del proceso de Gram-Schmidt produce una retracción de deformación (fuerte) del grupo lineal general.sobre el grupo ortogonal.
Estabilidad numérica
Cuando este proceso se implementa en una computadora, los vectoresA menudo no son del todo ortogonales, debido a errores de redondeo . Para el proceso de Gram-Schmidt descrito anteriormente (a veces denominado "Gram-Schmidt clásico"), esta pérdida de ortogonalidad es particularmente grave; por lo tanto, se dice que el proceso de Gram-Schmidt (clásico) es numéricamente inestable .
El proceso de Gram-Schmidt puede estabilizarse mediante una pequeña modificación; esta versión se conoce a veces como Gram-Schmidt modificado o MGS. Este método proporciona el mismo resultado que la fórmula original en aritmética exacta e introduce errores menores en aritmética de precisión finita.
En lugar de calcular el vector u k como se calcula como
Este método se utiliza en la animación anterior, cuando el intermedioEl vector se utiliza al ortogonalizar el vector azul..
Aquí hay otra descripción del algoritmo modificado. Dados los vectoresEn nuestro primer paso producimos vectoreseliminando componentes en la dirección de. En fórmulas,Después de este paso, ya tenemos dos de los vectores ortogonales que deseamos., es decir, pero también hicimosya ortogonal aA continuación, ortogonalizamos esos vectores restantes contraEsto significa que calculamos.por sustracciónAhora hemos almacenado los vectores.donde los tres primeros vectores ya estány los vectores restantes ya son ortogonales a. Como debería estar claro ahora, el siguiente paso ortogonalizacontraProcediendo de esta manera, encontramos el conjunto completo de vectores ortogonales.. Si se desean vectores ortonormales, entonces normalizamos a medida que avanzamos, de modo que los denominadores en las fórmulas de resta se conviertan en unos.
Algoritmo
El siguiente algoritmo de MATLAB implementa la ortonormalización clásica de Gram-Schmidt. Los vectores v 1 , ..., v k (columnas de la matriz V, de modo que V(:,j)es laLos vectores (-ésimos) se reemplazan por vectores ortonormales (columnas de U) que abarcan el mismo subespacio.
función U = gramschmidt ( V )[ n , k ] = tamaño ( V );U = ceros ( n , k );U (:, 1 ) = V (:, 1 ) / norma ( V (:, 1 ));para i = 2 : kU (:, i ) = V (:, i );para j = 1 : i - 1U (:, i ) = U (:, i ) - ( U (:, j ) '* U (:, i )) * U (:, j );finU (:, i ) = U (:, i ) / norma ( U (:, i ));finfinEl costo de este algoritmo es asintóticamente O( nk² ) operaciones de punto flotante, donde n es la dimensionalidad de los vectores. [ 2 ]
Mediante eliminación gaussiana
Si las filas { v 1 , ..., v k } se escriben como una matriz, luego aplicando la eliminación gaussiana a la matriz aumentadaproducirá los vectores ortogonalizados en lugar deSin embargo, la matrizdebe ser llevado a la forma escalonada de filas , utilizando únicamente la operación de fila de sumar un múltiplo escalar de una fila a otra. [ 3 ] Por ejemplo, tomandocomo arriba, tenemos
Y al reducir esto a la forma escalonada de filas se obtiene
Los vectores normalizados son entonces como en el ejemplo anterior.
Fórmula determinante
El resultado del proceso de Gram-Schmidt puede expresarse en una fórmula no recursiva utilizando determinantes .
dóndey, para,es el determinante de Gram
Tenga en cuenta que la expresión paraes un determinante "formal", es decir, la matriz contiene tanto escalares como vectores; el significado de esta expresión se define como el resultado de una expansión de cofactores a lo largo de la fila de vectores.
La fórmula del determinante para el algoritmo de Gram-Schmidt es computacionalmente (exponencialmente) más lenta que los algoritmos recursivos descritos anteriormente; su interés es principalmente teórico.
Expresado mediante álgebra geométrica
Expresados utilizando la notación empleada en el álgebra geométrica , los resultados no normalizados del proceso de Gram-Schmidt pueden expresarse como que es equivalente a la expresión usando eloperador definido anteriormente. Los resultados pueden expresarse de forma equivalente como [ 4 ]. lo cual está estrechamente relacionado con la expresión que utiliza determinantes mencionada anteriormente.
Alternativas
Otros algoritmos de ortogonalización utilizan transformaciones de Householder o rotaciones de Givens . Los algoritmos que utilizan transformaciones de Householder son más estables que el proceso de Gram-Schmidt estabilizado. Por otro lado, el proceso de Gram-Schmidt produce elvector ortogonalizado después deliteración n, mientras que la ortogonalización mediante reflexiones de Householder produce todos los vectores solo al final. Esto hace que solo el proceso de Gram-Schmidt sea aplicable para métodos iterativos como la iteración de Arnoldi .
Otra alternativa está motivada por el uso de la descomposición de Cholesky para invertir la matriz de las ecuaciones normales en mínimos cuadrados lineales . Seaser una matriz de rango columna completo , cuyas columnas deben ser ortogonalizadas. La matrizes hermitiana y definida positiva , por lo que se puede escribir comoutilizando la descomposición de Cholesky . La matriz triangular inferiorcon entradas diagonales estrictamente positivas es invertible . Entonces las columnas de la matrizson ortonormales y abarcan el mismo subespacio que las columnas de la matriz original.. El uso explícito del productoEsto hace que el algoritmo sea inestable, especialmente si el número de condición del producto es elevado. Sin embargo, este algoritmo se utiliza en la práctica y se implementa en algunos paquetes de software debido a su alta eficiencia y simplicidad.
En mecánica cuántica existen varios esquemas de ortogonalización con características más adecuadas para ciertas aplicaciones que el algoritmo original de Gram-Schmidt. No obstante, sigue siendo un algoritmo popular y eficaz incluso para los cálculos de estructura electrónica más complejos. [ 5 ]
Complejidad en tiempo de ejecución
La ortogonalización de Gram-Schmidt se puede realizar en tiempo fuertemente polinomial . El análisis del tiempo de ejecución es similar al de la eliminación gaussiana . [ 6 ] : 40
Véase también
Referencias
- ↑ Cheney Jr., Elliot Ward ; Kincaid, David (2009). Álgebra lineal: teoría y aplicaciones . Sudbury, MA: Jones and Bartlett. págs. 544, 558. ISBN 978-0-7637-5020-6.
- ^ Préstamo Golub y Van 1996 , §5.2.8.
- ↑ Pursell, Lyle; Trimble, SY (1 de enero de 1991). "Ortogonalización de Gram-Schmidt mediante eliminación de Gauss". The American Mathematical Monthly . 98 (6): 544– 549. doi : 10.2307/2324877 . JSTOR 2324877 .
- ↑ Doran, Chris JL ; Lasenby, Anthony (2007). Álgebra geométrica para físicos . Cambridge University Press. pág. 124. ISBN 978-0-521-71595-9.
- ↑ Pursell, Yukihiro; et al. (2011). "Cálculos de primeros principios de los estados electrónicos de un nanocable de silicio con 100.000 átomos en el superordenador K". Actas de la Conferencia Internacional de 2011 sobre Computación de Alto Rendimiento, Redes, Almacenamiento y Análisis . págs. 1:1–1:11. doi : 10.1145/2063384.2063386 . ISBN 9781450307710. S2CID 14316074 .
- ↑ Grötschel, Martín ; Lovász, László ; Schrijver, Alexander (1993), Algoritmos geométricos y optimización combinatoria , Algoritmos y combinatoria, vol. 2 (2ª ed.), Springer-Verlag, Berlín, doi : 10.1007/978-3-642-78240-4 , ISBN 978-3-642-78242-8, MR 1261419
Notas
- ↑ En el caso complejo, esto supone que el producto interno es lineal en el primer argumento y lineal conjugado en el segundo. En física, una convención más común es la linealidad en el segundo argumento, en cuyo caso definimos
Fuentes
- Bau III, David; Trefethen, Lloyd N. (1997), Álgebra lineal numérica , Filadelfia: Society for Industrial and Applied Mathematics, ISBN 978-0-89871-361-9.
- Golub, Gene H.; Van Loan, Charles F. (1996), Matrix Computations (3.ª ed.), Johns Hopkins, ISBN 978-0-8018-5414-9.
- Greub, Werner (1975), Álgebra lineal (4.ª ed.), Springer.
- Soliverez, CE; Gagliano, E. (1985), "Ortonormalización en el plano: un enfoque geométrico" (PDF) , Mex. J. Phys. , 31 (4): 743–758 , archivado del original (PDF) el 7 de marzo de 2014 , recuperado el 22 de junio de 2013.
Enlaces externos
- "Ortogonalización" , Enciclopedia de Matemáticas , EMS Press , 2001 [1994]
- Tutorial de matemáticas del Harvey Mudd College sobre el algoritmo de Gram-Schmidt
- Primeros usos conocidos de algunas de las palabras de matemáticas: G La entrada "Ortogonalización de Gram-Schmidt" tiene información y referencias sobre los orígenes del método.
- Demostraciones: Proceso de Gram-Schmidt en el plano y proceso de Gram-Schmidt en el espacio.
- Applet de ortogonalización de Gram-Schmidt
- Rutina de ortogonalización de Gram-Schmidt de NAG para n vectores de orden m
- Demostración: Raymond Puzio, Keenan Kidwell. "Demostración del algoritmo de ortogonalización de Gram-Schmidt" (versión 8). PlanetMath.org.
- Álgebra lineal
- Análisis funcional