Si el sistema es inconsistente, bueno, de todos modos no hay una solución y no hay mucho que pueda hacer al respecto.
Si el sistema es consistente, pero está sobredeterminado debido a dependencias lineales, entonces puede usar un método de espacio reducido como SVD o QR para resolver el sistema en su subespacio bien acondicionado.
Actualización: mencioné un método de mínimos cuadrados (que es similar a un enfoque pseudoinverso), pero me di cuenta en retrospectiva de que este no es necesariamente el mejor enfoque numérico. Un mínimos cuadrados estándar es esencialmente:
[matemáticas] x = (A ^ TA) ^ {- 1} A ^ T b [/ matemáticas]
o, [matemática] (A ^ TA) x = A ^ T b [/ matemática] (una forma más susceptible de solución usando un solucionador lineal).
Al igual que los mínimos cuadrados ordinarios en las estadísticas, esto puede sucumbir al mal condicionamiento, es decir, [matemática] A ^ TA [/ matemática] puede ser singular. Corresponde a un problema de optimización [matemática] \ min_ {x} || Ax-b || [/ matemática], pero debido a las dependencias lineales, la solución no es única. La regularización (es decir, agregar una penalización al objetivo) perturba el objetivo, lo que cambia la curvatura del problema y empuja al solucionador hacia un óptimo único. La perturbación de Tikhonov (mencionada por Charles) da la siguiente solución explícita:
[matemáticas] x = (A ^ T A + \ Gamma ^ T \ Gamma) ^ {- 1} A ^ T b [/ matemáticas]
- Álgebra lineal: ¿cómo se resuelven las ecuaciones de valor propio acopladas?
- ¿Qué son los jacobianos, los hessianos, los wronskianos y los laplacianos?
- ¿Cuáles son las aplicaciones del álgebra lineal en el aprendizaje automático?
- ¿Existen otras descomposiciones matriciales que no sean SVD que encuentran el mínimo global de algún error de reconstrucción?
- ¿Cuáles son algunas técnicas efectivas de factorización matricial y sus casos de uso?
Sin embargo, esto sigue siendo un poco insatisfactorio en algunas situaciones, ya que la solución puede depender de la elección del parámetro de regularización, cuya selección es algo arbitraria: hay que seleccionar un parámetro de regularización suficientemente grande para garantizar que [matemática] (A ^ T A + \ Gamma ^ T \ Gamma) [/ math] es invertible.
En mi opinión subjetiva, un mejor enfoque sería resolver el sistema en su subespacio bien acondicionado (es decir, SVD y descartar valores singulares por debajo de un determinado umbral especificado por el usuario). Esto está relacionado con hacer un Análisis de Componentes Principales (http://en.wikipedia.org/wiki/Pri…), que es un algoritmo inherentemente bien condicionado.
En el enfoque SVD:
[matemáticas] Ax = b [/ matemáticas]
[matemáticas] USV ^ T x = b [/ matemáticas]
[matemáticas] x = VS ^ {- 1} U ^ T b [/ matemáticas]
[matemáticas] x = V \ cdot \ text {diag} [\ sigma_ {1} ^ {- 1}, \ ldots, \ sigma_ {n} ^ {- 1}] \ cdot U ^ T b [/ math]
La inversión de S implica solo tomar el recíproco de los valores singulares, ya que S es diagonal. Para valores singulares [math] \ sigma_ {i} [/ math] que están cerca de 0 (una llamada de juicio por parte del usuario), establezca [math] \ sigma_ {i} ^ {- 1} = 0 [/ math] . Los SVD son muy caros en general, pero si su sistema es escaso, entonces alguna variante de un algoritmo de iteración de potencia como el algoritmo de Lanczos puede ser una forma eficiente de hacerlo.
http://en.wikipedia.org/wiki/Lan…