Cuando usa ZGELSS para resolver este problema, está usando la descomposición de valores singulares truncados para regularizar este problema extremadamente mal condicionado. Es importante comprender que esta rutina de biblioteca no intenta encontrar una solución de mínimos cuadrados para , sino que intenta equilibrar la búsqueda de una solución que minimicecontra minimizar. A x = b∥ x ∥∥ A x - b ∥
Tenga en cuenta que el parámetro RCOND pasado a ZGELSS puede usarse para especificar qué valores singulares deben incluirse y excluirse del cálculo de la solución. Cualquier valor singular menor que RCOND * S (1) (S (1) es el valor singular más grande) será ignorado. No nos ha dicho cómo ha configurado el parámetro RCOND en ZGELSS, y no sabemos nada sobre el nivel de ruido de los coeficientes en su matriz o en el lado derecho , por lo que es difícil decir si ha utilizado Una cantidad adecuada de regularización. UNAsi
Parece estar contento con las soluciones regularizadas que está obteniendo con ZGELSS, por lo que parece que la regularización efectuada por el método SVD truncado (que encuentra una solución mínima entre las soluciones de mínimos cuadrados que minimizan sobre el espacio de soluciones abarcado por los vectores singulares asociados con los valores singulares mayores que RCOND * S (1)) es satisfactorio para usted. ∥ x ∥∥ A x - b ∥
Su pregunta podría reformularse como "¿Cómo puedo obtener eficientemente soluciones de mínimos cuadrados regularizadas para este gran problema de mínimos cuadrados lineales muy dispersos y muy mal condicionados?"
Mi recomendación sería utilizar un método iterativo (como CGLS o LSQR) para minimizar el problema de mínimos cuadrados explícitamente regularizado
min ∥ A x - b ∥2+ α2∥ x ∥2
donde el parámetro de regularización se ajusta para que el problema de mínimos cuadrados amortiguados esté bien condicionado y para que esté satisfecho con las soluciones regularizadas resultantes. α