ОБОБЩЕННОЕ ПСЕВДОРЕШЕНИЕ Ax=b, ||x-y||->min

Алгоритм Балонина: обобщенное псевдорешение. Модифицированный алгоритм Балонина-Холецкого трапецевидного разложения симметричной матрицы МНК задает составные части для доработки их алгоритмом Хаусхолдера с построением обобщенного псевдорешения.

Минимальный по обычной или взвешенной норме вектор псевдорешения – компромисс, который получает осмысленное значение, если к вырожденной системе Ax=b добавить равноценный источник дополнительной информации о желаемом решении, например, в виде вектора притяжения y.

Учитывается он довольно просто переносом в точку y начала координат, вместо Px=r имеем P(x-y)=r-Py. Если P невырождена, то x-y=P-1r-P-1Py, вектор y не оказывает влияния - он сокращается, решение будет определяться только системой уравнений Px=r. При неполном ранге минимизируется норма разности векторов x и y.

Обобщенное псевдорешение дается формулой: x=y+P+(r-Py). Предыдущий алгоритм поступил в общий тулбокс, так что в примере ниже показан результат обращения к его модификации с учетом указанной формулы. В содержательном отношении задача решения вырожденной или плохо обусловленной системы уравнений означает то, что для получения однозначного результата в исходных уравнениях не хватает информации.


%toolbox lsm,

% 'НЕУДОБНЫЕ' ПОГРЕШНОСТИ,
A=[1 1; 1.001 1.001001], b=[1 1],  
  
% ПРИТЯЖЕНИЕ К ТОЧКЕ [1 1], 
y=[1 1], x=lsm2(A b y 0.001), x=?,
% ПРИТЯЖЕНИЕ К ТОЧКЕ [1 0],
y=[1 0], x=lsm2(A b y 0.001), x=?,

Фактически, методом наименьших квадратов устойчиво подсчитывается поправка к приближенно известному решению y. Тем самым, снимается основная проблема, известная в вычислительной математике и состоящая в том, что для любого алгоритма регуляризации всегда найдется такой предел плохой обусловленности, при котором в 'точном' решении не найдется ни одного верного знака. Худо тогда и то, что 'дожимание' плохо обусловленной задачи уводит результат к большим числам, получающимися при попытке разрешить, в данном случае, две почти параллельные прямые нахождением точки их пересечения. Замена вектора y на точное решение происходит только тогда, когда система уравнений хорошо обусловлена.

Вычислительный алгоритм с традиционной схемой 'дожимает' плохо обусловленную матрицу, а этого делать не нужно: в итоге получается мало осмысленное 'решение', причем регуляризация ровным счетом ничего не меняет в этой раскладке (результат не годятся потому, что в нем первостепенную роль играют только уравнения – синтеза полезной информации с чем-либо иным не происходит).

Взвешенное обобщенное псевдорешение. Завершающий алгоритм. Минимизацией нормы W-1(x-y) учитываются оба дополнительных фактора: вектор притяжения y и весовые коэффициенты. От 'единичной' точки в решении более отклонилась вторая составляющая. Вопрос о неком целесообразном назначении весовых коэффициентов поэтому получает довольно простое решение: W=diag(y), если в y нет нулей. Точки с нулевыми весами не варьируются. Тактику 'замораживания' более хорошо известных коэффициентов, впрочем, также можно использовать. Такие потребности реально существуют.


%toolbox lsm,

% 'НЕУДОБНЫЕ' ПОГРЕШНОСТИ,
A=[1 1; 1.001 1.001001], b=[1 1],  
  
% ПРИТЯЖЕНИЕ К ТОЧКЕ [1 1], 
y1=[1 1], w1=[1 1], call x=lsm2w(A b y1 w1 0.001), x=?,
% ПРИТЯЖЕНИЕ С УЧЕТОМ 'ВЕСА' ИЗМЕНЕНИЙ, 
y2=[1 1], w2=[0.1 1], call x=lsm2w(A b y2 w2 0.001), x=?,

Иными словами, этот алгоритм универсален. Применительная сторона широка. Если мы уточняем методом наименьших квадратов коэффициенты дифференциального уравнения, то коэффициенты при старших производных естественно - значительно более влияют на решение. Ошибки в определении их - весомее. Их нельзя искать на равных основаниях с остальными. Между тем, в уравнении Ax=b все компоненты вектора x - обезличены. Надо соблюсти некоторые условия, чтобы результат был более осмысленным. Во-первых, ввести взвешенную норму невязки. Тогда малое останется малым. Во-вторых, притягивать решение к более осмысленной точке, чем просто 0.



Rambler's Top100