Решение систем линейных уравнений в Python
<!-- Load mathjax -->
<script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML"></script>
<!-- MathJax configuration -->
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {
inlineMath: [ ['$','$'], ["\\(","\\)"] ],
displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
processEscapes: true,
processEnvironments: true
},
// Center justify equations in code and markdown cells. Elsewhere
// we use CSS to left justify single line equations in code cells.
displayAlign: 'center',
"HTML-CSS": {
styles: {'.MathJax_Display': {"margin": 0}},
linebreaks: { automatic: true }
}
});
</script>
<!-- End of mathjax configuration -->
<div tabindex="-1" id="notebook" class="border-box-sizing">
<div id="notebook-container">
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h1 id="Решение-систем-линейных-уравнений-в-Python">Решение систем линейных уравнений в Python<a class="anchor-link" href="#Решение-систем-линейных-уравнений-в-Python">¶</a></h1>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="Пример-1.-Система-2-уравнений">Пример 1. Система 2 уравнений<a class="anchor-link" href="#Пример-1.-Система-2-уравнений">¶</a></h2><p>Рассмотрим простую систему из 2 линейных уравнений с 2 неизвестными:</p>
\begin{matrix}
2x+5y=1 &(1)
\\
x-10y=3 &(2)
\end{matrix}
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="Аналитическое-решение">Аналитическое решение<a class="anchor-link" href="#Аналитическое-решение">¶</a></h3><p>Система легко решается аналитически. Для этого достаточно выразить из уравнения (2) переменную x:</p>
\begin{matrix}
x=3 + 10y &(3)
\end{matrix}<p>После чего подставить её в уравнение (1):
\begin{matrix}
2\cdot(3 + 10y)+5y=1,
\end{matrix}
и решить получившееся линейное уравнение относительно переменной y:
\begin{matrix}
25y+6=1 \
\end{matrix}</p>
\begin{matrix}
25y=-5 \\
\end{matrix}\begin{matrix}
y=-0.2
\end{matrix}<p>Полученное значение y можно подставить в выражение для x в уравнение (3):
\begin{matrix}
x=3 + 10\cdot (-0.2)
\end{matrix}
и получить значение переменной x:
\begin{matrix}
x=1
\end{matrix}
Таким образом <strong>решением системы будет: (1; -0,2)</strong></p>
<p><em>(1-е значение в ответе - x, 2-е - y)</em></p>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="Решение-матричным-методом-(python-numpy)">Решение матричным методом (python numpy)<a class="anchor-link" href="#Решение-матричным-методом-(python-numpy)">¶</a></h3><p>Запишем исходную систему уравнений в виде матрицы (левая часть) и вектора (правая часть):
\begin{matrix}
2x+5y=1
\\
x-10y=3
\end{matrix}</p>
<p>Для этого выпишем по порядку все коэффициенты перед неизвестными в матрицу.</p>
<p>Коэффициент перед переменной х 1й строки на место в матрице с координатами 0,0. (2)</p>
<p>Коэффициент перед переменной y 1й строки на место в матрице с координатами 0,1. (5)</p>
<p>Коэффициент перед переменной х 2й строки на место в матрице с координатами 1,0. (1)</p>
<p>Коэффициент перед переменной y 2й строки на место в матрице с координатами 1,1. (-10)</p>
\begin{pmatrix}
2& 5
\\
1 & -10
\end{pmatrix}<p>Значение свободного члена (число, не умноженное ни на одну переменную системы) после знака равенства 1й строки на место 0 в векторе.</p>
<p>Значение свободного члена 2й строки на место 1 в векторе.</p>
\begin{pmatrix}
1
\\
3
\end{pmatrix}<p>Для этого воспользуемся numpy массивами:</p>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [1]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span class="kn">import</span> <span class="nn">numpy</span> <span class="c1"># импортируем библиотеку </span>
<span class="n">M1</span> <span class="o">=</span> <span class="n">numpy</span><span class="o">.</span><span class="n">array</span><span class="p">([[</span><span class="mf">2.</span><span class="p">,</span> <span class="mf">5.</span><span class="p">],</span> <span class="p">[</span><span class="mf">1.</span><span class="p">,</span> <span class="o">-</span><span class="mf">10.</span><span class="p">]])</span> <span class="c1"># Матрица (левая часть системы)</span>
<span class="n">v1</span> <span class="o">=</span> <span class="n">numpy</span><span class="o">.</span><span class="n">array</span><span class="p">([</span><span class="mf">1.</span><span class="p">,</span> <span class="mf">3.</span><span class="p">])</span> <span class="c1"># Вектор (правая часть системы)</span>
<span class="c1">#Запишем все числа с точкой, т.к. иначе в Python 2 они будут участвовать в целочисленных операциях (остатки от деления будут отбрасываться)</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>Для решения системы воспользуемся функцией numpy.linalg.solve модуля numpy (документация - <a href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.linalg.solve.html">http://docs.scipy.org/doc/numpy/reference/generated/numpy.linalg.solve.html</a>). Функция принимает на вход 2 параметра:</p>
<p>1й - матрица коэффициентов перед переменными</p>
<p>2й - вектор свободных членов</p>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [2]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span class="n">numpy</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">solve</span><span class="p">(</span><span class="n">M1</span><span class="p">,</span> <span class="n">v1</span><span class="p">)</span>
</pre></div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area"><div class="prompt output_prompt">Out[2]:</div>
<div class="output_text output_subarea output_execute_result">
<pre>array([ 1. , -0.2])</pre>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>Обратим внимание, что ответом так же является numpy массив!</p>
<p>при этом порядок следования ответов в массиве соответствует порядку столбцов исходной матрицы. Т.е. на 0 месте находится x=1, т.к. мы в матрице внесли в 0 столбец коэффициенты перед переменной х!</p>
<p><strong>Ответ: (1; -0,2)</strong></p>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<p><br></p>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="Пример-2.-Система-4-уравнений">Пример 2. Система 4 уравнений<a class="anchor-link" href="#Пример-2.-Система-4-уравнений">¶</a></h2><p>Рассмотрим простую систему из 2 линейных уравнений с 2 неизвестными:
\begin{matrix}
A + C = 2 &(4)
\\
-A + B - 2C + D = -2 &(5)
\\
4A + C - 2D = 0 &(6)
\\
-4A + 4B + D = 5 &(7)
\end{matrix}</p>
<p>Для наглядности решения данной системы матричным методом запишем её в таком виде, чтобы каждое уравнение содержало все 4 переменных, и чтобы они занимали в каждой строке одно и то же порядковое место (А - 0, B - 1, C - 2, D - 3):</p>
\begin{matrix}
A + 0B + C + 0D = 2 &(8)
\\
-A + B - 2C + D = -2 &(9)
\\
4A + 0B + C - 2D = 0 &(10)
\\
-4A + 4B + 0C + D = 5 &(11)
\end{matrix}<p>теперь аналогично примеру 1 выпишем матрицу (коэффициенты перед переменными из левой части системы построчно в порядке следования переменных) и вектор (свободные члены из правой части системы):</p>
\begin{pmatrix}
1 & 0 & 1 & 0
\\
-1 & 1 & -2 & 1
\\
4 & 0 & 1 & -2
\\
-4 & 4 & 0 & 1
\end{pmatrix}\begin{pmatrix}
2
\\
-2
\\
0
\\
5
\end{pmatrix}
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [3]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span class="kn">import</span> <span class="nn">numpy</span> <span class="c1"># импортируем библиотеку </span>
<span class="n">M2</span> <span class="o">=</span> <span class="n">numpy</span><span class="o">.</span><span class="n">array</span><span class="p">([[</span><span class="mf">1.</span><span class="p">,</span> <span class="mf">0.</span><span class="p">,</span> <span class="mf">1.</span><span class="p">,</span> <span class="mf">0.</span><span class="p">],</span> <span class="p">[</span><span class="o">-</span><span class="mf">1.</span><span class="p">,</span> <span class="mf">1.</span><span class="p">,</span> <span class="o">-</span><span class="mf">2.</span><span class="p">,</span> <span class="mf">1.</span><span class="p">],</span> <span class="p">[</span><span class="mf">4.</span><span class="p">,</span> <span class="mf">0.</span><span class="p">,</span> <span class="mf">1.</span><span class="p">,</span> <span class="o">-</span><span class="mf">2.</span><span class="p">],</span> <span class="p">[</span><span class="o">-</span><span class="mf">4.</span><span class="p">,</span> <span class="mf">4.</span><span class="p">,</span> <span class="mf">0.</span><span class="p">,</span> <span class="mf">1.</span><span class="p">]])</span> <span class="c1"># Матрица (левая часть системы)</span>
<span class="n">v2</span> <span class="o">=</span> <span class="n">numpy</span><span class="o">.</span><span class="n">array</span><span class="p">([</span><span class="mf">2.</span><span class="p">,</span> <span class="o">-</span><span class="mf">2.</span><span class="p">,</span> <span class="mf">0.</span><span class="p">,</span> <span class="mf">5.</span><span class="p">])</span> <span class="c1"># Вектор (правая часть системы)</span>
<span class="n">numpy</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">solve</span><span class="p">(</span><span class="n">M2</span><span class="p">,</span> <span class="n">v2</span><span class="p">)</span>
</pre></div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area"><div class="prompt output_prompt">Out[3]:</div>
<div class="output_text output_subarea output_execute_result">
<pre>array([ 0., 1., 2., 1.])</pre>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p><strong>Ответ: (0; 1; 2; 1)</strong></p>
<p><em>A = 0, B = 1, C =2, D = 1</em></p>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<p><br></p>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="Пример-3.-Система-3-уравнений-(с-приведением-к-линейному-виду)">Пример 3. Система 3 уравнений (с приведением к линейному виду)<a class="anchor-link" href="#Пример-3.-Система-3-уравнений-(с-приведением-к-линейному-виду)">¶</a></h2><p>Матричный метод применим только для решения линейных уравнений. Однако иногда можно встретить нелинейные уравнения, легко приводимые к линейной форме, например:</p>
\begin{matrix}
2x_{1}+x_{2}^2+x_{3} = 2 &(12)
\\
x_{1}-x_{2}^2 = -2 &(13)
\\
3x_{1}-x_{2}^2+2x_{3} = 2 &(14)
\end{matrix}<p>Можно заметить, что переменная x2 входит во все 3 уравнения только в квадратичной форме. Это означает, что мы можем осуществить замену:</p>
\begin{matrix}
x_{2}^2 = a &(15)
\end{matrix}<p>С учётом этой подстановки запишем систему, аналогично примеру 2 с вхождением всех 3 переменных:</p>
\begin{matrix}
2x_{1}+a+x_{3} = 2 &(16)
\\
x_{1}-a+0x_{3} = -2 &(17)
\\
3x_{1}-a+2x_{3} = 2 &(18)
\end{matrix}<p>Для новой системы мы уже умеем записывать матрицу (коэффициенты перед переменными из левой части системы) и вектор (свободные члены из правой части):</p>
\begin{pmatrix}
2 & 1 & 1
\\
1 & -1 & 0
\\
3 & -1 & 2
\end{pmatrix}\begin{pmatrix}
2
\\
-2
\\
2
\end{pmatrix}
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [4]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span class="kn">import</span> <span class="nn">numpy</span> <span class="c1"># импортируем библиотеку </span>
<span class="n">M3</span> <span class="o">=</span> <span class="n">numpy</span><span class="o">.</span><span class="n">array</span><span class="p">([[</span><span class="mf">2.</span><span class="p">,</span> <span class="mf">1.</span><span class="p">,</span> <span class="mf">1.</span><span class="p">],</span> <span class="p">[</span><span class="mf">1.</span><span class="p">,</span> <span class="o">-</span><span class="mf">1.</span><span class="p">,</span> <span class="mf">0.</span><span class="p">],</span> <span class="p">[</span><span class="mf">3.</span><span class="p">,</span> <span class="o">-</span><span class="mf">1.</span><span class="p">,</span> <span class="mf">2.</span><span class="p">]])</span> <span class="c1"># Матрица (левая часть системы)</span>
<span class="n">v3</span> <span class="o">=</span> <span class="n">numpy</span><span class="o">.</span><span class="n">array</span><span class="p">([</span><span class="mf">2.</span><span class="p">,</span> <span class="o">-</span><span class="mf">2.</span><span class="p">,</span> <span class="mf">2.</span><span class="p">])</span> <span class="c1"># Вектор (правая часть системы)</span>
<span class="n">numpy</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">solve</span><span class="p">(</span><span class="n">M3</span><span class="p">,</span> <span class="n">v3</span><span class="p">)</span>
</pre></div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area"><div class="prompt output_prompt">Out[4]:</div>
<div class="output_text output_subarea output_execute_result">
<pre>array([-1., 1., 3.])</pre>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>Мы получили промежуточный результат:</p>
<p>$x_{1}= -1, a= 1, x_{3}= 3,$</p>
<p>или</p>
<p>$x_{1}= -1, x_{2}^2= 1, x_{3}= 3,$</p>
<p>$x_{2}^2=1$ соответствует 2 значениям $x_{2}$: 1 и -1.</p>
<p>Таким образом мы получаем 2 решения нашей системы: $x_{1}= -1, x_{2}= 1, x_{3}= 3,$ и $x_{1}= -1, x_{2}= -1, x_{3}= 3,$</p>
<p><strong>Ответ: (-1; 1; 3) и (-1; -1; 3)</strong></p>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<p><br></p>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="Пример-4.-Решение-простой-задачи-с-помощью-системы-линейных-уравнений.">Пример 4. Решение простой задачи с помощью системы линейных уравнений.<a class="anchor-link" href="#Пример-4.-Решение-простой-задачи-с-помощью-системы-линейных-уравнений.">¶</a></h3><p>Навстречу друг другу из одного города в другой, расстояние между которыми составляет 30 км, едут два велосипедиста. Предположим, что если велосипедист 1 выедет на 2 ч раньше своего товарища, то они встретятся через 2,5 часа после отъезда велосипедиста 2; если же велосипедист 2 выедет 2мя часами ранее велосипедиста 1, то встреча произойдет через 3 часа после отъезда первого. С какой скоростью движется каждый велосипедист?</p>
<p>Обозначим за неизвестные x и y скорости велосипедистов.</p>
<p>Путь = скорость * время</p>
<p>Расстояние между велосипедистами = путь 1 велосипедиста + путь 2 велосипедиста</p>
<p>На основании этих простых рассуждений и данных задачи можно записать уравнения:</p>
\begin{matrix}
(2.5 + 2)x+2.5y=30 &(19)
\\
3x + (3+2)y=30 &(20)
\end{matrix}<p>или</p>
\begin{matrix}
4.5x+2.5y=30 &(21)
\\
3x + 5y=30 &(22)
\end{matrix}<p>Аналогично примеру 1 легко составим матрицу коэффициентов перед неизвестными (левая часть системы) и вектор со свободными членами (права часть системы):</p>
\begin{pmatrix}
4.5& 2.5
\\
3 & 5
\end{pmatrix}\begin{pmatrix}
30
\\
30
\end{pmatrix}
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [5]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span class="kn">import</span> <span class="nn">numpy</span> <span class="c1"># импортируем библиотеку </span>
<span class="n">M4</span> <span class="o">=</span> <span class="n">numpy</span><span class="o">.</span><span class="n">array</span><span class="p">([[</span><span class="mf">4.5</span><span class="p">,</span> <span class="mf">2.5</span><span class="p">],</span> <span class="p">[</span><span class="mf">3.</span><span class="p">,</span> <span class="mf">5.</span><span class="p">]])</span> <span class="c1"># Матрица (левая часть системы)</span>
<span class="n">v4</span> <span class="o">=</span> <span class="n">numpy</span><span class="o">.</span><span class="n">array</span><span class="p">([</span><span class="mf">30.</span><span class="p">,</span> <span class="mf">30.</span><span class="p">])</span> <span class="c1"># Вектор (правая часть системы)</span>
<span class="n">numpy</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">solve</span><span class="p">(</span><span class="n">M4</span><span class="p">,</span> <span class="n">v4</span><span class="p">)</span>
</pre></div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area"><div class="prompt output_prompt">Out[5]:</div>
<div class="output_text output_subarea output_execute_result">
<pre>array([ 5., 3.])</pre>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p><strong> Ответ: 5км/ч и 3км/ч</strong></p>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<p><br></p>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="Пример-5.-Нахождение-уравнения-плоскости-по-точкам,-через-которые-она-проходит.">Пример 5. Нахождение уравнения плоскости по точкам, через которые она проходит.<a class="anchor-link" href="#Пример-5.-Нахождение-уравнения-плоскости-по-точкам,-через-которые-она-проходит.">¶</a></h3><p>Уравнение плоскости в 3-х мерном пространстве задаётся уравнением:
\begin{matrix}
z = ax + by + c & (23)
\end{matrix}
Уравнение плоскости однозначно задаётся 3 точками через которые она проходит.</p>
<p>Таким образом легко понять, что если мы знаем координаты точек, через которые проходит плоскость, то в уравнении (23) у вас 3 переменных: a, b, c. А значения x, y, z нам известны для 3 точек.</p>
<p>Если плоскость проходит через точки (1;-6;1), (0;-3;2) и (-3;0;-1), то мы легко можем найти коэффициенты, подставив значения соответствующих координат для всех 3 точек в уравнение (23) и получив систему из 3 уравнений.</p>
<p>Для точки x = 1, y = -6, z = 1:
\begin{matrix}
a\cdot 1 + b\cdot (-6) + c = 1 &(24)
\end{matrix}</p>
<p>Для точки x = 0, y = -3, z = 2:
\begin{matrix}
a\cdot 0 + b\cdot (-3) + c = 2 &(25)
\end{matrix}</p>
<p>Для точки x = -3, y = 0, z = -1:
\begin{matrix}
a\cdot (-3) + b\cdot 0 + c = -1 &(26)
\end{matrix}</p>
<p>На основании системы уравнений (24), (25), (26) можно записать матрицу коэффициентов перед неизвестными (левая часть матрицы):</p>
\begin{pmatrix}
1& -6 & 1
\\
0 & -3 & 1
\\
-3 & 0 & 1
\end{pmatrix}<p>И вектор свободных членов (правая часть):
\begin{pmatrix}
1
\
2
\
-1
\end{pmatrix}</p>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [6]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span class="kn">import</span> <span class="nn">numpy</span> <span class="c1"># импортируем библиотеку </span>
<span class="n">M5</span> <span class="o">=</span> <span class="n">numpy</span><span class="o">.</span><span class="n">array</span><span class="p">([[</span><span class="mf">1.</span><span class="p">,</span> <span class="o">-</span><span class="mf">6.</span><span class="p">,</span> <span class="mf">1.</span><span class="p">],</span> <span class="p">[</span><span class="mf">0.</span><span class="p">,</span> <span class="o">-</span><span class="mf">3.</span><span class="p">,</span> <span class="mi">1</span><span class="p">],</span> <span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">]])</span> <span class="c1"># Матрица (левая часть системы)</span>
<span class="n">v5</span> <span class="o">=</span> <span class="n">numpy</span><span class="o">.</span><span class="n">array</span><span class="p">([</span><span class="mf">1.</span><span class="p">,</span> <span class="mf">2.</span><span class="p">,</span> <span class="o">-</span><span class="mf">1.</span><span class="p">])</span> <span class="c1"># Вектор (правая часть системы)</span>
<span class="n">numpy</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">solve</span><span class="p">(</span><span class="n">M5</span><span class="p">,</span> <span class="n">v5</span><span class="p">)</span>
</pre></div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area"><div class="prompt output_prompt">Out[6]:</div>
<div class="output_text output_subarea output_execute_result">
<pre>array([ 2., 1., 5.])</pre>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p><strong>Ответ: уравнение искомой плоскости в пространстве задаётся уравнением $z = 2x + y + 5$</strong></p>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<p><br></p>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="Пример-6.-Нахождение-уравнения-параболы-по-2-точкам-и-касательной">Пример 6. Нахождение уравнения параболы по 2 точкам и касательной<a class="anchor-link" href="#Пример-6.-Нахождение-уравнения-параболы-по-2-точкам-и-касательной">¶</a></h3><p>Найти уравнение параболы ($f(x) = ax^2 + bx + x & (27)$), проходящей через точки (1,1) и (-1,1) и касающейся биссектрисы 1й координатной четверти.</p>
<p>Как и в предыдущем примере неизвестными для нас являются коэффициенты a, b, c.</p>
<p>Подставив в уравнение параболы (27) значения аргумента (x) и функции (f(x)) получим 2 уравнения:</p>
\begin{matrix}
a\cdot 1^2 + b\cdot 1 + c = 1 &(28)
\\
a\cdot (-1)^2 + b\cdot (-1) + c = 1 &(29)
\end{matrix}<p>Однако для нахождения 3 неизвестных 2 уравнений мало. Необходимо найти ещё одно из оставшихся условий.</p>
<p>Касание биссектрисы 1й координатной четверти означает, что наша парабола имеет касательную $y = x$. Если посмотреть на условие задачи, то мы увидим, что одна из точек (1, 1) лежит на этой прямой. Это означает, что мы знаем точку касания.</p>
<p>Уравнение прямой, делящей 1-ю координатную четверть пополам (биссектрисы) имеет вид $y = kx \quad (30)$</p>
<p>При этом мы знаем, что угол уравнения касательной (коэффициент k уравнения (30)) равен производной от функции (27) в точке касания.</p>
\begin{matrix}
f'(x) = 2ax + bx & (31)
\end{matrix}<p>Подставив значение аргумента (x = 1) в точке касания и коэффициента (k = 1 в качестве производной f'(x))</p>
\begin{matrix}
1 = 2a\cdot1 + b\cdot1 & (32)
\end{matrix}<p>Используя уравнения (28), (29) и (32), запишем полную систему уравнений, которую нам необходимо решить:</p>
\begin{matrix}
a\cdot 1 + b\cdot 1 + c \cdot 1 = 1 &(33)
\\
a\cdot 1 + b\cdot (-1) + c \cdot 1 = 1 &(34)
\\
a\cdot 2 + b\cdot 1 + c \cdot 0 = 1 &(35)
\end{matrix}<p>По привычной уже схеме запишем коэффициенты перед переменными (левую часть системы) в матрицу, а свободные члены (правую часть) в вектор:</p>
\begin{pmatrix}
1& 1 & 1
\\
1 & -1 & 1
\\
2 & 1 & 0
\end{pmatrix}\begin{pmatrix}
1
\\
1
\\
1
\end{pmatrix}
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [7]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span class="kn">import</span> <span class="nn">numpy</span> <span class="c1"># импортируем библиотеку </span>
<span class="n">M6</span> <span class="o">=</span> <span class="n">numpy</span><span class="o">.</span><span class="n">array</span><span class="p">([[</span><span class="mf">1.</span><span class="p">,</span> <span class="mf">1.</span><span class="p">,</span> <span class="mf">1.</span><span class="p">],</span> <span class="p">[</span><span class="mf">1.</span><span class="p">,</span> <span class="o">-</span><span class="mf">1.</span><span class="p">,</span> <span class="mi">1</span><span class="p">],</span> <span class="p">[</span><span class="mi">2</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">]])</span> <span class="c1"># Матрица (левая часть системы)</span>
<span class="n">v6</span> <span class="o">=</span> <span class="n">numpy</span><span class="o">.</span><span class="n">array</span><span class="p">([</span><span class="mf">1.</span><span class="p">,</span> <span class="mf">1.</span><span class="p">,</span> <span class="mf">1.</span><span class="p">])</span> <span class="c1"># Вектор (правая часть системы)</span>
<span class="n">numpy</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">solve</span><span class="p">(</span><span class="n">M6</span><span class="p">,</span> <span class="n">v6</span><span class="p">)</span>
</pre></div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area"><div class="prompt output_prompt">Out[7]:</div>
<div class="output_text output_subarea output_execute_result">
<pre>array([ 0.5, -0. , 0.5])</pre>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p><strong>Ответ: уравнение искомой параболы задаётся функцией $f(x) = 0.5x^2 + 0.5$</strong></p>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h4 id="Примечание-к-примеру-6">Примечание к примеру 6<a class="anchor-link" href="#Примечание-к-примеру-6">¶</a></h4><p>На иллюстрации ниже изображены графики параболы и биссектрисы, которой она касается. А так же 2 точки, через которых проходит парабола.</p>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [8]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span class="kn">import</span> <span class="nn">numpy</span>
<span class="kn">import</span> <span class="nn">matplotlib</span> <span class="k">as</span> <span class="nn">mpl</span>
<span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
<span class="o">%</span> <span class="n">matplotlib</span> <span class="n">inline</span>
<span class="n">mpl</span><span class="o">.</span><span class="n">rc</span><span class="p">(</span><span class="s1">'font'</span><span class="p">,</span> <span class="n">family</span><span class="o">=</span><span class="s1">'Verdana'</span><span class="p">,</span> <span class="n">size</span><span class="o">=</span> <span class="mi">16</span><span class="p">)</span>
<span class="n">w</span> <span class="o">=</span> <span class="n">numpy</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">solve</span><span class="p">(</span><span class="n">M6</span><span class="p">,</span> <span class="n">v6</span><span class="p">)</span> <span class="c1"># запишем найденные коэффициенты в переменную</span>
<span class="k">def</span> <span class="nf">f</span><span class="p">(</span><span class="n">x</span><span class="p">):</span>
<span class="k">return</span> <span class="n">w</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">x</span><span class="o">**</span><span class="mi">2</span> <span class="o">+</span> <span class="n">w</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="n">x</span> <span class="o">+</span> <span class="n">w</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="c1"># уравнение параболы</span>
<span class="n">fig</span><span class="p">,</span> <span class="n">ax</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">subplots</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">5</span><span class="p">))</span>
<span class="n">x</span> <span class="o">=</span> <span class="n">numpy</span><span class="o">.</span><span class="n">linspace</span><span class="p">(</span><span class="o">-</span><span class="mi">2</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="mi">200</span><span class="p">)</span>
<span class="n">ax</span><span class="o">.</span><span class="n">axis</span><span class="p">([</span><span class="o">-</span><span class="mf">2.</span><span class="p">,</span> <span class="mf">2.</span><span class="p">,</span> <span class="mf">0.</span><span class="p">,</span> <span class="mf">2.</span><span class="p">])</span>
<span class="n">ax</span><span class="o">.</span><span class="n">grid</span><span class="p">()</span>
<span class="n">ax</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">f</span><span class="p">(</span><span class="n">x</span><span class="p">),</span> <span class="n">label</span> <span class="o">=</span> <span class="s1">'Парабола'</span><span class="p">)</span>
<span class="n">ax</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">x</span><span class="p">,</span> <span class="n">label</span> <span class="o">=</span> <span class="s1">'Биссектриса 1й</span><span class="se">\n</span><span class="s1">координатной четверти'</span><span class="p">)</span>
<span class="n">ax</span><span class="o">.</span><span class="n">set_xlabel</span><span class="p">(</span><span class="s1">u'x'</span><span class="p">,{</span><span class="s1">'fontname'</span><span class="p">:</span><span class="s1">'Arial'</span><span class="p">,</span> <span class="s1">'size'</span><span class="p">:</span> <span class="mi">24</span><span class="p">})</span>
<span class="n">ax</span><span class="o">.</span><span class="n">set_ylabel</span><span class="p">(</span><span class="s1">u'f(x)'</span><span class="p">,{</span><span class="s1">'fontname'</span><span class="p">:</span><span class="s1">'Arial'</span><span class="p">,</span> <span class="s1">'size'</span><span class="p">:</span> <span class="mi">24</span><span class="p">})</span>
<span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">([</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">],</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">],</span> <span class="s1">'ro'</span><span class="p">,</span> <span class="n">label</span> <span class="o">=</span> <span class="s1">'Точки для</span><span class="se">\n</span><span class="s1">построения графика'</span><span class="p">)</span>
<span class="n">ax</span><span class="o">.</span><span class="n">annotate</span><span class="p">(</span><span class="s1">'Точка</span><span class="se">\n</span><span class="s1">касания'</span><span class="p">,</span> <span class="n">xy</span><span class="o">=</span><span class="p">(</span><span class="mf">1.</span><span class="p">,</span> <span class="mf">1.</span><span class="p">),</span> <span class="n">xytext</span><span class="o">=</span><span class="p">(</span><span class="mf">1.5</span><span class="p">,</span> <span class="mf">0.5</span><span class="p">),</span>
<span class="n">arrowprops</span><span class="o">=</span><span class="nb">dict</span><span class="p">(</span><span class="n">facecolor</span><span class="o">=</span><span class="s1">'black'</span><span class="p">,</span> <span class="n">shrink</span><span class="o">=</span><span class="mf">0.05</span><span class="p">),</span>
<span class="p">)</span>
<span class="n">ax</span><span class="o">.</span><span class="n">legend</span><span class="p">(</span><span class="n">bbox_to_anchor</span><span class="o">=</span><span class="p">(</span><span class="mf">1.6</span><span class="p">,</span> <span class="mf">1.</span><span class="p">))</span>
<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA7sAAAFbCAYAAAAUQZldAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
AAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl8TFf/wPHPHRKRWCIoqpZYaq99rWoSS7W2R1VR6iHW
hkTtRe3aX0OoUrvQUKoPj63WEiK22mlj12rQ1C6WWpOc3x8j8xhzJ5msM0m+79drXpp7zz33O99M
J/Ode865mlIKIYQQQgghhBAiMzHYOwAhhBBCCCGEECK1SbErhBBCCCGEECLTkWJXCCGEEEIIIUSm
I8WuEEIIIYQQQohMR4pdIYQQQgghhBCZjhS7QgghhBBCCCEyHYcrdjVNq6BpWoimaRGapt3XNC1K
07S1mqZVsvH4opqm/ahp2i1N0/7RNG2PpmkN0zpuIYQQQgghhBCOw+GKXcAHqAwsAj4EPgcqAvs1
TSud0IGapjkDO4EqwACgE3AH2KppWvm0DFoIIYQQQgghhOPQlFL2jsGMpmkeSqnbL217AzgOfKGU
Gp3Asd2BBUBZpdTF59uyAaeBvUqp7mkXuRBCCCGEEEIIR+FwV3ZfLnSfu/D8X/dEDm8CRMQXus/7
iwU2Au+kToRCCCGEEEIIIRydwxW7VtR7/u+pRNq9DlzW2X4RKKRpWq5UjUoIIYQQQgghhENy+GJX
07TswJdANLA8keZ5gQc62+O3JXZlWAghhBBCCCFEJpDd3gHYYD5QC2ivlLprQ/tYnW3a838da4Ky
EEIIIYQQQog04dDFrqZpM4CugJ9Sao0Nh9wFcupsz/XCfr3zSBEshBBCiAxDKaUl3koIIbI2hxzG
rBnNB/oC3ZRS82089Bygd4uhisB1pZTeEGcAlFIO9XjyRPH664oNG+wXw9ixY+2eB0d8SF4kL5IT
yYvkJfPnpUMHxdix9n/+8Y/frv1G4aDCLP81sRldQggh4jlcsatpWg5gFcZ75P5LKfW9lXalNE0r
99Lm7UB5TdPKvtAuO9AM2JpGIacJZ2f45hsYOBCePLFPDH/++ad9TuzgJC/6JC+WJCf6JC/6JC/6
7JGX3bth3z4YNizdT60r4noETZc2ZVqzaXSq0sne4QghRIbhcMUusBhoA3wBPNE0rfFLD+fn7XZg
uTrzD8AfwBpN0z7SNK01sBp4BZicTvGnmubNoXx5Y9ErhBBCiLQXGwsDBsDkyeDqau9opNAVQoiU
cMQ5u0UwLij1hZX9nsAljItNmc21VUo91jTNB5gKfAvkAI4BzZRSid22yCFNmwb16kGXLvDqq+l7
7m7duqXvCTMIyYs+yYslyYk+yYs+yYu+9M7L4sXGIrdDh3Q9rS4pdIUQImU0pWRtJk3TlCPnYeRI
uHIFliyxdyRCCCFE5nX3LpQrBxs3Qs2a9o0loUJX0zSULFAlhBCJcsRhzOIlI0fCjh2wf3/6njcs
LCx9T5hBSF70SV4sSU70SV70SV70pWdeJk6Eli0du9AVQghhO0ccxixekisXBAaCvz8cPAgG+YpC
CCGESFVnz8J338HJk/aNQwpdIYRIPTKMGccfxgygFDRsCL6+0KOHvaMRQgghMg+l4J13jAtDDhpk
vzhsLXRlGLMQQthGil0yRrELcPQovPcenDkD7u72jkYIIYTIHP77Xxg7Fo4dAycn+8SQlCu6qVXs
5syZ8+rjx48LpbQfIYSwNxcXl2uPHj0q/PJ2GRCbgdSoAW3awPjx6XM+mT+mT/KiT/JiSXKiT/Ki
T/KiL63z8s8/xnvaz5qVMQrd1PT48eNCSinkIQ95yCOjP6x9cSfFbgYzaRIsWwanMuSNlIQQQgjH
8sUXxmlCb79tn/PLHF0hhEg7MoyZjDOMOd6MGbB+PWzbBprM2BFCCCGS5dw5aNAAfv01/e9lD8kv
dFNrGHNG+/wjhBDWWHtflCu7GZCfH9y4Af/5j70jEUIIITImpYx3ORgxImMVukIIIWwnxW4GlD07
zJkDgwfDvXtpdx6ZP6ZP8qJP8mJJcqJP8qJP8qIvrfKyZg1cuQIBAWnSfYKk0BVCiPQhxW4G1aAB
NGsG48bZOxIhhBAiY7HnolRS6AohRPqRObtk3DkrN25ApUoQGgpVqtg7GiGEECJjGDUK/vgDfvgh
fc+bWoWuzNkVQghz1t4XpdglY7/Zz5sHS5dCeDgY5Dq9EEIIkaD4RalOnICiRdPvvKl5RVeKXSGE
MCcLVGVSPXvC06ewZEnq9y3zx/RJXvRJXixJTvRJXvRJXvSlZl6UMs7R/eyzjFvoCpEUjx49sncI
QtiVFLsZXLZsMHu28Q/3nTv2jkYIIYRwXGvXwuXLMGBA+p1TCl3HFRkZicFgsOkRYI+VzJLg0aNH
LFy4kA8//JAqVaqQL18+nJycqFSpkr1DE8KuZBgzmWMYT79+xm+sZ8+2dyRCCCGE43n4ECpUgO++
A2/v9DlnWhW6Mow5dURGRuLp6Unp0qVp27atbpvLly/zn//8h379+jFjxox0jtA2v/zyC+3atePG
jRtUrFiR4sWLU7RoUdzc3ChQoACfffaZvUMUIs1Ze1/Mbo9gROqbNAkqVoTu3aF2bXtHI4QQQjiW
L76A+vUzfqErUl+FChWYPHmy7r5du3bx448/pnNEtrt79y6tW7emWbNmzJw5k3z58tk7JCEcigxj
ziTy5YOvvgI/P4iNTZ0+Zf6YPsmLPsmLJcmJPsmLPsmLvtTIy+nTxgUdp05NeTy2kEI3c9uwYQON
GzemVKlSuLm5kTNnTl5//XUGDRrEnZfmlMUPlW7dujUHDhygVatWeHh4kCtXLho3bszx48ct+h84
cCC1atWiSJEiODs74+7uzptvvklISIhF26VLl/L48WO6du3Kxx9/TL58+XBzc6Nhw4asX79eN/6o
qCh69+7Na6+9Ro4cOShRogT+/v7cvHlTt72Xl5fV4d2+vr5mbRctWkSjRo0oUaIEOXPmxM3NjcqV
KzNu3DgeP35sa4qFSDVyZTcT6doVgoNhwQLo29fe0QghhBD2p5Txb+LYsemzKJUUupnfgQMHuHDh
ArVr1+bVV18lLi6OY8eOMX36dMLCwjh06BDZsmUzO2bnzp1s3LiRevXq0blzZy5cuMDWrVvx9vbm
6NGjeHp6mtquXbuWggUL0rRpUwoUKMCdO3fYvn073bt35+bNmwwePNjUdvXq1Tx69IgWLVrg4+ND
165d+fPPP9m6dSv/+te/mD9/Pj179jS1j4yMpH79+ly7dg0vLy9at27NyZMnmTVrFps3b2bfvn28
8sorZrFrmkaxYsXo0KGDadu1a9f4/vvvLXITFhbG1atXqV+/PoULF+bJkyfs37+fCRMmcOTIEX76
6acU51+IJFFKZfmHMQ2Zw6+/KlWwoFLXrtk7EiGEEML+Fi1SqlYtpWJi0v5cv137TRUOKqyW/7o8
Tc/z/HOLfP5JoT///FNpmqZatWpltU1YWJjSNE35+/ubtj169Ei3bbdu3ZTBYFCbN2+2OMerr76q
tm7datZ+2rRpStM01b17d7Ptev3fvn1beXh4qEKFCpm2xcXFKTc3N/X666+rU6dOmbU/ePCgcnFx
Ubly5VK3b982bW/evLkyGAxq2bJlZu3nzp2rNE1TnTp1sji3l5eX8vb2Ntt2+PBhm2OPi4tTPj4+
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
u3btKFOmDD/++CMzZszgl19+YdSoUQwbNiz5+IULF/Lnn38yYMAAihUrBkBERESqa77++uu8+uqr
XHfddXTv3p3vv/+eJUuWsHHjRn744QdKly6dfGzXrl1ZuHAhVatWpUuXLhw7dozPPvuM6667jjff
fJM77rgj+di4uDhat27NV199RZMmTejZsydHjx7lo48+ok2bNrz77ru0b98+23E2xmBchtRNnDiR
devWpXvtn3/+oVmzZvz++++0bduWWrVqJR8zfvz4LL93kSJFGDx4MGlHMtStWzdV/Ro2bEjp0qW5
4YYbOH36NMuWLWPw4MGcPn2aoUOHJp+3du1afvvtN6688krOP/98EhIS+O6773jppZeIjo5m/fr1
BAUFJR8/aNAgXn31VapVq8Zdd93F/v372blzJ+B8gXLDDTdw5MgR/u///o+bbrqJFStW0Lhx40zv
Kz4+np49e5KQkOB6z2ljOnPmTIYNG8bll1/ObbfdRqVKlZJfe//99ylXrhxRUVFERkZy5MgRli9f
Ts+ePTl48CAPPfSQd8H2R9baQv9wwiCFyfbt1l5wgbVvveXrmoiIZN3p09Zee/uPNvTR8+yb3y/w
dXUknyX+3aK/f3IgOjraGmPs/fff79VrJ06csBERETYyMtLGxMQkl585c8Z269bNejweO3369OTy
mJgYGxISYqtXr27379+f6vo///yzHTNmTLr3bdGihfV4PPbQoUMZ1uniiy+269evT/XaAw88YD0e
jx07dmxy2cKFC60xxnbo0MH++++/yeXbtm2zF154oS1VqlSq9xk5cqQNCgqyb7/9dqpr79u3z1ao
UMFWq1YtVbkxxl566aXp6pnRaz169LAej8du2LAhuezXX3+1xYsXt0WLFrUej8euXLky+bXZs2dn
+N8ns/d2U7lyZRsWFpbpMUmxHz16dKp47dixw5YpU8aWKlXKnjhxIrk8NjbW9TpJ97ls2bLksvXr
11tjjL322mtTnZf0nocPH04uW7x4cfKxKbnd81NPPWWDg4NtcHCwrVKlSqrXnnjiCevxeOz//d//
WWutPX36tD3//PNttWrVUt1fZvdz+PBhGx4ebitUqOB6r/4mo8/FLA9jNsZUNsb0NMbMMcZEG2N+
Msb8aYzZZoz5KrG8rzGmcm4m5ZL/AnlvwypVYNkyGDwYPvooa+cGclxyQnFJTzFxp7i48zYu1sLt
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
jzJ69Ohs1Tclay1Tp07l9ttvp0OHDuc8fsmSJYwcOZL27dszduzYHL+/N9LG99NPP+Wjjz7iqquu
4tJLLwWgRo0arl98bNmyhSlTpqTr3e3QoQPWWsaPH3/OYdjTp0/nzz//pHv37ule27x5MytXrmT6
9OleD4kGZ/GppUuXcvXVV/Pee++laidJ9xMfH588zzzJ3Llz0+2LXCC5LdFc2B4U4qX3Jb0xY6y9
9FJrDx70dU1EpLCb9u6P1vPwefbpD7S9kJyFth7KsaxuPWSttUuWLLFFihSxxYsXt7fccovt06eP
rV27tvV4PLZt27Y2ISEh1fEjRoywHo/HhoeH227dutlBgwbZ6667zgYFBdlbb7013ft6s/WQx+Ox
DRo0sH369LH33XefrVKlivV4PLZ///7pzuncubP1eDy2SpUqtlevXrZTp062VKlSNjg42C5YkPoz
5fjx47Zx48bW4/HY8uXL206dOtlBgwbZtm3b2hIlSliPx5Pq+OxsPWSMsZGRkfbAgQOpXhs0aFC6
rYe+++47W6JECVu3bl17/Phxr9/bjbdbDxljbKlSpWynTp3sAw88YDt06GCDg4NtZGSk3bx5c/Kx
p06dsnXr1rUej8e2atXK3n///bZDhw42NDTUhoeHW4/HYydMmJB8fHx8vG3SpIn1eDy2YcOG9v77
77c33nijDQkJsR6Px15xxRV28ODBtl27dtbj8dhq1arZI0eOpLtnj8dju3Xrlq7uJUuWdN16yBiT
vPWQtdYeO3bMNmrUyBpj7PDhw5PLV69ebT0ejw0LC7Pdu3e3AwYMsPXr17chISE2LCwswzbpbzL6
XMzS1kPGmPSzmjM//tyDyTM/v60xJsEY43U9jTEXGGPeNsYcMsacMMasNsZonV3x2pgxzvzdNm0g
ce0GEZF898bHMQz4OorHr5rIqJvVoyuS24wxrnMsM3qtffv2rFq1iuuuu45Vq1Yxb948goKCeO65
51iyZEm645999lkWL15MgwYN+PDDD5k9ezZ79uzhvvvu45lnnsnwfTPTunVratasyUcffcScOXMo
WbIkU6ZMcV2Rd+HChbz00kuULl2at956i+XLl3P11Vfz+eefc9ddqT9TSpQowapVq5g4cSJVq1bl
s88+Y8aMGcTExNCpUyeWLVuWpbq6vWaM4cUXX6RcuXKZ3uP+/ftp3749oaGhLFmyxHWe67nilJ3j
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
AElFTkSuQmCC
"
>
</pre>
</div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area"><div class="prompt"></div>
<div class="output_png output_subarea ">
</div>
</div>
</div>
</div>
</div>
</div>
</div>