7 votos

Algoritmo para encontrar el complemento ortogonal en espacios de producto interno

¿Existe un procedimiento general para calcular una base para el complemento ortogonal de un subespacio dado (con una base dada)? Para $\mathbb R^n$ esto equivale a encontrar el núcleo de una matriz con los vectores de la base como filas, pero esto es solo debido a la definición del producto interno estándar.

¿Qué pasa con el caso general?

0 votos

Debes votar a favor de cualquier respuesta que hayas encontrado útil también.

0 votos

@MattSamuel no puedo votar hacia arriba

0 votos

¡Bueno, si ese es el caso, entonces supongo que estás exento!

3voto

Matt Samuel Puntos 22587

Encuentra una base para el subespacio. Amplía a una base de todo el espacio vectorial. Ortogonaliza toda la base usando Gram-Schmidt, con la base del subespacio primero; esto te dará una base ortogonal del subespacio, y los vectores restantes formarán una base para el complemento ortogonal.

2voto

mathreadler Puntos 3517

Si el subespacio con base conocida tiene una dimensión $k$ y el espacio completo es $\mathbb{R}^n$, tome un conjunto de $n-k$ vectores aleatorios $v_k$. Reste la proyección sobre la base para cada vector aleatorio $v_k$ y cada vector de base $i$, $$v_k = v_k - P_i(v_k)$$ Ahora tendrá una base para el subespacio complementario: $\{v_1,\cdots,v_{n-k}\}$.

Construya su proyección de la siguiente manera:

$$P = SDS^{\dagger}$$ con $D$ diagonal y $D_{jj} = \delta_{(j\leq k)}$, y las primeras $k$ columnas de $S$ como vectores de base y el resto ceros, $S^\dagger$ denota la pseudoinversa.

Además, inserte los $v_k$ como columnas en $V$. Ahora simplemente haga $(I-P)V$ y tendrá una base del espacio complementario como las columnas de este producto.

0 votos

Hola, perdón por mi comentario tardío, ¿es posible proporcionar un poco más de detalles? ¿Está tu enfoque relacionado con la factorización QR? ¿Podrías por favor elaborar un poco más?

0 votos

@darkmoor No veo una conexión con la factorización QR, pero puede que me esté perdiendo algo. Seguro puedo agregar un ejemplo mínimo.

0 votos

Gracias por la respuesta. Permíteme hacer algunas preguntas. ¿Qué significa $P_i(v_k)$? Además, ¿cómo se define $S$? Además, ¿cuál es la intuición de $(I-P)V$? ¡Gracias de nuevo!

1voto

amd Puntos 2503

Echa un vistazo más de cerca a lo que estás haciendo cuando utilizas el algoritmo que describes para calcular un complemento ortogonal relativo al producto escalar euclidiano $\langle\cdot,\cdot\rangle$: estás resolviendo el sistema homogéneo de ecuaciones lineales $$\begin{align} \langle\mathbf w_0,\mathbf x\rangle &= 0 \\ \langle\mathbf w_1,\mathbf x\rangle &= 0 \\ \vdots \\ \langle\mathbf w_m,\mathbf x\rangle &= 0 \\ \end{align}$$ donde los $\mathbf w_k$ son una base para el subespacio. Esto se puede escribir como la única ecuación $W^T\mathbf x=0$, donde $W$ es la matriz con estos vectores base como sus columnas. Resolver esto equivale a encontrar el núcleo de $W^T$, como dijiste.

Para un producto interno arbitrario $(\cdot,\cdot)$ sobre $\mathbb R^n$, puedes establecer un sistema similar de ecuaciones lineales y resolverlo para encontrar el complemento ortogonal relativo a ese producto interno. Para expresar este sistema en forma de matriz, aprovechamos el hecho de que cualquier producto interno sobre $\mathbb R^n$ puede expresarse en términos del producto escalar euclidiano como $(\mathbf u,\mathbf v)=\langle\mathbf u,A\mathbf v\rangle$, donde $A$ es una matriz simétrica definida positiva fija. Esta matriz está dada por $A_{ij}=(\mathbf e_i,\mathbf e_j)$, donde los $\mathbf e_k$ son los vectores de la base estándar. Con esta matriz en mano, el sistema de ecuaciones puede escribirse como $W^TA\mathbf x=0$, por lo que encontrar el complemento ortogonal del subespacio es cuestión de calcular el núcleo de $W^TA$.

El proceso para $\mathbb C^n$ es similar, excepto que la matriz del producto interno será hermitiana y necesitarás usar transpuestos conjugados.

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