Когда вы используете ZGELSS для решения этой проблемы, вы используете усеченное разложение по сингулярным значениям, чтобы упорядочить эту крайне плохо обусловленную проблему. важно понимать, что эта библиотечная процедура не пытается найти решение для методом наименьших квадратов , а скорее пытается сбалансировать поиск решения, которое минимизируетпротив минимизации, Ax=b∥ х ∥∥ A x - b ∥
Обратите внимание, что параметр RCOND, переданный в ZGELSS, может использоваться для указания того, какие особые значения должны быть включены и исключены из расчета решения. Любое единственное значение, меньшее RCOND * S (1) (S (1) является наибольшим единственным значением), будет игнорироваться. Вы не сказали нам, как вы установили параметр RCOND в ZGELSS, и мы ничего не знаем об уровне шума коэффициентов в вашей матрице или в правой части , поэтому трудно сказать, использовали ли вы соответствующее количество регуляризации. Aб
Вы, кажется, довольны регуляризованными решениями, которые вы получаете с ZGELSS, поэтому кажется, что регуляризация осуществляется с помощью усеченного метода SVD (который находит минимальное решение среди решений наименьших квадратов, которые минимизируют в пространстве решений, охватываемых сингулярными векторами, ассоциированными с сингулярными значениями, большими, чем RCOND * S (1)), удовлетворительно для вас. ∥ х ∥∥ A x - b ∥
Ваш вопрос можно переформулировать так: «Как я могу эффективно получить регуляризованные решения методом наименьших квадратов для этой большой, разреженной и очень плохо обусловленной линейной задачи наименьших квадратов?»
Я рекомендую использовать итерационный метод (такой как CGLS или LSQR), чтобы минимизировать явную регуляризованную проблему наименьших квадратов
мин ∥ А х - б∥2+α2∥ х∥2
где параметр регуляризации настраивается так, чтобы проблема демпфированных наименьших квадратов была хорошо обусловлена и чтобы вы были довольны полученными регуляризованными решениями. α