In [1]:
%%html
<style type="text/css">
input.good:checked + label {color: green}
input.bad:checked + label {color: red}
input.good:checked + label::after {color: green; content: ' Õige vastus!'}
input.bad:checked + label::after {color: red; content: ' Vale vastus!'}
</style>

Mittelineaarse süsteemi püsipunktid

See tööleht näitab, kuidas ja millisel juhul saab uurida mittelineaarse süsteemi püsipunktide stabiilsust lineariseermise abil.

Süsteemi lineariseerimine püsipunkti ümbruses

Kui on antud üldine (mittelineaarne) n-mõõtmeline dünaamiline süsteem $\underline{\dot{x}} = f(\underline{x})$, see tähendab funktsioonid

\begin{eqnarray} \dot{x}_1 &=& f_1(x_1, \ldots, x_n)\\ \vdots &=& \vdots\\ \dot{x}_n &=& f_n(x_1, \ldots, x_n) \end{eqnarray}

ja püsipunkt $\underline{x}_*$, kus kehtib $f(\underline{x}_*) = (0, \ldots, 0)$, siis saab püsipunkti stabiilsust uurida lineariseermise abil. Selleks vaatame funktsiooni $f$ Taylori arengut püsipunkti ümbruses:

$$\begin{split} \dot{x}_i &= f_i(\underline{x})\\ &= \underbrace{f_i(\underline{x}_*)}_{= 0} + \sum_{j = 1}^{n}\left.\frac{\partial f_i}{\partial x_j}\right|_{\underline{x}_*}(x_j - x_{*j}) + \ldots\\ &= \left[\underline{\underline{J}}(\underline{x}_*) \cdot (\underline{x} - \underline{x}_*)\right]_i + \ldots \end{split}$$

Maatriks $\underline{\underline{J}}(\underline{x}_*) = \left(\left.\frac{\partial f_i}{\partial x_j}\right|_{\underline{x}_*}\right)_{ij}$ on Jacobi maatriks. Süsteem, millest on kõik liikmed peale lineaarse liikme ära jäetud, on lineariseeritud süsteem püsipunkti ümbruses. Seost mittelineaarse ja lineariseeritud süsteemi vahel kirjeldab Hartman-Grobmani teoreem.

Hartman-Grobmani teoreem

Mittelineaarse süsteemi püsipunktide uurida aitab Hartman-Grobmani teoreem:

Kui on antud üldine (mittelineaarne) $N$-mõõtmeline dünaamiline süsteem $\underline{\dot{x}} = f(\underline{x})$ ja hüperboolne püsipunkt $\underline{x}_*$ (see tähendab, et kõikide Jacobi maatriksi $\underline{\underline{J}}$ omaväärtuste reaalosad on nullist erinevad), siis on olemas püsipunkti ümbrus $U \ni \underline{x}_*$, hulk $V \subset \mathbb{R}^n$ ja homöomorfism $\phi: U \to V$, niiet kehtib

  • $\phi(\underline{x}_*) = (0, \ldots, 0)$
  • $(d\phi \circ f)(\underline{x}) = \underline{\underline{J}} \cdot \phi(\underline{x})$

kui $\underline{x} \in U$.

Hartman-Grobmani teoreemist järeldub, et hüperboolse püsipunkti stabiilsust määrab ainult Jacobi maatriks selles punktis, täpsemalt tema omaväärstuste reaalosad.

Kui Jacobi maatriksil on ka omaväärtus, mille reaalosa on null (ehk püsipunkt ei ole hüperboolne), siis tuleb ka kõrgemaid liikmeid Taylori arengust arvesse võtta, ja ainult Jacobi maatriksist ei piisa.

Interaktiivne näide: süsteemi lineariseerimine püsipunkti ümbruses

Me rakendame üleval selgitatud teooriat praktilisele näitele. Sümboolseks arvutamiseks kasutame SymPy, numbriliseks arvutamiseks NumPy ja joonistamiseks PyPlot.

In [2]:
%matplotlib inline

import matplotlib.pyplot as plt
import numpy as np
import sympy as sp
from sympy.interactive.printing import init_printing
init_printing(use_unicode=True)

Süsteemi definitsioon

Kõigepealt defineerime oma dünaamilist süsteemi. Siin valime kahemõõtmelist süsteemi, mille faasiruum on $Q = \mathbb{R}^2$, ja muutujad tähistame $x$ ja $y$-ga. Dünaamikaks valime

$$f(x, y) = \begin{pmatrix} (x - 1)(x + 1)\\ xy \end{pmatrix}.$$
In [3]:
x, y = sp.symbols('x y', real=True)
f = sp.Matrix([(x + 1) * (x - 1), x * y])
f
Out[3]:
$\displaystyle \left[\begin{matrix}\left(x - 1\right) \left(x + 1\right)\\x y\end{matrix}\right]$

