Re: Метод итераций для ЛС

From
Sergei Katkovsky ()
To
Roman Kukushkin
Date
2002-06-08T19:02:27Z
Area
RU.ALGORITHMS
From: "Sergei Katkovsky" <energoav@dialup.ptt.ru>

Hello, Roman!
You wrote to Sergei Katkovsky on Sat, 08 Jun 2002 14:45:30 +0400:

SK>> while( abs(norm(x) - 100) > 1e-6)
RK> А почему не, скажем,
RK> while( abs(norm(x) - norm_old) > 1e-6)?

Потому что 100 - точный ответ, и эта проверка - проверка точной абсолютной
погрешности.

RK> У меня матлаба нет, но с этой проверкой сойдется точно быстрее (насчет
RK> точности не уверен).

Или точность будет той же, и тогда сойдется ровно за столько же, или
сойдется быстрее, потому что требуемая точность не будет достигнута. Или
так, или так.

RK> Здесь можно просто изменить условие контроля, вместо евклидовой нормы
RK> (norm(*) - евклидова?) использовать норму максимума $(\|x\|_\infty=max_i
RK> |x_i|)$. Алгоритм сойдется за одну итерацию.

Лишь из-за особого вида матрицы. Простое видоизменение

Q = gallery('orthog', 10, 2);
% Q(i,j) = 2/(sqrt(2*n+1)) * sin(2*i*j*pi/(2*n+1))
A = Q^-1 * A * Q;

возвращает все на круги своя :)

Сергей Катковский



--- ifmail v.2.15dev5
 * Origin: Demos online service (2:5020/400)