7 votos

¿Cómo ampliar un conjunto ortogonal de vectores existente?

Supongamos que tengo $k$ vectores en $\mathbb R^n$ que son ortogonales entre sí ( $k \ll n$ ). ¿Existe una forma eficiente de encontrar otro vector que sea ortogonal a todos estos vectores dados?

Si ponemos el $k$ vectores en un $k \times n$ matriz, denotada por $A$ entonces el problema es idéntico a encontrar un vector en el espacio nulo de $A$ . Por supuesto, se puede recurrir al método de resolución de un sistema lineal subdeterminado para encontrar el espacio nulo de $A$ pero al hacer esto hemos obtenido todos los vectores que abarcan el espacio nulo de $A$ . Para $k \ll n$ Esto no es eficiente, ya que sólo necesito un vector en el espacio nulo.

Me pregunto si existe una forma más inteligente.

0 votos

¿Podría hacer un cambio de coordenadas para que todos sus $k$ los vectores ortogonales apuntan a lo largo de los ejes de coordenadas, y entonces sólo hay que tomar cualquier vector que apunte a lo largo de uno de los otros $n-k$ ¿ejes?

0 votos

Creo que encontrar esta transformación es más costoso que encontrar el espacio nulo, ya que encontrar el espacio nulo sólo lleva $k-1$ Eliminaciones gaussianas.

8 votos

¿Funcionaría adivinar un vector linealmente independiente y luego tomar la parte ortogonal? Se puede hacer que un vector sea ortogonal a un conjunto dado de vectores utilizando métodos similares a los de Gram-Schmidt...

3voto

Willie Betmore Puntos 36

Se podría normalizar el $k$ vectores y convertirlos en las columnas de una matriz $Q$ . Entonces $I - QQ^T$ es la proyección sobre el complemento ortogonal del tramo del $k$ vectores. Cualquier columna no nula de esta matriz es ortogonal a la $k$ vectores.

0voto

Schneems Puntos 3208

Podrías tratar de elegir la primera $k+1$ componentes de cada vector y formar $v_1,\ldots,v_k$ en $\mathbb{R}^{k+1}$ . Entonces puedes hacer el producto cruzado de estos vectores $w=v_1\times\ldots\times v_k\in \mathbb{R}^{k+1}$ . Por último, puede definir $v=(w,0,\dots,0)\in\mathbb{R}^n$ . Si $w=0$ empezar a elegir los componentes de la segunda y definir $v=(0,w,0,\dots,0)\in\mathbb{R}^n$ y así sucesivamente. Sin embargo, creo que esto sólo sería útil si $k$ es mucho menor que $n$ porque necesitas calcular un determinante.

0 votos

El producto cruzado sólo está definido para vectores en $\mathbb{R}^{3}.$

2 votos

@ttb Existe una conocida generalización del producto cruzado de 2 vectores en $\mathbb{R}^3$ a k vectores en $\mathbb{R}^{k+1}$ . Consulta la sección - Álgebra Multilineal - en la wikipedia para más información: es.wikipedia.org/wiki/Producto_cruzado

0voto

FundThmCalculus Puntos 2072

El problema de las conjeturas y comprobaciones aleatorias es el comportamiento no determinista. Como $\lim k \to n$ El tiempo de espera será cada vez más largo. Por eso, encontrar algo en el espacio nulo tendría más sentido, a no ser que puedas averiguar una transformación fácil que convierta los vectores ortogonales existentes en los vectores de coordenadas unitarias: $\vec e_1, \vec e_2 \ldots$ y a partir de ahí puedes generar el resto de vectores. Una vez que tengas todos los vectores que quieras, transfórmalos inversamente al sistema de coordenadas original.

0 votos

Estoy de acuerdo en que adivinar y comprobar y buscar la transformación a base estándar sería ineficiente. Pero, ¿significa eso que encontrar un solo vector en el espacio nulo es tan difícil como descubrir todo el espacio nulo?

0 votos

Yo diría que encontrar todo el espacio nulo es mejor, ya que cuando sólo tienes unos pocos vectores en el sistema, la reducción de filas no tarda tanto en realizarse.

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