Методы решения некорректно поставленных задачРефераты >> Математика >> Методы решения некорректно поставленных задач
Это следует непосредственно также из того, что функционал W[ z ] = ||z||2 является сстабилизирующим и квазимонотонным. Стабилизирующий функционал W[ z ] называется квазимонотонным , если каков бы ни был элемент z из F1 , не принадлежащий множеству M0 , в любой его окрестности найдется элемент z1 из F1, для которого W[ z1 ]< W[ z ], т.е. если функционал не имеет локальных минимумов на множестве F1\ M0.
Задачу нахождения вектора zd можно поставить так: среди векторов z, удовлетворяющих условию ||Az – u ||=m +2d , найти вектор zd с минимальной нормой, т. е. минимизирующий функционал W[ z ]=||z||2.
Последнюю задачу можно решать методом Лагранжа, т. е. в качестве zd брать вектор za, минимизирующий функционал
Мa [z, u] = ||Az - u ||2+ a||z||2, a>0,
с параметром a, определяемым по невязке, т. е. из условия ||Аza— u||=d1. При этом параметр a определяется однозначно .
3.3.4. Поскольку Мa [z, u] — квадратичный функционал, то для любых u ÎRm и a> 0 существует лишь один минимизирующий его вектор za. В самом деле, допустим,
что существуют два вектора za и za, минимизирующие его. Рассмотрим векторы z, расположенные на прямой (пространстваRn), соединяющей za и za:
z = za + b( za - za).
Функционал Мa [z, u] на элементах этой прямой есть неотрицательная квадратичная функция от b. Следовательно, она не может достигать наименьшего значения при двух различных значениях b: b = 0 (z = za) и b=1 (z = za).
Компоненты zja вектора za являются решением системы линейных алгебраических уравнений
получающихся из условий минимума функционала Мa [z, u]:
Здесь
Компоненты zja могут быть определены и с помощью какого-нибудь другого алгоритма минимизации функционала Мa [z, u].
Вектор za можно рассматривать как результат применения к u некоторого оператора za=R(u, a), зависящего от параметра a.
Покажем, что оператор R0(u, a) является регуляризирующим для системы (3;3,1), т. е. обладает свойствами 1) и 2) определения 2 (см. 3.1.2.). В п. 3.3.2. было сказано, что он определен для всяких u ÎRm и a > О и, следовательно, обладает свойством 1). Теперь покажем справедливость свойства 2), т. е. существование таких функций a=a(d) , что векторы za(d) = R0(u, a(d)) сходятся к нормальному решению z° системы (3; 3,1) при dà0. Это непосредственно следует из приводимой ниже теоремы 2.
Теорема 2( Тихонова). Пусть z° есть нормальное решение системы Az= u и вместо вектора u мы имеем вектор u такой, что ||u—u||<=d. Пусть, далее, b1(d) и b2(d) — какие-либо непрерывные на [0, d2] и положительные на (0, d2] функции, монотонно стремящиеся к нулю при dà 0 и такие, что
Тогда для любой .положительной на (0, d2] функции a=a(d) , удовлетворяющей условиям
векторы za(d) = R0(u, a(d)) сходятся к нормальному решению z0 системы Az = u при dà0, т. е.
Примечание. Доказательства теорем в данном разделе опущены, т.к. основной теоретической частью работы является раздел «Метод Подбора. Квазирешения». Метод Тихонова описан из-за использования его в численном эксперименте.
ЗАКЛЮЧЕНИЕ
Для реализации численного примера был выбран метод Тихонова решения плохо обусловленных СЛАУ. В качестве исходной была взята СЛАУ Az=u, имеющая в матричной записи вид:
Определитель матрицы коэффициентов этой системы близок к нулю – он равен 0.000125. Попробуем решить эту систему с помощью обратной матрицы:
z=A-1u
Получим z1=316
z2=-990
z3=832
Теперь предположим, что правая часть нам известна приближенно, с погрешностью 0.1 Изменим, к примеру, третий элемент вектора-столбца с 1 на 1.1 :
Попробуем решить новую систему также с помощью обратного оператора. Мы получаем другой результат:
z1=348
z2=-1090
z3=916.
Мы видим, что малому изменению правой части данной системы отвечают весьма значительные изменения решения. Очевидно, эта система – плохо обусловленная, и здесь не может идти речи о нахождении решения близкого к точному с помощью обратного оператора.
Будем искать решение методом Тихонова. В теоретической части было показано, что целесообразно использовать регуляризирующий оператор следующего вида: (aE + ATA)za=ATud , где E – единичная матрица, za -- приближенное нормальное решение, AT – транспонированная исходная матрица, a -- параметр регуляризации,
ud -- правая часть, заданная неточно. Эту задачу можно решать стандартными методами, задав предварительно функцию a=a(d) , удовлетворяющую условиям теоремы Тихонова. В моем примере это функция a(d)=d/4d. Далее будем решать регуляризованную задачу с точностью e=0.001 ,последовательно изменяя значения a.
В качестве контр-примера можно подставить в программу любую функцию a(d) , не удовлетворяющую условиям теоремы Тихонова. Любая положительная функция монотонно возрастающая, не обладающая свойством a(d)à0 при dà0, не будет минимизировать невязку.
Текст программы приведен в приложении 1. Полная распечатка результатов приведена в приложении 2. Здесь же представлены окончательные значения на выходе из программы.
Приближение к нормальному решению
Z(1)= 3.47834819174013E+0002
Z(2)=-1.08948394975175E+0003
Z(3)= 9.15566443137791E+0002
Значение правой части при подстановке прибл. решения
U1(1)= 9.99997717012495E-0001
U1(2)= 1.00000741970775E+0000
U1(3)= 1.09948402394883E+0000
Значение параметра регуляризации:
2.61934474110603E-0010
ПРИЛОЖЕНИЯ
Приложение 1.
Текст программы для реализации метода Тихонова на языке PASCAL
Uses CRT;
type
real=extended;
const
matrixA: array[1 3,1 3] of real = ((-19/20,1/5, 3/5),
(-1 ,0.1, 0.5),
(-0.01 ,0 ,1/200));
One: array [1 3,1 3] of real = ((1,0,0),
(0,1,0),
(0,0,1));
U:array[1 3] of real = (1,1,1.1);
var
i,j,k,q:byte;
A,At,A1,A2,Ar,One1:array[1 3,1 3] of real;
delta,Det,S,alpha:real;
B,Z,U1:array[1 3] of real;
f:text;
Procedure TransA;
begin
for i:=1 to 3 do
for j:=1 to 3 do
At[i,j]:=A[j,i]
end;
Function Koef(par1,par2:byte):real;
var
Sum:byte;
Tmp:real;
begin
Sum:=par1+par2;
Tmp:=1;
for k:=1 to sum do
Tmp:=Tmp*(-1);
Koef:=Tmp;
end;
Function AlAdd(par1,par2:byte):real;
type
element=record
value:real;
flag:boolean;