dereita|conmarco| Os dous primeiros pasos do proceso de Gram-Schmidt
En matemáticas, especialmente en álxebra linear e análise numérica, o proceso de Gram-Schmidt ou algoritmo de Gram-Schmidt é unha forma de atopar un conxunto de dous ou máis vectores perpendiculares entre si.
Por definición técnica, é un método para construír unha base ortonormal a partir dun conxunto de vectores nun espazo de produto interno, máis comunmente o espazo euclidiano equipado co produto interno estándar. O proceso de Gram-Schmidt toma un conxunto finito de vectores linearmente independentes para e xera un conxunto ortogonal que expande o mesmo -subespazo dimensional de como .
O método leva o nome de Jørgen Pedersen Gram e Erhard Schmidt, pero Pierre-Simon Laplace estaba familiarizado con el antes de Gram e Schmidt. Na teoría das descomposicións do grupo de Lie, xeneralízase pola descomposición de Iwasawa.
A aplicación do proceso de Gram-Schmidt aos vectores columna dunha matriz de rango de columna completa produce a descomposición QR (descompónse nunha matriz ortogonal e triangular).
Proceso de Gram-Schmidt miniatura|400x400px| O proceso de Gram-Schmidt modificado executándose en tres vectores linearmente independentes e non ortogonais nunha base para . Clica na imaxe para ver os detalles. A modificación explícase na sección Estabilidade numérica deste artigo. A proxección vectorial dun vector nun vector distinto de cero defínese como
onde denota o produto interno dos vectores e . Isto significa que é a proxección ortogonal de na liña expandida por . Se é o vector cero, entón defínese como o vector cero.
Dados vectores linearmente independentes distintos de cero , o proceso de Gram-Schmidt define os vectores do seguinte xeito:
A secuencia é o sistema necesario de vectores ortogonais e os vectores normalizados forman un conxunto ortonormal. O cálculo da secuencia coñécese como ortogonalización de Gram-Schmidt, e o cálculo da secuencia coñécese como ortonormalización de Gram-Schmidt .
Xeométricamente, este método procede do seguinte xeito: calcular , que proxecta ortogonalmente sobre o subespazo xerado por , que é o mesmo que o subespazo xerado por . O vector entón defínese como a diferenza entre e esta proxección, onde está garantido que é ortogonal a todos os vectores do subespazo .
Se o proceso de Gram-Schmidt se aplica a unha secuencia linearmente dependente, dá como resultado o vector no paso , asumindo que é unha combinación linear de . Se se debe producir unha base ortonormal, entón o algoritmo debería probar vectores cero na saída e descartalos porque ningún múltiplo dun vector cero pode ter unha lonxitude de 1. O número de vectores producidos polo algoritmo será logo a dimensión do espazo estendido polas entradas orixinais.
Exemplo
Espazo euclidiano Considere o seguinte conxunto de vectores en (co produto interno convencional)
Agora, realizamos o algoritmo de Gram–Schmidt, para obter un conxunto ortogonais de vectores:
Comprobamos que os vectores e son de feito ortogonais:
tendo en conta que se o produto escalar de dous vectores é 0 daquela son ortogonais.
Para vectores distintos de cero, podemos normalizar os vectores dividindo os seus tamaños como se mostra enriba:
Propiedades Denotemos como o resultado de aplicar o proceso de Gram-Schmidt a unha colección de vectores . Isto dá un mapa .
Ten as seguintes propiedades:
É continuo Preserva a orientación no sentido de que . Conmuta con mapas ortogonais:
Sexa ortogonal (en relación ao produto interno dado). Daquela temos
Estabilidade numérica Cando este proceso se implementa nun ordenador, os vectores moitas veces non son completamente ortogonais, debido a erros de redondeo Para o proceso de Gram-Schmidt tal como se describiu anteriormente (ás veces referido como "Gram-Schmidt clásico") esta perda de ortogonalidade é particularmente ruín; polo tanto, dise que o proceso de Gram-Schmidt (clásico) é numericamente inestábel.
O proceso de Gram-Schmidt pódese estabilizar mediante unha pequena modificación; esta versión ás veces denomínase Gram-Schmidt modificado ou MGS. Este enfoque dá o mesmo resultado que a fórmula orixinal en aritmética exacta e introduce erros menores na aritmética de precisión finita.
En lugar de calcular o vector como
calcúlase como
Vía eliminación gaussiana Se as filas escríbense como unha matriz , logo aplicando a eliminación gaussiana á matriz aumentada producirá os vectores ortogonalizados en lugar de . Porén a matriz debe levarse á forma graduada de filas, utilizando só a operación de fila de engadir un múltiplo escalar dunha fila a outra. Por exemplo, tomando como enriba, temos
E reducir isto á forma graduada de filas produce
Os vectores normalizados son logo
, como no exemplo anterior.
Expresado mediante álxebra xeométrica Expresados usando a notación usada en álxebra xeométrica, os resultados non normalizados do proceso de Gram-Schmidt pódense expresar como
que é equivalente á expresión que utiliza o operador definido anteriormente. Os resultados pódense expresar de forma equivalente como
que está moi relacionado coa expresión usando determinantes.
Alternativas Outros algoritmos de ortogonalización usan as transformacións de Householder ou as rotacións de Givens. Os algoritmos que utilizan as transformacións de Householder son máis estábeis que o proceso de Gram-Schmidt estabilizado. Por outra banda, o proceso de Gram-Schmidt produce o -ésimo vector ortogonalizado despois do -ésima iteración, mentres que a ortogonalización usando as reflexións de Householder produce todos os vectores só ao final. Isto fai que só o proceso de Gram-Schmidt sexa aplicábel a métodos iterativos como a iteración de Arnoldi.
Notas
Véxase tamén
Bibliografía . . . .
Outros artigos Álxebra linear Recursión Ortogonalidade (matemáticas) Ligazóns externas
Harvey Mudd College Math Tutorial on the Gram-Schmidt algorithm Earliest known uses of some of the words of mathematics: G Demos: Gram Schmidt process in plane e Gram Schmidt process in space Gram-Schmidt orthogonalization applet NAG Gram–Schmidt orthogonalization of n vectors of order m routine Proba: Raymond Puzio, Keenan Kidwell. "proof of Gram-Schmidt orthogonalization algorithm" (version 8). PlanetMath.org.
Categoría:Álxebra lineal Categoría:Wikipedia:Páxinas con traducións non revisadas