Faasiportree

Järgmisena joonistame faasiportreet. Selleks konverteerime funktsiooni NumPy funktsioonideks, et neid oleks lihtsam joonistada.

In [4]:
fx, fy = [sp.lambdify((x, y), ff, 'numpy') for ff in f]

Joonistamiseks kasutame quiver ja streamplot.

In [5]:
fig = plt.figure()
ax = fig.add_subplot(111)
ax.set_aspect('equal', 'box')
ax.set_xlabel('x')
ax.set_ylabel('y')

X = np.linspace(-1.9, 1.9, 101)
Y = np.linspace(-1.9, 1.9, 101)
XX, YY = np.meshgrid(X, Y)
DX = fx(XX, YY)
DY = fy(XX, YY)
ax.streamplot(XX, YY, DX, DY, color='b')

X = np.linspace(-1.8, 1.8, 21)
Y = np.linspace(-1.8, 1.8, 21)
XX, YY = np.meshgrid(X, Y)
DX = fx(XX, YY)
DY = fy(XX, YY)
ax.quiver(XX, YY, DX, DY, color='r')

plt.show()

Püsipunktid

Püsipunktide leidmiseks lahendame süsteemi $f(x_*, y_*) = 0$. Esimene tingimus $(x_* - 1)(x_* + 1) = 0$ näitab, et $x_*$ peab olema kas $x_* = 1$ või $x_* = -1$. Teisest tingimusest siis järeldub et $y_* = 0$. Seega on püsipunktid (1, 0) ja (-1, 0).

In [6]:
fp1 = [(x, 1), (y, 0)]
fp2 = [(x, -1), (y, 0)]

Kontrollime, et püsipunktides tõepoolest kehtib $f(x_*, y_*) = 0$.

In [7]:
f.subs(fp1)
Out[7]:
$\displaystyle \left[\begin{matrix}0\\0\end{matrix}\right]$
In [8]:
f.subs(fp2)
Out[8]:
$\displaystyle \left[\begin{matrix}0\\0\end{matrix}\right]$

Jacobi maatriks ja püsipunktide stabiilsus

Lõpuks arvutame Jacobi maatriksi teatud valemi järgi.

In [9]:
J = f.jacobian([x, y])
J
Out[9]:
$\displaystyle \left[\begin{matrix}2 x & 0\\y & x\end{matrix}\right]$

Püsipunkt $(x_*, y_*) = (1, 0)$

Esimese püsipunkti juures on Jordani maatriks selline.

In [10]:
J1 = J.subs(fp1)
J1
Out[10]:
$\displaystyle \left[\begin{matrix}2 & 0\\0 & 1\end{matrix}\right]$

Omaväärtused on positiivsed, nende kordsus on 1.

In [11]:
J1.eigenvals()
Out[11]:
$\displaystyle \left\{ 1 : 1, \ 2 : 1\right\}$

Tulemus näitab, et püsipunkt $(x_*, y_*) = (1, 0)$ on ebastabiilne sõlm.

Püsipunkt $(x_*, y_*) = (-1, 0)$

Teise püsipunkti juures on Jordani maatriks selline.

In [12]:
J2 = J.subs(fp2)
J2
Out[12]:
$\displaystyle \left[\begin{matrix}-2 & 0\\0 & -1\end{matrix}\right]$

Omaväärtused on negatiivsed, nende kordsus on 1.

In [13]:
J2.eigenvals()
Out[13]:
$\displaystyle \left\{ -2 : 1, \ -1 : 1\right\}$

Tulemus näitab, et püsipunkt $(x_*, y_*) = (-1, 0)$ on stabiilne sõlm.

Küsimused

Polünoomse süsteemi püsipunktid

Uurige süsteemi $(x, y) \in Q = \mathbb{R}^2$, mille dünaamika on

$$\begin{pmatrix} \dot{x}\\ \dot{y} \end{pmatrix} = \begin{pmatrix} x^2 - y^2\\ x^2 + y^2 - 1 \end{pmatrix}.$$

Sadulad

Mitu sadulat on süsteemil?

Atraktor

Kus asub süsteemi atraktor?

Repeller

Kus asub süsteemi repeller?

Kompleksne dünaamika

Uurige süsteemi $z \in Q = \mathbb{C}$, mille dünaamika on

$$\dot{z} = (z^2 + 1)e^z.$$

Püsipunktide arv

Mitu püsipunkti on süsteemil?

Püsipunktide reaalosad

Mis on püsipunktide reaalosad $\Re z_*$?

Püsipunktide stabiilsus

Millised on püsipunktide tüübid?