8 votos

Resolver un sistema de ecuaciones lineales, haciendo cumplir un vector unitario solución

Tengo un sistema de ecuaciones de la forma Aix + Biy + Ciz = Di, donde (x,y,z) es un vector unitario, y (Ai, Bi, Ci, Di) son conjuntos de medidas de un sistema ruidoso (con típicamente 3-5 lecturas independientes).

Mi primera intuición para resolver este problema fue plantearlo como un sistema de ecuaciones lineales sobredeterminado AX = B donde X = (x,y,z), y resolver para X. Sin embargo, con ese enfoque, no tengo forma de hacer cumplir que la solución para el vector X es un vector unitario.

¿Existe una solución elegante (o estándar) para ese problema, o simplemente debo sumergirme en soluciones de resolución de ecuaciones no lineales?

0 votos

Sugerencia: Si tiene $n$ conjuntos de medidas, entonces tiene $\binom{n}{3}=% \frac{n(n-1)(n-2)}{3!}$ maneras de elegir $3$ de ellas y para cada una resolver el correspondiente sistema de ecuaciones lineales $AX=B$ . Podría determinar $% X^{\ast }=(x^{\ast },y^{\ast },z^{\ast })$ para que $\left\vert 1-\left( x^{\ast }\right) ^{2}-\left( y^{\ast }\right) ^{2}-\left( z^{\ast }\right) ^{2}\right\vert $ es mínimo. Finalmente se calcularía $X^{\ast \ast }=(x^{\ast \ast },y^{\ast \ast },z^{\ast \ast })=\frac{X^{\ast }}{\left\vert X^{\ast }\right\vert }$ .

6voto

Mike Puntos 1113

Por desgracia, es casi seguro que el problema es innatamente no lineal, ya que su espacio de soluciones lo es de forma inherente. Desde un punto de vista pragmático, lo mejor es tratar el sistema lineal sobredeterminado como un problema de minimización, al estilo de los mínimos cuadrados. Encuentre el valor mínimo (exacto) en $\mathbb{R}^3$ proyecta que hasta $S^2$ (es decir, normalizar el vector X) para encontrar el punto más cercano en la esfera, y utilizarlo como punto de partida para algún método basado en el descenso (es decir, encontrar el componente del gradiente de la función de bondad de ajuste tangente a la esfera, añadirlo al punto actual en la esfera). $S^2$ y renormalizar a la esfera de nuevo, y seguir haciendo eso hasta que cumpla con cualquier criterio de convergencia que desea utilizar. No hay garantía de que esto funcione si tus datos están particularmente mal condicionados, pero en la práctica es probable que sea el método más sencillo.

4voto

luispedro Puntos 221

Su objetivo es resolver $Ax=b$ sujeto a la restricción $||x||=1$ . Una forma de hacerlo es reconocer que la solución a $Ax=b$ es un espacio afín (subespacio trasladado). Esto significa que de todas las soluciones de $Ax=b$ existe una única "más pequeña", es decir, donde $||x||$ sea lo más pequeño posible. Para encontrar esta solución, se puede resolver el problema de optimización mínimo-norma, cuya solución es: $$ x_0 = \lim_{\lambda \to 0^+} (A^TA+\lambda I)^{-1}A^Tb $$ En caso de que $A$ es delgado y de rango completo, esto se simplifica a $(A^TA)^{-1}A^Tb$ . En general, la solución puede encontrarse tomando la SVD de $A$ .

Una vez que haya comprobado que $x_0$ es efectivamente una solución, lo siguiente que hay que hacer es comprobar que $||x_0|| \leq 1$ porque si no fuera así, se podría afirmar con seguridad que no hay solución para $Ax=b$ con norma 1.

El siguiente paso es encontrar una base para el espacio nulo de $A$ es decir, el conjunto de vectores $x$ tal que $Ax=0$ . Esto puede hacerse utilizando de nuevo la SVD. Si $N$ es una matriz cuyas columnas forman una base para el espacio nulo de $A$ entonces el conjunto de todas las soluciones de $Ax=b$ es: $$ x = x_0 + Ny $$ donde $y$ es un vector arbitrario de dimensión adecuada. El punto clave aquí es que $x_0$ es ortogonal a todos los vectores del espacio nulo de $A$ (porque $x_0$ es el punto de solución más cercano al origen). Así, se puede calcular la norma de $x$ utilizando el teorema de Pitágoras: $$ ||x||^2 = ||x_0||^2 + ||Ny||^2 $$ Ahora vemos que el si queremos $||x||=1$ sólo tenemos que elegir $y$ para que $$ ||Ny|| = \sqrt{1 - ||x_0||^2} $$ Siempre podemos elegir las columnas de $N$ para ser ortonormal, así que vamos a suponer que hemos hecho eso. Entonces el conjunto de $y$ es precisamente la esfera de radio $\sqrt{1 - ||x_0||^2}$ . Al elegir cualquier $y$ en esta esfera, parametrizamos todas las soluciones a su problema. Si sólo te interesa una solución concreta, puedes elegir $y$ de la forma $[\alpha,0,...,0]$ donde $\alpha = \sqrt{1 - ||x_0||^2}$ .f

0 votos

Creo que la norma 2 puede o no ser apropiada en este caso; el candidato nunca dijo nada sobre el nivel de ruido de sus datos.

0 votos

La norma 2 es la norma adecuada si el ruido es gaussiano IID, que es una suposición tan buena como cualquier otra. "No importa lo ruidoso que sea, lo único que importa es el valor de la función de densidad.

0 votos

Sí, sólo estoy dando una nota de que hay que tener cuidado, ya que no todos los datos ruidosos tienen ruido gaussiano.

0voto

Holly Puntos 111

Este problema puede resolverse mediante la descomposición de valores singulares. El problema original se puede plantear como $$min\|Ax-b\|_2, \|x\|_2=1$$ Sustituyendo $$A'=[A;-b], x'=w x; w$$ y eligiendo $w=\frac{\|x\|_2}{\|x;1\|_2}$ obtenemos $\|x'\|_2=w\|x;1\|_2=\|x\|_2$ por lo que el problema se convierte en $$min\|A'x'\|_2, \|x'\|_2=1$$ que es el mismo que en esta pregunta: Minimizar $\|Ax\|_2$ sujeto a $\|x\|_2 = 1$ Puede resolverse descomponiendo $A'$ en $U \Sigma V^T$ y tomando la última columna de $V$ que corresponde al valor singular más pequeño de $A'$ .

Por último $x$ se calcula dividiendo $x'$ por el último elemento, tomando elementos de $x'$ excepto el último y luego normalizarlo.

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