# <center> ЛАБОРАТОРНАЯ  РАБОТА 5 </center>
# <center> РЕШЕНИЕ  СИСТЕМ  ЛИНЕЙНЫХ АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ ИТЕРАЦИОННЫМИ МЕТОДАМИ   </center>

Теоретический материал к данной теме содержится в [1, глава 6], [2, часть 2, глава 2].


```python
from sympy.solvers import solve
from sympy import exp, sin, cos, sqrt, log, ln, pi
from sympy import Rational as syR
from sympy import Symbol, diff
from scipy.misc import derivative

import numpy as np

import matplotlib.pyplot as plt
%matplotlib inline
```

## Задача 1.
Дана  система уравнений $Ax=b$. Найти решение  системы  с помощью метода Гаусса. Выполнить 10 итераций по методу Зейделя. Принимая решение,  полученное с помощью метода Гаусса  за точное, найти величину абсолютной погрешности итерационного решения. 
## Порядок решения задачи:
1. Задать матрицу системы $A$ и вектор правой части $b$. Используя встроенную функцию, найти решение системы $Ax=b$ с помощью метода Гаусса. 
2. Преобразовать систему $Ax=b$ к виду $x=Bx+c$, удобному для итераций. Проверить выполнение достаточного условия сходимости итерационных методов (модуль по норме не превышает 1).
3. Реализовать функцию zeid, описывающую метод Зейделя. Выполнить 10  итераций по методу Зейделя; взять любое начальное приближение. Принимая решение, полученное в п. 1 за точное, найти величину абсолютной погрешности итерационного решения (использовать норму $|| .||_{\infty}$). 
4. Взять другое начальное приближение. Объяснить полученные результаты.

Ваши матрица A и вектор b:
$A = {Task1[TASK_VARIANT][A_latex]}$  
$b = {Task1[TASK_VARIANT][b_latex]}$


```python
epsilon1 = 10**(-6)
# Матрица и вектор
A = {Task1[TASK_VARIANT][A_latex]}
b = {Task1[TASK_VARIANT][b_latex]}
```

Найдите решение системы $Ax=b$ с помощью встроенной функции (например,np.linalg.solve).


```python
##массив-ответ на систему
```

Реализуйте функцию для нахождения решения с помощью метода Гаусса.


```python
def meth_gauss
```

С помощью написанной ранее функции найдите найдите решения Вашей системы.


```python
##массив-ответ
```

Преобразуйте систему $Ax=b$ к виду $x=Bx+c$. Для этого определите функции для построения B и c.


```python
##место для кода
```

Проверьте выполнение достаточного условия сходимости итерационного метода. Можно осуществить с помощью встроенной функции(например, np.linalg.norm).


```python
##ответ число меньше 1
```

Реализуйте метод Зейделя.


```python
def zeid(B, c, x0, N): 
```



## Задача 2.
Для системы уравнений $Ax=b$ из задачи 1 найти  решение  по методу Зейделя с  точностью $\varepsilon = 10^{-6}$, взяв любое начальное приближение. Для этого  модифицировать функцию zeid  так, чтобы  решение вычислялось с заданной точностью $\varepsilon$. Предусмотреть подсчет  количества итераций, потребовавшихся для достижения точности $\varepsilon$. 

Реализуйте функцию zeideps с возможностью вычислять решение с определенной точностью.


```python
def zeideps(A, b, x0, eps): 
```


```python

```

#### ЛИТЕРАТУРА:
1. Амосов А.А., Дубинский Ю.А., Копченова Н.В. Вычислительные методы для инженеров. М.: Высшая школа, 1994.
2. Самарский А.А., Гулин А.В. Численные методы. М.: Наука, 1989.


```python

```

e29f44c18fc70711512f31a0d6857788a9a0264c
ipynb
Jupyter Notebook
tasks/LR5.ipynb
evgeniy97/taskgenerator
7680989c2a080761ef574fac148a0a94c722ad16
MIT
2018-07-19T09:56:35.000Z
2018-07-19T09:56:35.000Z
tasks/LR5.ipynb
evgeniy97/taskgenerator
7680989c2a080761ef574fac148a0a94c722ad16
MIT
tasks/LR5.ipynb
evgeniy97/taskgenerator
7680989c2a080761ef574fac148a0a94c722ad16
MIT
Qwen/Qwen-72B
1. YES
2. YES