30 votos

La necesidad de las bacterias Gram–Schmidt proceso

Como mucho lo que he entendido de Gram–Schmidt orthogonalization comienza con un conjunto de vectores linealmente independiente y genera un conjunto de condiciones mutuamente ortonormales de vectores que ocupa el mismo espacio que a partir de los vectores hizo.

No tengo ningún problema de comprensión del algoritmo, pero aquí hay una cosa que no consigue. ¿Por qué tengo que hacer todos estos cálculos? Por ejemplo, en lugar de hacer los cálculos proporcionados en la página de la wiki en la sección ejemplo, ¿por qué no puedo simplemente tomar dos vectores de la base $w_1 = (1, 0)'$$w_2 = (0, 1)'$? Claramente, estos son ortonormales y abarcan el mismo subespacio que el original vectores $v_1 = (3, 1)'$, $v_2 = (2, 2)'$.

Está claro que me estoy perdiendo de algo importante, pero no puedo ver exactamente qué.

30voto

erfink Puntos 737

Si todo el espacio vectorial queríamos una base para todos los de $\mathbb{R}^n$ o una base, por ejemplo, el $xy$-plano en $\mathbb{R}^3$, entonces ciertamente podríamos hacer esto. El problema surge cuando estamos buscando un ortonormales base de los subespacios que son más complicados.

Por ejemplo, vamos a tomar nuestro subespacio a ser el avión $x+y+z=0$ dentro de $\mathbb{R}^3$. Este subespacio puede ser escrito como

$$\mathrm{span} \left\{ \begin{bmatrix} 1 \\ -1 \\ 0 \end{bmatrix} , \begin{bmatrix} 1 \\ 0 \\ -1 \end{bmatrix} \right\}$$

Ejecución de Gram-Schmidt en esto da la base

$$\left\{ \begin{bmatrix} \frac{1}{\sqrt{2}} \\ -\frac{1}{\sqrt{2}} \\ 0 \end{bmatrix} ~,~ \begin{bmatrix} \frac{1}{\sqrt{6}} \\\frac{1}{\sqrt{6}}\\ -\sqrt{\frac{2}{3}} \end{bmatrix} \right\}$$ que genera el mismo subespacio de $\mathbb{R}^3$. Sin embargo, si sólo se trató de tomar la base $\left\{ \vec{e}_1 = [1~ 0~ 0]^T, ~ \vec{e}_2 = [ 0 ~ 1 ~ 0]^T \right\}$, se tendría un orto-normal de la base, pero de otro subespacio.

TL;DR: Gram-Schmidt está diseñado para convertir una base en una orto-de forma normal , sin alterar el subespacio que abarca.

Edición de Gram-Schmidt también es importante en la que se conserva la orientación de base (a grandes rasgos, el orden en el que la base de los elementos son introducidos). Nivel algo más elevado y más allá del alcance de un curso de introducción al álgebra lineal, pero vale la pena guardar para más tarde.

30voto

Bye_World Puntos 9260

Bases ortonormales son agradables porque varias fórmulas son mucho más sencillo cuando los vectores se dan respecto de una base.

Ejemplo: supongamos $\mathcal E = \{e_1, \dots, e_n\}$ ser una base. A continuación, la expansión de Fourier de cualquier vector $v\in\operatorname{span}(\mathcal E)$ es sólo $$v = (v\cdot e_1)e_1 + (v\cdot e_2)e_2 + \cdots + (v\cdot e_n)e_n$$

Observe que no hay ninguna normalización de los factores y no necesitamos construir una base dual-es sólo una muy simple fórmula.

En tu ejemplo, de curso $\{(1,0),(0,1)\}$ abarca el mismo espacio como $\{(3,2),(2,2)\}$. Pero permítanme dar un ejemplo de mi propia: ¿qué acerca de la $\{(1.1,1.2,0.9,2.1,4),(3,-2,6,14,2),(6,6,6,3.4,11.1)\}$? Ciertamente no hay subconjunto de la norma vectores de la base que ocupa el mismo espacio que estos vectores linealmente independientes. Pero esta es una muy mala elección de la base porque no son ortonormales. Es seguro de ser agradable si había algún algoritmo que podrían producir SOBRE la base de ellos...

9voto

TOC Puntos 206

