2014 dxdy logo

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

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


Правила форума


В этом разделе нельзя создавать новые темы.

Если Вы хотите задать новый вопрос, то не дописывайте его в существующую тему, а создайте новую в корневом разделе "Помогите решить/разобраться (М)".

Если Вы зададите новый вопрос в существующей теме, то в случае нарушения оформления или других правил форума Ваше сообщение и все ответы на него могут быть удалены без предупреждения.

Не ищите на этом форуме халяву, правила запрещают участникам публиковать готовые решения стандартных учебных задач. Автор вопроса обязан привести свои попытки решения и указать конкретные затруднения.

Обязательно просмотрите тему Правила данного раздела, иначе Ваша тема может быть удалена или перемещена в Карантин, а Вы так и не узнаете, почему.



Начать новую тему Ответить на тему
 
 Метод верхней релаксации для решения СЛАУ
Сообщение17.10.2010, 00:07 


05/01/10
483
Подскажите, пожалуйста, где в интернете можно найти примеры решения СЛАУ этим методом.

 Профиль  
                  
 
 Re: Метод верхней релаксации
Сообщение17.10.2010, 00:14 
Заслуженный участник


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

 Профиль  
                  
 
 Re: Метод верхней релаксации
Сообщение17.10.2010, 09:23 


05/01/10
483
Мне нужно изучить этот метод..

-- Вс окт 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 
Заслуженный участник
Аватара пользователя


01/08/06
3136
Уфа
Что-то у Вас не то. В методе нужно обнулить матрицу ниже главное диагонали (или выше?.. не помню, посмотрите в учебнике или конспекте) и решать систему с этой матрицей и вектором невязки справа. Что-то типа такого:$$\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 
Заслуженный участник


11/05/08
32166
Если просто обнулить (сверху), то это будет метод Зайделя. А метод релаксации -- это когда диагональные элементы ещё и делятся на релаксационный параметр $\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 


25/04/10
25
он еще называется 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 
Заслуженный участник


11/05/08
32166
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