2014 dxdy logo

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

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


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


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



Начать новую тему Ответить на тему
 
 Задачка по линейной алгебре
Сообщение07.11.2014, 17:37 


29/08/11
1759
Здравствуйте!

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

Исходная задача:

Решить методом Зейделя СЛАУ с точностью $\epsilon = 0.001$. СЛАУ задана расширенной матрицей $$\begin{pmatrix}
4 & 1 & 2 & 1 & 1\\ 
2 & 8 & 3 & 2 & -2 \\ 
3 & -1 & 6 & 1 & 5\\ 
3 & 2 & 1 & 6 & 8
\end{pmatrix}$$

Условие сходимости метода Зейделя выполняется.

Далее привожу заданную СЛАУ к виду $$\left\{\begin{matrix}
x_{1} = 0.25 - 0.25x_{2} - 0.5 x_{3} - 0.25 x_{4}\\ 
x_{2} = -0.25 - 0.25x_{1} - 0.375 x_{3} - 0.25 x_{4} \\ 
x_{3} = 0.833 - 0.5x_{1} + 0.166 x_{2} - 0.166 x_{4}  \\ 
x_{4} = 1.333 - 0.5x_{1} - 0.333 x_{2} - 0.166 x_{3} 
\end{matrix}\right.$$ или в матричной форме

$$x^{<k>} = C \cdot x^{<k-1>} + B$$

где:

$x^{<k>}$ - вектор $k$-ых приближений,

$x^{<k-1>}$ - вектор $k-1$-ых приближений,

$$C =  \begin{pmatrix}
0 & -0.25 & -0.5 & -0.25 \\ 
-0.25 & 0 & -0.375 & -0.25  \\ 
-0.5 & 0.166 & 0 & -0.166\\ 
-0.5 & -0.333 & -0.166 & 0
\end{pmatrix}$$

и

$$B =\begin{pmatrix}
0.25\\ 
-0.25\\ 
0.833\\ 
1.333
\end{pmatrix}$$


Собственно вопрос: как выразить вектор $x^{<k>}$ через вектор $x^{<k-1>}$ ?

Для метода простых итераций сработала бы формула $$x^{<k>} = C \cdot x^{<k-1>} + B$$ ,но в силу специфики метода Зейделя (при вычислении иксов на каждой итерации, используются уже вычисленные иксы на этой же итерации), данная формула тут не совсем работает.

Пробовал как-то разложить матрицу $C$ на сумму верхнетреугольной и нижнетреугольной матриц, но все равно как-то некорректно считает.

Помогите, пожалуйста :|

PS. Все это буду реализовывать в MathCad.

 Профиль  
                  
 
 Re: Задачка по линейной алгебре
Сообщение07.11.2014, 22:14 
Аватара пользователя


12/05/12
604
Оттуда
Можно записать покоординатную формулу, она ничем не лучше и не хуже матричной

 Профиль  
                  
 
 Re: Задачка по линейной алгебре
Сообщение07.11.2014, 22:49 
Заслуженный участник


27/04/09
28128

(Оффтоп)

Limit79 в сообщении #927868 писал(а):
Собственно вопрос: как выразить вектор $x^{<k>}$ через вектор $x^{<k-1>}$ ?
Имелось в виду такое:$$x^{\langle k\rangle} = C'x^{\langle k-1\rangle} + B' \equiv (E-L)^{-1}Ux^{\langle k-1\rangle} + (E-L)^{-1}B\;?$$

А почему не считать, перезаписывая компоненты текущего вектора по очереди? Такой код, наверно, не так хорошо параллелится, но зато в нём предварительно вычислять $B',C'$ не надо. И вдруг (не имею понятия) умножение на $B'$ и прибавление $C'$ численно хуже умножения на $B$ и прибавления $C$?

 Профиль  
                  
 
 Re: Задачка по линейной алгебре
Сообщение07.11.2014, 22:54 
Заслуженный участник
Аватара пользователя


30/01/09
7136
Limit79 в сообщении #927868 писал(а):
но в силу специфики метода Зейделя (при вычислении иксов на каждой итерации, используются уже вычисленные иксы на этой же итерации), данная формула тут не совсем работает.

Условие сходимости проверяли?

 Профиль  
                  
 
 Re: Задачка по линейной алгебре
Сообщение08.11.2014, 01:39 


29/08/11
1759
cool.phenon
arseniiv в сообщении #927982 писал(а):
А почему не считать, перезаписывая компоненты текущего вектора по очереди?

Это первое, что я пробовал сделать, но в маткаде так сделать не получается.

мат-ламер в сообщении #927986 писал(а):
Условие сходимости проверяли?

Да, проверял, условие сходимости выполняется, так как модули диагональных элементов не меньше сумм модулей других элементов в каждой строке.


Задачку, кстати, решил, хоть формула получилась и огроменная.

 Профиль  
                  
 
 Re: Задачка по линейной алгебре
Сообщение08.11.2014, 01:53 
Заслуженный участник


27/04/09
28128
Limit79 в сообщении #928066 писал(а):
Задачку, кстати, решил, хоть формула получилась и огроменная.
Как так? А
arseniiv в сообщении #927982 писал(а):
$$x^{\langle k\rangle} = C'x^{\langle k-1\rangle} + B' \equiv (E-L)^{-1}Ux^{\langle k-1\rangle} + (E-L)^{-1}B\;?$$
Это не то разве? Отделяем, переносим, обращаем… :?

 Профиль  
                  
 
 Re: Задачка по линейной алгебре
Сообщение08.11.2014, 02:00 


29/08/11
1759
arseniiv в сообщении #928072 писал(а):
Как так? А

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

Если Вам интересно, могу показать маткадовский файл с формулами и самим решением.

arseniiv в сообщении #928072 писал(а):
Это не то разве? Отделяем, переносим, обращаем… :?

Ох, может быть и оно, но я несколько не понимаю эту формулу...

 Профиль  
                  
 
 Re: Задачка по линейной алгебре
Сообщение08.11.2014, 02:08 
Заслуженный участник


27/04/09
28128
$E$ — единичная,
$L$ — часть $C$ снизу от диагонали,
$U$ — оставшаяся часть $C$ — из элементов сверху и на диагонали;
один раз перед итерациями считаем $C' = (E - L)^{-1}U$, $B' = (E - L)^{-1}B$ и пошли упоминавшейся вами выше простой итерацией (не знаю, насколько это полезно, но как-нибудь сработать точно должно).

-- Сб ноя 08, 2014 05:16:27 --

Limit79 в сообщении #928075 писал(а):
вот таким образом я сделал
Так это и хорошо (наверно)!

(Чисто из любопытства.) Я правильно вывожу, что в маткаде нет локальных переменных? Тогда можно, к примеру, хвостовую рекурсию с передачей изменённого в одной компоненте вектора сделать — наверно, так у вас и есть? (Или в маткаде есть named let. :lol: )

 Профиль  
                  
 
 Re: Задачка по линейной алгебре
Сообщение08.11.2014, 03:43 


29/08/11
1759
arseniiv в сообщении #928078 писал(а):
что в маткаде нет локальных переменных?

Заданные переменные видны до конца файла, но в маткаде есть эдакая возможность программирования каких-либо функций, там, думаю, есть локальные переменные.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group