También se puede obtener en función de los espacios donde no está claro cuál es la base, usted puede simplemente agarrar de es. Los polinomios de Legendre puede ser construido a partir de la funciones de $1$ $x$ en el intervalo de $x \in [-1,1]$, y el uso de Gram-Schmidt orthogonalization para construir el mayor orden. El polinomio de segundo orden se construye mediante la eliminación de la componente de $x^2$ que apunta en la dirección de $1$, por ejemplo.

6voto

user376902 Puntos 196

Su elección de $w_1 = (1,0)$ $w_2 = (0,1)$ falla uno de los propósitos básicos de las bacterias Gram-Schmidt proceso: el resultado del algoritmo no sólo se $\mathrm{Span}(v_1,v_2) = \mathrm{Span}(w_1,w_2)$, pero también se $\mathrm{Span}(v_1) = \mathrm{Span}(w_1).$

Hay un par de cosas que debo mencionar:

(1) no Hay finito-dimensional espacios vectoriales para las que no es fácil de adivinar ortonormales base (o de hecho cualquier base). Las formas modulares con sus Petersson producto escalar son un entorno intimidatorio ejemplo de esto.

(2) Las bacterias Gram-Schmidt proceso es suave en un sentido apropiado, que hace posible el uso de las bacterias Gram-Schmidt proceso de orthogonalize secciones de un Euclidiana paquete (un vector paquete con el producto escalar) y, en particular, para definir cosas como el complemento ortogonal de subbundles. Este resulta ser importante.

(3) Hay también concretas y relativamente situaciones elementales, tales como los QR-factorización por qué de Gram-Schmidt orthogonalization es útil. Tal vez usted ya está familiarizado con esto.

3voto

Wrzlprmft Puntos 274

Para dar un poco de ejemplo práctico, vamos a considerar la siguiente secuencia iterativa:

$$ x_{i+1} = \frac{A x_i}{\left |A x_i \right|},$$

Donde el $x_i$ son vectores y $A$ es una matriz cuadrada con un juego de dimensión. El primer vector $x_1$ será random1.

Al $i$ es mayor, $x_i$ más y más estar alineado a un autovector correspondiente al mayor valor propio de a $A$ y rápidamente convertido en un vector propio para todos los propósitos prácticos. Por lo que podemos utilizar esta secuencia para obtener una aproximación numérica para el mayor autovalor de a $A$ y el correspondiente vector propio (de longitud 1). Este enfoque es que realmente se usan para este propósito.

Ahora, si queremos obtener el segundo mayor autovalor de a $A$ (y el correspondiente vector propio) de una manera similar, tenemos que eliminar la influencia del primer autovalor, como inevitablemente iba a dominar nuestra secuencia de otra manera. Por lo tanto tenemos que trabajar en un subespacio que es ortogonal al vector propio para el mayor autovalor. Gram–Schmidt orthonormalisation proporciona una forma para hacer esto: Podemos empezar con dos vectores aleatorios $x_0$ $y_0$ y, a continuación, hacemos una bacteria Gram–Schmidt después de cada paso:

$$\begin{align} x_{i+1} &= \frac{A x_i}{\left |A x_i \right|},\\ y_{i+1} &= \frac{A y_i - \left \langle A y_i, x_{i+1} \right \rangle}{\left | A y_i - \left \langle A y_i, x_{i+1} \right \rangle \right |} \end{align} $$

Debido a esto, $x_i$ se alinee con el primer vector propio y $y_i$ se alinee con la segunda. Podemos extender este esquema a seguir autovectores si nos gusta.

La característica fundamental de las bacterias Gram–Schmidt proceso que aprovechamos aquí es que la primera $k$ vectores de su resultado abarcan el mismo subespacio como la primera $k$ vectores de entrada para cualquier $k$. Una consecuencia de esto es que el $k$th salida vector es ortogonal a todos los anteriores de la salida de los vectores. Obviamente, esto no iba a trabajar con cualquier base.

Ahora, en muchos casos, usted puede determinar los primeros autovectores más fácilmente, pero hay problemas análogos, a donde necesita ir de la manera descrita anteriormente. Por ejemplo, se utiliza para el cálculo numérico de los exponentes de Lyapunov, donde $A$, $x$, y $y$ están sujetas a un complejo de la evolución temporal.


1 y por lo tanto podemos asumir que no es ortogonal a cualquier vector propio de a $A$

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X