2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Метод верхней релаксации для решения СЛАУ
Сообщение17.10.2010, 00:07 
Подскажите, пожалуйста, где в интернете можно найти примеры решения СЛАУ этим методом.

 
 
 
 Re: Метод верхней релаксации
Сообщение17.10.2010, 00:14 
Вообще-то собственно СЛАУ этим методом не решаются. Только очень частные случаи (если определённые ограничения на матрицу накладываются, а практически -- если та матрица возникает как матрица соотв. системы разностных уравнений МФ).

 
 
 
 Re: Метод верхней релаксации
Сообщение17.10.2010, 09:23 
Мне нужно изучить этот метод..

-- Вс окт 17, 2010 10:17:55 --

\begin{pmatrix} 0,93 & 0,08 & -0,11& 0,18 & -0,51\\ 0,08 & 0,88 & 0,21& -0,33& -1,17 \\ -0,11& 0,21& 1& -0,21& 1,02 \\ 0,18 & -0,33& -0,21& 2,1& 0,28\end{pmatrix}

На нулевой итерации беру начальное приближение - нулевой вектор х. Получаю вектор невязок:

$R^{(0)}=\begin{pmatrix} 0,51\\  1,17 \\ - 1,02 \\ -0,28\end{pmatrix}$

{*Первая итерация*}

$x_4^{(1)}=x_4^{(0)}+R_4^{(0)}=-0.28$

Подскажите, как на первой итерации найти вектор невязок.

 
 
 
 Re: Метод верхней релаксации
Сообщение18.10.2010, 12:42 
Аватара пользователя
Что-то у Вас не то. В методе нужно обнулить матрицу ниже главное диагонали (или выше?.. не помню, посмотрите в учебнике или конспекте) и решать систему с этой матрицей и вектором невязки справа. Что-то типа такого:$$\begin{pmatrix} 0,93 & 0,08 & -0,11& 0,18 & -0,51\\ 0 & 0,88 & 0,21& -0,33& -1,17 \\ 0 & 0& 1& -0,21& 1,02 \\ 0 & 0& 0& 2,1& 0,28\end{pmatrix}$$Она решается сравнительно легко. Получаете решение, подставляете в формулу для метода (формулу тоже навскидку не помню :-) ).

А собственно невязка вычисляется по очень простой формуле: $r^{(i)} = Ax^{(i)}-f$, на любой итерации. Главное получить $x^{(i)}$.

 
 
 
 Re: Метод верхней релаксации
Сообщение18.10.2010, 13:33 
Если просто обнулить (сверху), то это будет метод Зайделя. А метод релаксации -- это когда диагональные элементы ещё и делятся на релаксационный параметр $\omega$:

$({1\over\omega}D+L)(\vec x_{n+1}-\vec x_{n})=\vec b-A\vec x_n,$

где $D$ -- диагональная часть матрицы и $L$ -- левая треугольная часть (т.е. в которой обнулены элементы на и выше диагонали).

 
 
 
 Re: Метод верхней релаксации
Сообщение18.10.2010, 15:17 
он еще называется SOR, и описан например в "С. Патанкар. Численное решение задач теплопроводности."
суть его в том, что при решении
$A\overline x = b$
на каждой итерации для каждого $x_k$ выполняется действие
$x_k := x_k - \alpha \frac{b_k - A_{k1}x_1 + A_{k2}x_2 + \ldots + A_{k,k-1}x_{k-1} + A_{k,k+1}x_{k+1} + \ldots + A_{kn}x_n}{A_{kk}}$
где \alpha - параметр релаксации, для верхней (>1) берется обычно 1,5.
в Патанкаре же и доказывается его сходимость.

 
 
 
 Re: Метод верхней релаксации
Сообщение18.10.2010, 19:35 
rush в сообщении #363231 писал(а):
на каждой итерации для каждого $x_k$ выполняется действие
$x_k := x_k - \alpha \frac{b_k - A_{k1}x_1 + A_{k2}x_2 + \ldots + A_{k,k-1}x_{k-1} + A_{k,k+1}x_{k+1} + \ldots + A_{kn}x_n}{A_{kk}}$

Неверно. Во-первых, в числителе перепутаны знаки (или потеряны скобки). Во-вторых, там же потеряно одно слагаемое ($A_{kk}x_k$). В-третьих, следовало бы упомянуть, что это выражение -- не математическое, а "программное" (имеется в виду, что все слагаемые в числителе до диагонального берутся уже пересчитанные, а начиная с диагонального -- ещё старые).

А с учётом этих замечаний -- как раз и получится развёрнутое выражение для матричной записи $({1\over\alpha}D+L)(\vec x_{n+1}-\vec x_{n})=\vec b-A\vec x_n,$

 
 
 [ Сообщений: 7 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group