{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%%html\n",
""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Üldine $N$-mõõtmeline lineaarne süsteem"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Käesolev tööleht näitab kuidas määrata üldise $N$-mõõtmelise lineaarse süsteemi püsipunkti stabiilsust, ja kuidas lahendada liikumisvõrrandeid, et leida süsteemi trajektoore."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Omaväärtused ja püsipunkti stabiilsus"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Üldisel lineaarsel süsteemil $\\underline{\\dot{x}} = \\underline{\\underline{M}} \\cdot \\underline{x}$ on alati püsipunkt $\\underline{x} = (0, \\ldots, 0)$. Püsipunkti stabiilsus sõltub maatriksi $\\underline{\\underline{M}}$ **omaväärtustest**, täpsemalt nende reaalosadest. Lineaarse süsteemi püsipunkti stabiilsuse määramisel kehtivad sellised reeglid:\n",
"\n",
"* Kui kõikide omaväärtuste reaalosad on negatiivsed, siis püsipunkt on **atraktor**.\n",
"* Kui kõikide omaväärtuste reaalosad on positiivsed, siis püsipunkt on **repeller**.\n",
"* Kui on nii omaväärtused, mille reaalosad on positiivsed, kui omaväärtused, mille reaalosad on negatiivsed, siis püsipunkt on **sadul**.\n",
"\n",
"Kui kõikide omaväärtuste reaalosad on nullist erinevad, siis nimetatakse püsipunkti **hüperboolseks**."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Üldine lahend"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Lineaarse dünaamilise süsteemi lahendeid saab leida **maatriksi eksponendi** abil. Kui algtingimus on $\\underline{x}(0) = \\underline{x}_0$, siis on algtingimusele vastav lahend\n",
"\n",
"$$\\underline{x}(t) = e^{\\underline{\\underline{M}}t} \\cdot \\underline{x}_0$$\n",
"\n",
"Maatriksi eksponent on defineeritud Taylori reana:\n",
"\n",
"$$e^{\\underline{\\underline{M}}t} = \\sum_{k = 0}^{\\infty}\\frac{(\\underline{\\underline{M}}t)^k}{k!}$$\n",
"\n",
"Eksponendi saab kõige paremini arvutada baasil, milles maatriks $\\underline{\\underline{M}}$ on **Jordani normaalkujul**."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Jordani plokid ja lineaarse süsteemi normaalkuju"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Igat maatriksit $\\underline{\\underline{M}}$ võib viia **Jordani normaalkujju** lineaarse teisenduse abil, see tähendab et on olemas (mitteunikaalne) pööratav maatriks $\\underline{\\underline{P}}$ nii, et kehtib $\\underline{\\underline{M}} = \\underline{\\underline{P}} \\cdot \\underline{\\underline{J}} \\cdot \\underline{\\underline{P}}^{-1}$, ja $\\underline{\\underline{J}}$ on kujul\n",
"\n",
"$$\\underline{\\underline{J}} = \\begin{pmatrix}\n",
"\\lambda_1 & 1 & & & & & & & & & & & \\\\\n",
"& \\ddots & \\ddots & & & & & & & & & & \\\\\n",
"& & \\ddots & 1 & & & & & & & & & \\\\\n",
"& & & \\lambda_1 & & & & & & & & & \\\\\n",
"& & & & \\lambda_2 & 1 & & & & & & & \\\\\n",
"& & & & & \\ddots & \\ddots & & & & & & \\\\\n",
"& & & & & & \\ddots & 1 & & & & & \\\\\n",
"& & & & & & & \\lambda_2 & & & & & \\\\\n",
"& & & & & & & & \\ddots & & & & & \\\\\n",
"& & & & & & & & & \\lambda_k & 1 & & \\\\\n",
"& & & & & & & & & & \\ddots & \\ddots & \\\\\n",
"& & & & & & & & & & & \\ddots & 1 \\\\\n",
"& & & & & & & & & & & & \\lambda_k \\\\\n",
"\\end{pmatrix}.$$\n",
"\n",
"Siin $\\lambda_1, \\ldots, \\lambda_k$ on maatriksi $\\underline{\\underline{M}}$ **omaväärtused**. Jordani normaalkuju koosneb plokidest\n",
"\n",
"$$\\underline{\\underline{J}}_i = \\begin{pmatrix}\n",
"\\lambda_i & 1 & & \\\\\n",
"& \\ddots & \\ddots & \\\\\n",
"& & \\ddots & 1 \\\\\n",
"& & & \\lambda_i\n",
"\\end{pmatrix},$$\n",
"\n",
"mille suurus vastab omaväärtuse $\\lambda_i$ kordsusele. Jordani maatriksi eksponent on samuti plokikujuline, ja iga plokk on vastava Jordani ploki eksponent. Selle eksponendi leidmiseks kirjutame Jordani ploki kujul $\\underline{\\underline{J}}_i = \\underline{\\underline{D}}_i + \\underline{\\underline{N}}_i$, kus\n",
"\n",
"$$\\underline{\\underline{D}}_i = \\begin{pmatrix}\n",
"\\lambda_i & & \\\\\n",
"& \\ddots & \\\\\n",
"& & \\lambda_i\n",
"\\end{pmatrix}, \\quad \\underline{\\underline{N}}_i = \\begin{pmatrix}\n",
"0 & 1 & & \\\\\n",
"& \\ddots & \\ddots & \\\\\n",
"& & \\ddots & 1 \\\\\n",
"& & & 0\n",
"\\end{pmatrix}.$$\n",
"\n",
"Kuna need maatriksid kommuteeruvad, $\\underline{\\underline{D}}_i\\underline{\\underline{N}}_i = \\underline{\\underline{N}}_i\\underline{\\underline{D}}_i$, kehtib valem\n",
"\n",
"$$e^{(\\underline{\\underline{D}}_i + \\underline{\\underline{N}}_i)t} = e^{\\underline{\\underline{D}}_it}e^{\\underline{\\underline{N}}_it}.$$\n",
"\n",
"Nende maatriksi eksponendid on antud valemitega\n",
"\n",
"$$e^{\\underline{\\underline{D}}_it} = \\begin{pmatrix}\n",
"e^{\\lambda_it} & & \\\\\n",
"& \\ddots & \\\\\n",
"& & e^{\\lambda_it}\n",
"\\end{pmatrix}, \\quad e^{\\underline{\\underline{N}}_it} = \\begin{pmatrix}\n",
"1 & t & \\cdots & \\frac{t^{p_i - 1}}{(p_i - 1)!}\\\\\n",
"& \\ddots & \\ddots & \\vdots \\\\\n",
"& & \\ddots & t \\\\\n",
"& & & 1\n",
"\\end{pmatrix},$$\n",
"\n",
"kus $p_i$ on Jordani ploki $\\underline{\\underline{J}}_i$ suurus. Sellest järeldub, et Jordani maatriksi eksponendi kohta kehtib valem\n",
"\n",
"$$e^{\\underline{\\underline{J}}t} = \\begin{pmatrix}\n",
"e^{\\lambda_1t} & e^{\\lambda_1t}t & \\cdots & \\frac{e^{\\lambda_1t}t^{p_1 - 1}}{(p_1 - 1)!} & & & & & & & & & \\\\\n",
"& \\ddots & \\ddots & \\vdots & & & & & & & & & \\\\\n",
"& & \\ddots & e^{\\lambda_1t}t & & & & & & & & & \\\\\n",
"& & & e^{\\lambda_1t} & & & & & & & & & \\\\\n",
"& & & & e^{\\lambda_2} & e^{\\lambda_2}t & \\cdots & \\frac{e^{\\lambda_2t}t^{p_2 - 1}}{(p_2 - 1)!} & & & & & \\\\\n",
"& & & & & \\ddots & \\ddots & \\vdots & & & & & \\\\\n",
"& & & & & & \\ddots & e^{\\lambda_2}t & & & & & \\\\\n",
"& & & & & & & e^{\\lambda_2} & & & & & \\\\\n",
"& & & & & & & & \\ddots & & & & & \\\\\n",
"& & & & & & & & & e^{\\lambda_k} & e^{\\lambda_k}t & \\cdots & \\frac{e^{\\lambda_kt}t^{p_k - 1}}{(p_k - 1)!} \\\\\n",
"& & & & & & & & & & \\ddots & \\ddots & \\vdots \\\\\n",
"& & & & & & & & & & & \\ddots & e^{\\lambda_k}t \\\\\n",
"& & & & & & & & & & & & e^{\\lambda_k} \\\\\n",
"\\end{pmatrix}.$$\n",
"\n",
"Lõpuks leiame, et maatriksi $\\underline{\\underline{M}}$ on\n",
"\n",
"$$\\begin{split}\n",
"e^{\\underline{\\underline{M}}t} &= \\sum_{j = 0}^{\\infty}\\frac{(\\underline{\\underline{M}}t)^j}{j!}\\\\\n",
"&= \\sum_{j = 0}^{\\infty}\\frac{(\\underline{\\underline{P}} \\cdot \\underline{\\underline{J}} \\cdot \\underline{\\underline{P}}^{-1}t)^j}{j!}\\\\\n",
"&= \\sum_{j = 0}^{\\infty}\\underline{\\underline{P}} \\cdot \\frac{(\\underline{\\underline{J}}t)^j}{j!} \\cdot \\underline{\\underline{P}}^{-1}\\\\\n",
"&= \\underline{\\underline{P}} \\cdot \\left(\\sum_{j = 0}^{\\infty}\\frac{(\\underline{\\underline{J}}t)^j}{j!}\\right) \\cdot \\underline{\\underline{P}}^{-1}\\\\\n",
"&=\\underline{\\underline{P}} \\cdot e^{\\underline{\\underline{J}}t} \\cdot \\underline{\\underline{P}}^{-1}.\n",
"\\end{split}$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Interaktiivne näide: maatriksi eksponent"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Järgmisena rakendame oma teadmisi praktikale. Alljärgnev kood näitab, kuidas saab maatriksi eksponendi leida SymPy abil, ja sellega ka lineaarse süsteemi trajektoore leida. Kõigepealt on meil selleks SymPy paketti vaja."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import sympy as sp\n",
"from sympy.interactive.printing import init_printing\n",
"init_printing(use_unicode=True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Siis defineerime sümboleid: aega tähistame $t$-ga, ja algtingimus on $(x_{10}, x_{20}, x_{30})$."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"t = sp.symbols('t', real=True)\n",
"x0 = sp.Matrix(3, 1, sp.symbols('x_10 x_20 x_30', real=True))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Näide #1"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Esimene näide on süsteem, mida kirjeldab dünaamika\n",
"\n",
"$$\\begin{pmatrix}\n",
"\\dot{x}_1\\\\\n",
"\\dot{x}_2\\\\\n",
"\\dot{x}_3\n",
"\\end{pmatrix} = \\begin{pmatrix}\n",
"1 & -\\frac{2}{3} & 0\\\\\n",
"2 & 3 & 1\\\\\n",
"0 & -\\frac{2}{3} & 1\\\\\n",
"\\end{pmatrix} \\cdot \\begin{pmatrix}\n",
"x_1\\\\\n",
"x_2\\\\\n",
"x_3\n",
"\\end{pmatrix}.$$\n",
"\n",
"Maatriks $\\underline{\\underline{M}}$ on seega selline:"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAGwAAABNCAMAAAB0SHFsAAAAPFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAo1xBWAAAAE3RSTlMA\nMquZdlQQQOkwRO/NZt2JuyJsn0oFQwAAAAlwSFlzAAAOxAAADsQBlSsOGwAAA1JJREFUaAXtmduC\nnCAMhlHQbj2Alvd/1wIODGFNCMW96nDhIEI+CQjhHyE6kpGHnDvatzQ1pxDj1tJisCGNLW1edbWD\nDdZdaklfDF9bKpemWoOb53oR4rTuUku7J4zWw4ZaXer5ZLmDtvfDtMJfZZZmN6krJWxaua8ZCUbG\n3M3v5sZm9gMbEoDNoxzZPokGKNa++lomTlcAcw9UI2wxQizJT68XSD9HmOFpUDthwzZN04F63gbY\nYl8TvRO2hs8n9aTIzDb4eLGvKdQJK6wXt6d1TvafVvgR4odhoWf/BJs3ndKGToqsd8+68Vrw3DUj\n5NlrgkwPTZDc8k3+OHzhHj+n3jEzSo7ozBfXRy0f+qjlLoQMr3/TL1ek/XK1xvGFPZPjarfRGeAm\n6Sa1N4Gl2biNJbK+TX2sFVFO9Qw2gz2Dz3h3by9V63fD1EZsZwW+G0ZPEEh7AHbGbxZavrnrg4Xx\nOi13+vbBhN/xFTuS6IQNRpkxhhg3joNFnTBorHb3v8BOKY8jLWWEV05jzNEcrwM3zj4YMozQ/fTb\n/cSa8nnUC2DXzrSGyJLolo8ufa+sJiu5h0XUC2BraD3WzxnL6g4us42bIsXMo14A28L+zYAF6zw3\norDrDXUMGagX9ueFVzRIV6NhSwwpSSOn0byzNA3T3OOu8QNXTSRMUkcgaHrlrMAl7NfX72RFsVhn\nWHsPzkaWw/58gTP15FmXqcS/ydgwh5phYOqLIfRLVfeMNYSKmqNJ5D0DsFO7JU+O1YVB7H5vnuKx\n66br7yIUtl0HhTpMLNIt2YzJCKNe0LP3+/xM7gN7xK8fN2JubFJSO93YpqR2wthKavBML8ytIiwl\n9QmYt5FEt2CQusCeQeGTapc9o5TUrJrLQhgUPmFN7I5UUl2/s+0cwArhEzMPyndqa6eC1EL4BEaR\nG1pJdY3Q/awQPhH7eXFFSSVgpWKXW0XytJLqG2E9K4VPBNBWjMPCYCfhs80qUhuD1dzYrKR6PgYT\nhfCJvGtWXFNSKVghfGZW0SwtblKwQvhECe8HNXGTcGMhfL5tormauEnBoPCJIuADStx8Okj9iJvO\n92CLgWPBvfuIm9GNYdnhqgS5e9niZvpTfPZ/WCvFONvlnLZ8+FNcKfEXH9MrjKhfdq8AAAAASUVO\nRK5CYII=\n",
"text/latex": [
"$$\\left[\\begin{matrix}1 & - \\frac{2}{3} & 0\\\\2 & 3 & 1\\\\0 & - \\frac{2}{3} & 1\\end{matrix}\\right]$$"
],
"text/plain": [
"⎡1 -2/3 0⎤\n",
"⎢ ⎥\n",
"⎢2 3 1⎥\n",
"⎢ ⎥\n",
"⎣0 -2/3 1⎦"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"M = sp.Matrix([[1, -sp.Rational(2, 3), 0], [2, 3, 1], [0, -sp.Rational(2, 3), 1]])\n",
"M"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Vaatame, millised on maatriksi omaväärtused."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAQEAAAAVBAMAAAC08kb3AAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAZpkQ3Ynvq81UMrtE\ndiLw+n06AAAACXBIWXMAAA7EAAAOxAGVKw4bAAACYklEQVRIDcWWQWsTURDH/+km3aSkoX4C14JE\nkEJO9qQNaNWbRax4s6CIiGDU4rU9KM2txUNvyuLVi2e9eOq1xQ+gRTyLUAURZX0zbzZ5s5kE4yXv\nMG9m3vzm/fP27RIApROY0JhZaNHO0fKE9nfb1u/R3qVv/6KgMf8uLdTFbwqJQvj59NtCZpA4RRWV\nNWdqt8jNh444u4jK73xZ5niunzCIqIOb7/sV5IUEdukJXKM0KVhsHpErQ0c++Ri4k68PzhYRtzC9\n5ktfDBLRow1ScJ1W+AxmQwXQEeO3gY2UPdMYxHQb8S9fbCgAPo2pYLs1roLq0f8oKHdYtPGLXP4K\nie6PswvsX2JrE2U5WTkDRQRnEG+6HtLhDPm9iP2eqf/oueys7NEU3eXAVrC/wosQBYrwCo5TwW7q\njO6gIypyQ87HB0Bjh98kCU0C/nwgCjThFVQT4DV/FHQHHckm8zRHTy+4cTl1Hv7IAk0mMZXQ0o1u\n92K3u1UkvAKsHwB7qSvTHXREbVxFwlPf1MLXxyLwIS+Wp6AIOQO6eOE9EMTq9xyNw7wjz9VOcDMt\nopbgqydEgSKCe1BpuzLdQUfcZSbB7CF7uVnakXtGCYPAK+CjLxYFivAKBr5IwbuwtOlpsV9Wr66r\nBPYbcy4RvAsForG82mx7RBQooqBg6snPh1Ts7ztH5fOeFrudZd9VAvExjvm+W0Q1y7K2R0RBSKD5\nYMv9gv4Z6OYcvTRyo1NDCVFg0CMVBE/ZQK3UUOKcVc05VjDk/0F0MBQbsjA+Afiv2jOzY8nMjkqO\nT6B+nxvWJvc/8WQL+As39pQippZRLwAAAABJRU5ErkJggg==\n",
"text/latex": [
"$$\\left \\{ 1 : 1, \\quad 2 - i : 1, \\quad 2 + i : 1\\right \\}$$"
],
"text/plain": [
"{1: 1, 2 - ⅈ: 1, 2 + ⅈ: 1}"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"ev = M.eigenvals()\n",
"ev"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Maatriksil on üks reaalne omaväärtus $\\lambda_1 = 1$ ja kaaskompleksne paar $\\lambda_{2,3} = 2 \\pm i$. Reaalosad on positiivsed, seega on püsipunkt $(0, 0, 0)$ **repeller**. Iga omaväärtuse kordsus on 1, seega kaasneb iga omaväärtusega üks omavektor."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nAABJRU5ErkJggg==\n",
"text/latex": [
"$$\\left [ \\left[\\begin{matrix}- \\frac{1}{2}\\\\0\\\\1\\end{matrix}\\right], \\quad \\left[\\begin{matrix}1\\\\- \\frac{3}{2} + \\frac{3 i}{2}\\\\1\\end{matrix}\\right], \\quad \\left[\\begin{matrix}1\\\\- \\frac{3}{2} - \\frac{3 i}{2}\\\\1\\end{matrix}\\right]\\right ]$$"
],
"text/plain": [
"⎡⎡-1/2⎤, ⎡ 1 ⎤, ⎡ 1 ⎤⎤\n",
"⎢⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎥\n",
"⎢⎢ 0 ⎥ ⎢ 3 3⋅ⅈ⎥ ⎢ 3 3⋅ⅈ⎥⎥\n",
"⎢⎢ ⎥ ⎢- ─ + ───⎥ ⎢- ─ - ───⎥⎥\n",
"⎢⎣ 1 ⎦ ⎢ 2 2 ⎥ ⎢ 2 2 ⎥⎥\n",
"⎢ ⎢ ⎥ ⎢ ⎥⎥\n",
"⎣ ⎣ 1 ⎦ ⎣ 1 ⎦⎦"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"[(M - y * sp.eye(3)).nullspace()[0].applyfunc(sp.nsimplify) for y in ev]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Omavektorid moodustavad teisendusmaatriksi $\\underline{\\underline{P}}$."
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAOoAAABNCAMAAACfUwgqAAAAPFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAo1xBWAAAAE3RSTlMA\nMquZdlQQQOkwRM3d7yKJu2ZsJAn0OwAAAAlwSFlzAAAOxAAADsQBlSsOGwAAA/5JREFUeAHtnNF6\noyAQhVHQbaPRuLz/uxZwg+IMOKPYjX5ykSqcOfLLxCCxESJViibVeqG2QpbthXBEoV0pUabqCqjt\nSCgMqlSmVNdFHSxfqS1qgVK6ykuMqiMZblQ/zHtHtXrW3uuADYb9saNal7LUx6Hy7I9FNcOoDkTl\n2a+jPvel3WlQO9nqUu2BPQ3qHsgx9kbdfw7ZZ3L+Xq2b1pcmMatgdfMsozpOHc0riy4QnwU16PS2\nnfOg9vIld80BToPad0KUu27OT4PaGtRCm5eNRZZP3ZTDxujVMJb9/AqMOLcPITptXi5QVlAtYXXs\nLPbXTiIBtd01Mfw1ktUDraP2ctXkHIJV1OEqpGIN9dEL8cg1Sfy/o7+CWjRVVb1Yc4heyZIQ4GWK\nlzY+LnnevGrmvoL6dLPgpOuiUZoPUflaVMLdSVawPrWnOOg51UyqmfsK6hRN3ZIm463pSiHKgAst\nDlVlR7WdI4wqQwZx15MG68QRqPWTdB1zsofCvz8BfFMFzR66H4CqGtKcY5T1NXcuRrNH3COoteyH\nnjQ209metugJ3NUbltRp9kYVukdQG/NdVW1vazaVTuNfdS3MnOxFSoEgkmYP3HHUwS3+9htuVN1b\npNPL27ZqAeRlJn85yePjAvbljlcF7jjqy10rNt3S2FRQ4HuaJap4y6pGmE8nennHpSPeqsAdR9UO\n9UHLw/CoRa/6EmQ+QH3L6tIudNDLOy4d8VYF7ihqrd1k7aEXaZf2T7UC1JT4oDYUtdMuqYrxT44j\nfzCqG9ULov75+g5Hjp7A4AsBsEjeN7a0T/fHz4y8bNwID+/3gLvwcf80UGEbvCpw//uFPQsxXpaq\nLZcl389g42MTWLzchHrgztkcHbpIjqKiyuAMITvkICBEL0tinELIDVMIgS+SY6i4EqGbV5GDoBBH\nFa2dGNJuUOYdMdv20xsukmOouHJht9wlB0FhBLXuzSNNnBmb7xK+SI6ibllOx+390acNKIygTiFb\ntuCMEkO1zlBJOB45KBQeggoXyevI7A8qCajkoFB4BCp9kZyunJ0BctBCeAAqfZGcrpyRkoOWwvyo\n9EVyunJGSg4Cwuyo9EVyunJGSg6Cwuyo9EVyunKGSg6Cwuyos2592OaN+mEDkqU796hmOY0fZhId\nVcaT4kmkXD6RgzDscVTek+KRXpjqXD6RI/DscVRjnespslw+EVqG/Y16j2oki1LVjAxL2cTaGPZ3\nAt8JHEujRD0jwxIu0SaG/Z3AdwJH8yjewMiwuEm8hWEfSWDWk+LxjohcPpFDsOwjqBHrU1ffqKce\nvkjn71GNnJhTV4+j6p4Z8A8qnBoI7bz/CYza/kCEUtf4xyEU1f0EhlLiB6S0N+OQQxqWAAAAAElF\nTkSuQmCC\n",
"text/latex": [
"$$\\left[\\begin{matrix}- \\frac{1}{2} & 1 & 1\\\\0 & - \\frac{3}{2} + \\frac{3 i}{2} & - \\frac{3}{2} - \\frac{3 i}{2}\\\\1 & 1 & 1\\end{matrix}\\right]$$"
],
"text/plain": [
"⎡-1/2 1 1 ⎤\n",
"⎢ ⎥\n",
"⎢ 3 3⋅ⅈ 3 3⋅ⅈ⎥\n",
"⎢ 0 - ─ + ─── - ─ - ───⎥\n",
"⎢ 2 2 2 2 ⎥\n",
"⎢ ⎥\n",
"⎣ 1 1 1 ⎦"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"P, jc = M.jordan_cells()\n",
"P = P.applyfunc(sp.nsimplify)\n",
"P"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Selle abil leiame ka Jordani normaalkuju $\\underline{\\underline{J}}$."
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAJoAAABLCAMAAAC/Q26vAAAAPFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAo1xBWAAAAE3RSTlMA\nMquZdlQQQOkwRO/NZondIrtsRPdGkQAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAzlJREFUaAXtmtuW\nqyAMQCMoM+MF9fD//zoCnUpACZee1T7gQy82MbsBbTctdMpsDD5mWy0RQKd4f2zDx5DBonmY0mjd\n51CdJEsNmuBykRVvK57vow2TOLmpR/MxB8S6UWG3r8fzEZpgnKl0tGXSReV8W5p4gchHaMeh+gy0\n3ZzTQ0YGZiXya9CUQRtV6alN5FegCcV1F0bV42akPqPyK9A2JTVFZ+9Sgc44Kr8KzXStAi2eX4FG\nDcjZn+tHVH4FGthpPFSeBrf5NWj7rtuxlF884vk1aPaSySsvubf5NWiw6g+qqfxDNJ6P0Tib1MyW\n62kb7hXy+OpSTgbxfIwWVn/jnoZW0vzWtda1kg6U5LS51rpW0oGSHDzX4s4KG+f7Tn5mMvNdJwUm\nXg6jxZ1VaIOSaiSqpn89iJdDaISzMmPPkxFjAi/pZaIcQiOcdVp1RfayxRuiHEIjnHU2X7Vfh0aU\nc9EoxbGjtEZdQPQ81Zipci4a5awGbYwbsYQxdS5S5TBa3FkN2hpdV90GuNUQ2/TzdrMLE7eK7aJR\nHdZH5YbeHF/M63ObH1e74xxOXgKhymm0r+8f+15o5+1PMpsS3GasaRHl/n07a7mk8w6abIsuQ84M\nUhcPiXLugALlvJ3pWR9DE8cyg1lACtoZ7iDKITTCebdVSsmZufCGheyeUcGW7LE5ihx31tn+0BBF\nA7YkkzVFvhvgiv14rlUc6PWpDa2kp61rrWslHSjJaXOtvmtxZw2OnxmepthPw8YDGnfWAC0zPE2x\nn4aN0Ahn9dEyw+FSsYdbAUNohLP6aJnhcKnYiWiEs/pomeFwqdhpaJTieGiZ4X/ZnmJjNNew3QGl\nnPXv4I/7zPBHlq/YGM01bIxmtOTWWQO0rPBHtq/YCA0ZtouWOUKZ4RbNUWw5622dzJ1dE0CG7aLl\n/ixMKK7XZPM0VGzUNQDHsBEa4ax+rczwI/1CsT00x7ARGuGsPlpm+LFMcKHYGM01bIRGKLKPlht+\nqdgYzTVsjBZX5AAtM/xSsTGaa9gYLSj+/3d4aE7Bt6OJ28Wdt6M5bfIeNjSvIUlPP75rH/uXYaH/\noNv31M9iSaPwmiDzl+G+h1+msC5nJT61jgAAAABJRU5ErkJggg==\n",
"text/latex": [
"$$\\left[\\begin{matrix}1 & 0 & 0\\\\0 & 2 - i & 0\\\\0 & 0 & 2 + i\\end{matrix}\\right]$$"
],
"text/plain": [
"⎡1 0 0 ⎤\n",
"⎢ ⎥\n",
"⎢0 2 - ⅈ 0 ⎥\n",
"⎢ ⎥\n",
"⎣0 0 2 + ⅈ⎦"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"J = (P.inv() * M * P).applyfunc(sp.nsimplify)\n",
"J"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Nüüd on ka lihtne leida selle maatriksi eksponenti $e^{\\underline{\\underline{J}}t}$."
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAALwAAABMCAMAAADgBS2AAAAAPFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAo1xBWAAAAE3RSTlMA\nMquZdlQQQOkwRIki3e9mzbtsqSkGDgAAAAlwSFlzAAAOxAAADsQBlSsOGwAABH1JREFUaAXtm92a\nZDAQQIPIzPpprPd/100lQqoSUsJ+7YKLaQlVTpcIznwtRGwZi1jv8/qK2SylT6Zm5Tcft95bZiGK\nuZJ6qX3Cuvdbz1sfgLicAZ4Oka7qx4p2pr6BqtqhPRu0l5SVbIjCCzGi87B3CNQPIarvUF92g5Vs\nD34+DTF8gLQds3n9QF6yHfjGkPjpkuuTueDrey50XrIdeFkKdbL2s4Fv5vPjLVIXXjICr1opK01d\nSdFGch50qbmCrc0sD3bibmImw/ANXG+dxm5KeXLe6GbzbQv7waXc2Y+ZDMF3H5gwTs+RhqCzlb8L\n3pzGVDIEX3703D/k3VqZZ3qn1KSbmQzB28uEJOI2bXB95wWbSobhT16k6HtNEzSHm6ZKVjIE/7Hw\nefOFva9Ud96kUskQvIQjK5gqc5YervbPyUlq70CsZAheyEoOw16+VD/cI8qb2AUrGYZP8T1s+wv/\nrRPyVv6tfEYF3mEjjm9rd839wbm5pfLmqaKtpip8IJX62bZugsPe03EN3mq1Egrf6j9l+GBTwLbc\nB47UV7wEb7VaYQoP72DFjnNQSMalkPjbL8FbrWafZ3o9Nrp5Z4CMUP/7lwCepaoMh9NqmxgMvEej\nLQQs8vTTHgsjgGepKkO0aLVug+/pm0C7+Nr69LhhYVB4nqpa4M0Qb8xLD/S05q152QYfnVp87baP\nt/VolYdB4Xmqyh7XarXGVXUw7PXkFpg3J3suinAaOkLXcSZpMAxJEIXnqSqbxGq1Yql8oyedhtyP\n9KgxPesXJEffbfIwCDzLOWCtpuyYL8a6ridyl6pHK94G+3K8y0o3sDDgbR/5eY6qolqtN8Qf868K\nQqFKuHfpu9TOFEp2X5scDL1zAJ9UVYFWw/9SWQH8lbNDnqnfCDzjfIVabZ1ufF5/vT47zTMwID/A\n//z+WQ+V9l52jzVAr6TYFJ1C/eD4ehoD4v7+ojEv0t4rooHr47u/JJdxnBf1pjFgdzJsRNp7XdJq\niPCgkcaIwYukqrqm1Q6A0aYkRhQ+raouaTVEeNBIY+hgOmwO8j1v0wv/rXPyVv6tfEYF3mGTUbSj\nkMOHDf9154GVhxcXnn57Evzm35j67UHwnn9D+s294C8jzdNvD4L3/BvSb/RdZ9NvATxLVUUvt/xI\nSBf4t9V7OPhQvwXwLFUVhc+PtOkgXmz+bdVvDj7UbxSep6pi8PmRSzbs3zb9tsBH9BuF56mqGHx+\npM2G/ZvVb+Wolw/8AfMW6DcKz1NVMfj8SJsN+Tdfv7lhE+o3As90DhH47MiYf0P6zcGH+o3AM1VV\nBD43MurfkH5z8KF+C+CTxiwCDl1MyUWjGf7NwbvQTb8R+OyTLzIjGf6NwHuKi8ALnqpyRfA/8yJt\nlJ/Hg7Pd+CHT128Unqeq/IO59bzI0/7N128UnqeqHLD/mRd5yb9R+LQx84HROktyoQjduOTfAniW\nqqIIpp0XecW/BfBRrod2vvDfOjFv5b9b+fBHXt/i4R53/ZGXgh9MSXnyf6Xcw/yf/cyPvKQU/wA5\n7jX5HzA9WgAAAABJRU5ErkJggg==\n",
"text/latex": [
"$$\\left[\\begin{matrix}e^{t} & 0 & 0\\\\0 & e^{t \\left(2 - i\\right)} & 0\\\\0 & 0 & e^{t \\left(2 + i\\right)}\\end{matrix}\\right]$$"
],
"text/plain": [
"⎡ t ⎤\n",
"⎢ℯ 0 0 ⎥\n",
"⎢ ⎥\n",
"⎢ t⋅(2 - ⅈ) ⎥\n",
"⎢0 ℯ 0 ⎥\n",
"⎢ ⎥\n",
"⎢ t⋅(2 + ⅈ)⎥\n",
"⎣0 0 ℯ ⎦"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"eJ = (t * J).exp()\n",
"eJ"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Lõpuks kasutame lineaarset teisendust, et leida maatriksi eksponenti $e^{\\underline{\\underline{M}}t}$."
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAxwAAABTCAMAAAAiP/EeAAAAPFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAo1xBWAAAAE3RSTlMA\nMquZdlQQQOkwRM3dibsiZu9s08hGeAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAEWZJREFUeAHtXdfa\nwjoOTCN7FgiB5f3fdeXeu2zgO38uwDGJZkZCxCkW0/S3/Hkg1wPzcTzO3I1btxsK1kr237b/ufzb\nFCf1PqbpeoethrhmKNggTUkP/8oGz+1XmA7jeZum/b1P0xDXDAUbpGlYpDoDHff12RniF81f4Mgx\nzDUDwao0Hetjhd8Kc/F2mpu0rnkhvJ2tSKH9yfih2+JV4u3sRqHK8H4j5xxdXaN4DQXzaZrfdAmN\nrw/wxQIHOGNRnbfZ+ABvRUFoNlVnN1yFttuq1UftLaVEs6U6B8jTcAua+0J+KLu6RrEZC6aF+85y\nYprm97rBclGcjNYdkmN+W1coZCcdgBrbY61ICN2g7OyHq+Au69RvWCWVKDz4PRa+HiFPB85u7+u5\nH9PU1TWSzFAwQ9OTZMTyJt/86I///Qrn8W940RfZScaEfRYJoZuXnf1wFdy5bNZvgvqsuSWV6JZk\n5wh5OnB2m/ykQsi7ukaSGQrmanqmk4NQvZALFPYCned6v63R1NJ2OtXP8DPzS4eCC6EsRN4P+N3Q\nmPdqYsgr1VarpcUnxRxbwPDCnZkcd99XhXbenNHY/PJtDJThqrVclrzsKMGVtp1GKfJ+26c9dArm\nWG/oKJCH6dUaxjk+QeOYAxYWgRbuvOQ4Vg8V1mmfjJBRGoxJPQu9yAGncmRcnXlCV4TrgeRdpcjL\nsj3VsSZst/WTEnmIXq2ineMTNI45YGEVaOHOSo6nLzdY5/UVJml+IoxcYCAHy2EfXi52B9yUwcBV\nZrKRX9YJlikEbQ1DnrAR0oZGtsEnKY5u5BvA0uF2XBJEy0mOKxwJrvaJBe/clmnPHCHxzVZ2wWy3\ns8p1EQ4uuwREPJKNTC9QeE6yHLc2daDIo4fhiLYmhvrODT5JcXQj3wCWDreuiraDaBnJMd8ul8vD\n+q6IznWb7EHUOduJRCic4qrWnW9/s36eHRcJCEOM6PTgGttpK+XIDziP6n7OIZRoTGFIyn3tyqv0\nqmG9ZSXHJ5UcnchPOWAhMclwOzsG0TKS40Xvh3CT5DLCCscA0XldNpEK83Z5bjc4737Duex8e60z\nXCmWY6WNDpGuy+P9YJ32gNtxkYCgyBHcaV+PYyXXBchGB8k5ToVxLkfeF7hYZf0aMFuIr5nyGr2K\nRjjmk0aOTuThlykcgES0p2S4HZcE0TKSQzd2JYfI0z5W0C12ejGKHB9u9ELP/QGJccrz9Qc/w+WD\nYxgaavcjiQHXRdQse4ngTucLEmN+ndNMj98Aq6iQvduQNRL9mmF5SkqdV/txVpZbOUYjr2BYKxXt\ndLhti+H1suSgzHb/jY3ri/zWkiPFgybHg55UvMVVnzu/5MsH/pAMYpzFycVcFMOdbiTLLjBwZAM2\nuKWpqBDbTcicXN+3iDwlpc6rfYkz660cY5F3+KeinQ63YzLY4STHfrvLhT7fwx4ygVewsbzgtvoz\nMOC4vx/shjIPIz0yvMW4SlwSEKcccMVXkDpuZLm/6Ju8vZCLu7/5Na35zfIPriRLKgSiHplREDRb\n3h2vTrnypJRSr7bQhSvt8ktwN78FkjdpcIxqjv7IK9+4YMlox8LtqKL8DRCpiXzkJAfX638jZxPB\nZT9ub/pF5WGkwyw7OXb5HIpKDmYx9vsRw70KiAs3/X7AyQenQkzz5KhDDqrF/CAmT0qp8yomzaCt\nRo6xyNuYyWinw22bDK/nJMexrfRJzGkK3N6j5k9yQHmSL6g3jHxwcyW/NvTQQ+eTacRcF+Xhur8l\n8GicoELsVyCT3RQ6WeuwKICIW5WUOq+i81aspelWjm7kuWkPVjLa6XBL3nrDA5V15CATflb26MeL\nnYqLoZJunZ9QL7CxN4z8tPiAwdaFXt9KnpBn4rJzDrA6vdgFsfeVeZtQIUs5MtlLQyer+IsGEHGr\nklLnVWzeGmtpupVjKDl8WMlop8MteWsNL1TOsGqFjCAHGFjgSi387pNLue5yoSfkZPL9g2YSexVj\nnolfuV3hpiHLLWJWXxwXZeLC1SqSBTATYn6RrLsdk6JCAMqRyV4aOlnFXzSAiFuVlDqvYvPWWEvT\nrRydyHPLPqxktNPhlry1hhcqJzmIDX7kgIvIwaeOrsdze8Jdhnl5v5edvs6Xx/vFT1P4KOp8iKeW\n7Nk8Xhdl4JL7detGZglNJ9zwWGBcJ6gw9XXIumpmp8NrWp6QUuvVDqTll0HYbuXojTw3LjwksJLR\nZuUf4LsQ/KIpU2bLhco55wBC9DfZtFW6Jh4i4PvJG5nCjs9FGLjqeYISZLItDrrQ53lHAEh51YPa\n2lXMOsXRF3lOshgL9kvBBfR7oLKSY7t5zzICKIFu8fgZ/9h58NDziBYKLowJzecXc5AJSST0gDuQ\nAFLawui1n5S7JcXRE3lOrhwLdkzB+YX7oLKSQw2r/Ibzeo1aYJlzkN1DXR6WuVUNMrGAg25yMdYQ\nAGq1GTzKVopZN3AsxgIplXAuVGZynPwGW5kXza2NOSiGAHM7fQ0Dl4w/NZuZyGQPHHQN224iANRq\ns6kUrBezbuBYjAU6KuFcqHRy0LHYKR8DKXCivWnZZEk8XHAXv6oLjDIn6GKi236g62gA5dq8fPI6\nK1lXcazEAiHFcAGodHLQE5yNXqfNcyDWVuTE6hO4jH939O4AWHEw7IxkPRDLD5WRHPOxHZlTvg0/\n5q6E6pj1xo3zK0cP6QjglANIQ4VIcj+ERgNrAz1HAhaWAexf8UNlJIffHFrvD9Qxy9I6Tsc4pCzh\nNRv9hoTPJwc5otGacV9bxywv+uN0jEPKU16x1W9I+ILkgFvatGacPcGjwuef3GVcPbZxSN38+RsS\nPp8cJAADysN1i7NuuFBH8VUVhVWIBDs2gClYzFaphPECBifHua6Ph5h0rjw9oDycAuvY8utAq3Wm\nMfcjaRvYTePif8/rKzZwcD0goYe3ghziH4xNDlrS45DznQQ19tysnG4uujHLw0mbPRsBHWi1zhT3\nAJLawGmVVjpzDGB3hCR08FYt9bHJweZMvaySVexhGLzycLW+aN2vUId4BihUjy3yPF4hEghLgbVq\nL96/VMInBIxNjhctqrDQKlrSnejl4aTlsY1SHeSKDVmya82xzeG1FAl2SYFJ24MaxRI+IWBsctxo\nsXYzOcJ1zKbKImGD4mvBhHVUyggeOcJIFiW1KicIiPoWdkk9temQVkRCpbd60B6bHEzBnaZIpExb\nY5GwHn4K2wzraJThJEcYCeaeNBa2C+tD/SQiodFbqDS5sQ8kx5XWEwjXMdNqsn1vITMZi7AO7Fpn\nYSS4Ttta2E7q6dqISGj1Vg/eH0iOO5k4G6ljNrUWCevhp5DNiI5WGdaRI4IEE+dbC9uF9KH2xyS0\neguVKDdGkuM///y3h+mAzZXOy+tTHi4A2bE7pgO31lkMyS1Yk1/YrqNzbNMxCaoQHy+zkl0T0EbB\nW//fP+TJJve2HB6CZYnV+Z1idcxUTTZvOZpkkTYLsetqTAdurbMYUrLU2Xf4LCbhG4M+elgF/0IK\nY6qza3m4rtlgGe9Yj80aVkWQJvfIUVrYzpLVZzUmobUyXA/Gg5NjpmMqKKkbqWPWXB6uh59CNiM6\n2JcbrcpdBImfc7QUtgvpQ+2PSWj1FipRbmxscpz3A/5KY4FbgZE6ZlpNtu8oZBbze0QHcq2zCBK5\nvtFY2C6mEe2zmIRWb6GR1AyNTQ4o70wWcp+8Y3k4TV7/ZlgHdq2zMBKobC1s199RBCEiodVbPQSM\nTQ4cBeJJAm5N3v3FsT7MSkqGdc7RxisF1mZ9wN6fEPCLySGeQeMhcYq0DQgVBkRKRrjWWQV6CqzC\n5NhdPiHgF5OjtmrX2Gim0YwKWplV7tJWA1sMBQtwaOr+gICfTA5j4o7htCb3j955qIyhYD08+QEB\nP5kc3zfls+7bMHTi51CwOn/E9xov4DeTI+7Fv0//PIDigb/kQHHjv8PIfBzDBrEjsULR+0uOkGdE\n/xn7k1Cx0b/jHepx038CGuGSkVh69HRtf8mhe8bXfiL8N4nP7g/2wYOytPLeCJeMxNJDoWtLJUdO\nTVPdNlb7U7jkLwQfq/ZP68ed/Jlij8UC6gGBb5NU3uvnEpPvECwrCoa2RHKomqY6b8ug/hFS+1O4\n9I83p4XOJeBSaE0IJFm6mc9J1FkUtnda4aeXS0wyQ7CcKOjaEslBbtrTQrY6b2XQ/tNLfaum9qdw\nWZkOXXG3m3Ofk1gfmZ3WVurmEoPYGCw7Coa2VHKIQrY6b2mwX+lnWUt1MC4kh6UYJqD0GVbZQFTp\nANfqHi1sw59s7/AH2d1cotMZhGVHwdCWSA5CF2qa6qy1709B6eeKOzgouPA0t/puZ/6rE1NMCmXA\nufi5wOyTXguGxAp9xXK4L+7sieoyl5Tya8GqinY43BnJQWua2v4MVAHGLHRagmvTU+vGUweZNWIJ\n8n7b4TlwZadLq0AipmdLteT4AotfDlaYf020p2C408nBaprafGhYbxe7G7HQaRGuzUOtV9SIpcjL\nsj3VMUfZw2yVSET0bLGEHF9g8cvBCguoiDZcngR7XthkcliPCnNeLKxu6ecAbWGkoCys2MW0WIhb\nVSOWIfOSBCY87hqGRGEj5FkUxg2+SPFzJq00YGVE24ET+3hhU8nBa5paPmaS80s/k/NMsuSXhcXB\nrakRy5FpRRbrZIuJwHpFkZjyLArZBl+k+Dnf1gasjGg7cKLusBc2kRyipqnpYx7WbZnsCTmVhU4d\nzqW4Jj+1JmcJZteIFcgPGDJ2PecQQIosaQVdW+lZ03rlWo4vKvk5kc/BCslIR9uBE1HwwiaS40Xn\nfHMyotCpMLhuE1zYo0tjoVOHcy4ufo1YgbwvcLGq55FDAFH/hV3b6Fken7a3mC8a+TmRj2G1R9uB\nE1HwwiaSQ3eqLHQqDF6XjVeDay106nDOxP2VGrG6HF877NpWz/rQMPta+UUjbxOl5UTn1znNdLT2\n2LSyymTbB7+Cwk/A4HxCf9SBbFEEN+UnR89CpzHOMdwfqRFLwhJbIhK/sYSsLqWVXyzyOg5tt1cE\nLoIzk2O/3eVCnwyhgyryAtz6FDo9bmS5v+ibvK2Qi+tW+suvEeuIpf6XyFbDCVRZhwsm7SdcW11w\nt4ygtrXDVVI1GnyPan6JyHuwWqI9lcDR7zvoyz9y9Cx0GkvoGO6P1IjVvnneZkxiY8FdLx5mZyO/\nWORtmgjRLoFLJ8exreyP/LpWt3U55+G6vyV4NWIVAztISOsKIFJD9qtKyCrG0gWt/NzIc9MeLIRo\nl8Alk4PMZVhhUhYsPQudOpwzcdk5R5casRoDHi7kNw0g4lrmmfqCu5ikNcbSbCs/J/Lcsg8LIdpF\ncKlh1QrXasnIC5aehU4dzpm4HWvEagx4vJDfNICIa7+phKzGWPqilZ8TeW7Zh4UQ7SK4VHIQqvzI\n0bPQqZdzBm7nGrGCgfwqYDcEQLiG7LeVkBWMhSda+Xkjz43bWAjRLoNLn5Dvr/a/thEPEXDV8k6m\ncLGPMwaueqAghCwY+N5xGPgs8z4EgJRnI+g1HxUzTvHzRb7eOym02H0Oj7Rkcmw3hAID4vEzLtup\nbms/hQLboeDCmJD+IYj8HjjI8hO3gcTANSx6MAAa9AkaBe/ljFP8PJHnfMqxMqJdBseSg15UlncZ\nLG+5Rzdrg4xVo9yRMRUxvDMGLtw11acqZSILTjgMhDXPOwJAiz4Po1RXMeMGfsVYiNEm87pggZEc\nPEUEC8wP9S7n25m24d0u1mlMQjH8Fd4LAxemhrFrbQwmE1lwwmEgrHneEQBa9HkYpbqKGTfwK8ZC\njPaT5UTMHXQcdr4RJv2UTZbEw62bOAk/GORMC0V5wL9oAGWeDbDJ6a5kXMWvEmtstMkZzvbq+XCq\nPyyfwlVsujPoDqC0ILVGMh6JBe6pgpuP7ciceI0UAWbmU7hKRHcG3QGUFqTWSMYjscA9Qbj/A/28\nI1taSR61AAAAAElFTkSuQmCC\n",
"text/latex": [
"$$\\left[\\begin{matrix}- \\frac{2}{3} e^{2 t} \\sin{\\left (t \\right )} + \\frac{2}{3} e^{2 t} \\cos{\\left (t \\right )} + \\frac{e^{t}}{3} & - \\frac{2}{3} e^{2 t} \\sin{\\left (t \\right )} & - \\frac{e^{2 t}}{3} \\sin{\\left (t \\right )} + \\frac{e^{2 t}}{3} \\cos{\\left (t \\right )} - \\frac{e^{t}}{3}\\\\2 e^{2 t} \\sin{\\left (t \\right )} & e^{2 t} \\sin{\\left (t \\right )} + e^{2 t} \\cos{\\left (t \\right )} & e^{2 t} \\sin{\\left (t \\right )}\\\\- \\frac{2}{3} e^{2 t} \\sin{\\left (t \\right )} + \\frac{2}{3} e^{2 t} \\cos{\\left (t \\right )} - \\frac{2 e^{t}}{3} & - \\frac{2}{3} e^{2 t} \\sin{\\left (t \\right )} & - \\frac{e^{2 t}}{3} \\sin{\\left (t \\right )} + \\frac{e^{2 t}}{3} \\cos{\\left (t \\right )} + \\frac{2 e^{t}}{3}\\end{matrix}\\right]$$"
],
"text/plain": [
"⎡ 2⋅t 2⋅t t 2⋅t 2⋅t \n",
"⎢ 2⋅ℯ ⋅sin(t) 2⋅ℯ ⋅cos(t) ℯ -2⋅ℯ ⋅sin(t) ℯ ⋅si\n",
"⎢ - ───────────── + ───────────── + ── ─────────────── - ───────\n",
"⎢ 3 3 3 3 3 \n",
"⎢ \n",
"⎢ 2⋅t 2⋅t 2⋅t \n",
"⎢ 2⋅ℯ ⋅sin(t) ℯ ⋅sin(t) + ℯ ⋅cos(t) \n",
"⎢ \n",
"⎢ 2⋅t 2⋅t t 2⋅t 2⋅t \n",
"⎢ 2⋅ℯ ⋅sin(t) 2⋅ℯ ⋅cos(t) 2⋅ℯ -2⋅ℯ ⋅sin(t) ℯ ⋅sin\n",
"⎢- ───────────── + ───────────── - ──── ─────────────── - ────────\n",
"⎣ 3 3 3 3 3 \n",
"\n",
" 2⋅t t ⎤\n",
"n(t) ℯ ⋅cos(t) ℯ ⎥\n",
"──── + ─────────── - ── ⎥\n",
" 3 3 ⎥\n",
" ⎥\n",
" 2⋅t ⎥\n",
" ℯ ⋅sin(t) ⎥\n",
" ⎥\n",
" 2⋅t t⎥\n",
"(t) ℯ ⋅cos(t) 2⋅ℯ ⎥\n",
"─── + ─────────── + ────⎥\n",
" 3 3 ⎦"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"eM = (P * eJ * P.inv()).applyfunc(lambda y: sp.expand(sp.expand_trig(sp.simplify(sp.simplify(y).as_real_imag()[0]))))\n",
"eM"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Algtingimusele $(x_{10}, x_{20}, x_{30})$ vastav lahend on siis selline."
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/latex": [
"$$\\left[\\begin{matrix}\\frac{e^{t}}{3} \\left(2 \\sqrt{2} x_{10} e^{t} \\cos{\\left (t + \\frac{\\pi}{4} \\right )} + x_{10} - 2 x_{20} e^{t} \\sin{\\left (t \\right )} + \\sqrt{2} x_{30} e^{t} \\cos{\\left (t + \\frac{\\pi}{4} \\right )} - x_{30}\\right)\\\\\\left(2 x_{10} \\sin{\\left (t \\right )} + \\sqrt{2} x_{20} \\sin{\\left (t + \\frac{\\pi}{4} \\right )} + x_{30} \\sin{\\left (t \\right )}\\right) e^{2 t}\\\\\\frac{e^{t}}{3} \\left(- 2 x_{10} \\left(- \\sqrt{2} e^{t} \\cos{\\left (t + \\frac{\\pi}{4} \\right )} + 1\\right) - 2 x_{20} e^{t} \\sin{\\left (t \\right )} + x_{30} \\left(\\sqrt{2} e^{t} \\cos{\\left (t + \\frac{\\pi}{4} \\right )} + 2\\right)\\right)\\end{matrix}\\right]$$"
],
"text/plain": [
"⎡ ⎛ ___ t ⎛ π⎞ t ___ t ⎛ π\n",
"⎢ ⎜2⋅╲╱ 2 ⋅x₁₀⋅ℯ ⋅cos⎜t + ─⎟ + x₁₀ - 2⋅x₂₀⋅ℯ ⋅sin(t) + ╲╱ 2 ⋅x₃₀⋅ℯ ⋅cos⎜t + ─\n",
"⎢ ⎝ ⎝ 4⎠ ⎝ 4\n",
"⎢ ───────────────────────────────────────────────────────────────────────────\n",
"⎢ 3 \n",
"⎢ \n",
"⎢ ⎛ ___ ⎛ π⎞ ⎞ 2⋅t \n",
"⎢ ⎜2⋅x₁₀⋅sin(t) + ╲╱ 2 ⋅x₂₀⋅sin⎜t + ─⎟ + x₃₀⋅sin(t)⎟⋅ℯ \n",
"⎢ ⎝ ⎝ 4⎠ ⎠ \n",
"⎢ \n",
"⎢⎛ ⎛ ___ t ⎛ π⎞ ⎞ t ⎛ ___ t ⎛ \n",
"⎢⎜- 2⋅x₁₀⋅⎜- ╲╱ 2 ⋅ℯ ⋅cos⎜t + ─⎟ + 1⎟ - 2⋅x₂₀⋅ℯ ⋅sin(t) + x₃₀⋅⎜╲╱ 2 ⋅ℯ ⋅cos⎜t \n",
"⎢⎝ ⎝ ⎝ 4⎠ ⎠ ⎝ ⎝ \n",
"⎢─────────────────────────────────────────────────────────────────────────────\n",
"⎣ 3 \n",
"\n",
"⎞ ⎞ t ⎤\n",
"⎟ - x₃₀⎟⋅ℯ ⎥\n",
"⎠ ⎠ ⎥\n",
"─────────── ⎥\n",
" ⎥\n",
" ⎥\n",
" ⎥\n",
" ⎥\n",
" ⎥\n",
" ⎥\n",
" π⎞ ⎞⎞ t⎥\n",
"+ ─⎟ + 2⎟⎟⋅ℯ ⎥\n",
" 4⎠ ⎠⎠ ⎥\n",
"─────────────⎥\n",
" ⎦"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"x = (eM * x0).applyfunc(sp.simplify)\n",
"x"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Igaks juhuks kontrollime, kas dünaamiline võrrand an rahuldatud."
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAABoAAABLCAMAAABZRmeuAAAAPFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAo1xBWAAAAE3RSTlMA\nMquZdlQQQOkwRIlmzd0i77ts7uXj/QAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAMtJREFUOBHtVcsS\nwiAMDOVhBVqK+f9/lRClZETPztBcSndZCLAQUFhjgRY7IwAKtSlhGwOR/hckSp3o2YqCcjrE8O4n\nqa0M6vbESkHFg8CwDahck7ToKidUWCmPnGtPOdTU3aP5UCUMhCn+QK9KrBpRPwYETsMO0oCcaa44\nSp6XrEdLhp026nhtYp9hgUM5i/H20lQtpKrB1Jiemsait/XOJy8t+li7u3xZVDxff3JTprFoqynS\nouKNuixaLfq1ZDsq0Mb407u1ZBsDT+aoGdQmGjgBAAAAAElFTkSuQmCC\n",
"text/latex": [
"$$\\left[\\begin{matrix}0\\\\0\\\\0\\end{matrix}\\right]$$"
],
"text/plain": [
"⎡0⎤\n",
"⎢ ⎥\n",
"⎢0⎥\n",
"⎢ ⎥\n",
"⎣0⎦"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"(x.applyfunc(lambda y: sp.diff(y, t)) - M * x).applyfunc(sp.simplify)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Näide #2"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Teine näide on süsteem, mida kirjeldab dünaamika\n",
"\n",
"$$\\begin{pmatrix}\n",
"\\dot{x}_1\\\\\n",
"\\dot{x}_2\\\\\n",
"\\dot{x}_3\n",
"\\end{pmatrix} = \\begin{pmatrix}\n",
"1 & 2 & 0\\\\\n",
"1 & 1 & 2\\\\\n",
"0 & -1 & 1\\\\\n",
"\\end{pmatrix} \\cdot \\begin{pmatrix}\n",
"x_1\\\\\n",
"x_2\\\\\n",
"x_3\n",
"\\end{pmatrix}.$$\n",
"\n",
"Maatriks $\\underline{\\underline{M}}$ on seega selline:"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAGkAAABLCAMAAABEOFk1AAAAPFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAo1xBWAAAAE3RSTlMA\nMquZdlQQQOkwRO/NZiK7id1su8c+aQAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAktJREFUWAntmd1y\ngyAQhRGQpv5ief93rYAmHAayDIZedPSiieyynyyrOV1ZZ9zBWatj8wDGOiPkfvStQGy24bmxpK4Z\n5BV4riItQqwrfXlK6FmfbjGpH9XrMnLflN1SbYac/Ryf9g1R2+JPgaS44KaAxJ3POJ4RM5+zc9BT\ngrQPyRLSuNnJnNre1VVzf0SENZWSJjeZJBlHGowv6iqSXRFjG7F8ZYR1G4y0H6yeNBjtImT/LN6h\nO/zqSRv1TFn8mi6ThEtNdkG74UPZkySIMV8R/bWK6C1oOe7J3MLW1VrmK1XOOrciSZD8nSuu3LnL\nprUW3N2/uQXZ8c0+jcbjwYe1J/hoJj6/m21tk/+9IUlK7z8WuScsBam345rq49AzbxKdo7zHnb18\nbmjLnT06R3mPptkDARqTipTlfuElfihAgVSqLAv9UIACab/WImVZ6IcCtCUJBWhLkq/DU4A2Jz0F\naHPSU4C2Jr0EqCV9Pb59SgtryjoX1mggQH8e+H9uYYRCUihAm2YPBGhLEgpQJBUqS1bmhwIUSc/C\naPDlJl1J6p29O3uYgf9fEdBkxMVfPsPsQZOxJDYlMAM7kLDJSJIogYl2IGGTkSTtDtRPdGAHEjYZ\nG5KiNllDUtRkbEpyLa6zydiQRGVPTdvzmHzjKdjx5IUF9kRFnE3G5NRoMIgUWfxpYAcSNhmTU6PB\nIFJkeU/CJmNyajRYS8ImYxQ0eVpNgiZjMjQMUgIT7LBPEObTJzfpSkb/b/b+6s2xsi92pSRfZVbv\nkntzLCX7BXmHJVkYbEbnAAAAAElFTkSuQmCC\n",
"text/latex": [
"$$\\left[\\begin{matrix}1 & 2 & 0\\\\1 & 1 & 2\\\\0 & -1 & 1\\end{matrix}\\right]$$"
],
"text/plain": [
"⎡1 2 0⎤\n",
"⎢ ⎥\n",
"⎢1 1 2⎥\n",
"⎢ ⎥\n",
"⎣0 -1 1⎦"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"M = sp.Matrix([[1, 2, 0], [1, 1, 2], [0, -1, 1]])\n",
"M"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Vaatame, millised on maatriksi omaväärtused."
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAADgAAAAVBAMAAADhmjDFAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAZpkQ3Ynvq81UMrtE\ndiLw+n06AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAA+klEQVQoFWNgYGBUZMACFl0GCTK7YpECCh1b\nACQYP6BL8oVGT2BgYGoAirMmgCSnGYBICHjEwPkRKO4A5IEkmYvqkSTvT2D4AtUE0XkfSfLYAeYf\nOCUZIMYCTYTaCdXpDhQAApMAqDh7A4gLkWTOALEZnjoBLQH7YtoCEB/ZTqCuHKBQEwPD6iyQHJok\nQxpQK7svNCRQJN8xMOyfwMDQDtSDbCfYEIb/BiBJsJ3gkEDRmc3A4P8A4gvkQIC4VpCB8y/UK2BJ\n9fx2AZCZYH/yKGkfQJaEWIZCgjVBjEURB3PA4pjxCVHI1ACiWyEcdPLYAZAIJ/Y0FMzAAAADVjx4\nITqjfAAAAABJRU5ErkJggg==\n",
"text/latex": [
"$$\\left \\{ 1 : 3\\right \\}$$"
],
"text/plain": [
"{1: 3}"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"ev = M.eigenvals()\n",
"ev"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Maatriksil on üks reaalne omaväärtus $\\lambda_1 = 1$, mille kordsus on 3. Reaalosa on positiivne, seega on püsipunkt $(0, 0, 0)$ **repeller**. Sellega kaasneb üks omavektor."
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAEYAAABLCAMAAAD6bgFoAAAAPFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAo1xBWAAAAE3RSTlMA\nMquZdlQQQOkwRM3dIruJ72ZsPtw6XAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAb5JREFUWAntWMF2\nhCAMVEC6FRQt//+vJQkowcsC7WsPcCgMkulkxOA6zR6bmLBxRHP8r6X1cfJCs5cqtIXmOeIEhE5Y\nLXy8dKHZz9lqjrILfHgmGpwGxAM5ymI3Kff9+oetNBq8c36NxK00QgPBcXTSHBYIRPKxVY3xIKeb\nhpKxSBbGrWqQZvWO6PpobNzq76vRxl7NxO0iZdTyPs0VcA/UzdKR1AIs20a0zRbPqEV10mzWOScF\nbsIgqFWNoSrTS3M7jaNWNYOmLKmFIzccFt9elKM/80ZLd7rrnIuy6tWYcLprGwtESq6a5sQTzplE\nQH01zY5lfEknS2tSHmlWH19cGmm0x+K5esWyqk1qoxNuvg66Nm82UtNL83ZSH6/PLG2OwgWyeCks\n/nplMRMg/prGUVi77xBw9t5w2n6yd/tNFh6Go3ioam94oHDhNbhgaT41c0fRq3wCtHFTOcrXsnF9\nUiw8gUGTnHj2w5unJ2nmD71ZDvxNlpRAX61GCymKmtVCE2LUoIE7UBQxnBrekA3/3hspDm/EGdXG\nrvqZ4uEJDZrkxLP/RW9+5POhhs+BSsVvaBw9swllmNbHSwl9AxPpLIU9rMvJAAAAAElFTkSuQmCC\n",
"text/latex": [
"$$\\left [ \\left[\\begin{matrix}-2\\\\0\\\\1\\end{matrix}\\right]\\right ]$$"
],
"text/plain": [
"⎡⎡-2⎤⎤\n",
"⎢⎢ ⎥⎥\n",
"⎢⎢0 ⎥⎥\n",
"⎢⎢ ⎥⎥\n",
"⎣⎣1 ⎦⎦"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"[(M - y * sp.eye(3)).nullspace()[0].applyfunc(sp.nsimplify) for y in ev]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Omavektor ja üldistatud omavektorid moodustavad teisendusmaatriksi $\\underline{\\underline{P}}$."
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAHEAAABNCAMAAACmGHs0AAAAPFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAo1xBWAAAAE3RSTlMA\nMquZdlQQQOkwRM3viSJmu91sTHWKGgAAAAlwSFlzAAAOxAAADsQBlSsOGwAAA6BJREFUaAW9mu2a\noyAMhRXUnVXxY73/e10CRSASIC1TfgwQ4byAiGd82nW/nvrl1xERoJfijAJdf5kk4mjL2miJpwV1\nmigHncaWjFjrRdwBIy4g9nGD5rUX0ejuBHEZpq6XNdOepNpVYcg1xBWWXNVMdtHDms4t27SGuCgx\n5FVeiH2Fgspv/xpi9cY9TMvxmnKTbEq8DHG+srd8NAthx0TtHLHvgyzsB1CYLgnZfA2QpdMmz0vc\n1ynioVdpu+a0RBDd7Pbq63YZdKSIRvRAh1NAcsXNzrEVUV7F7Vqzqm50NifmKMxuVxXLanfOmNk5\n9jDVf7PE1RBlfs8bheOAbK9oaYHUfTQbsDvzz7WRsCeAzLZU8pD380qs6gbIfS3eRt3qhFNuzT1I\nSsvY2wRjJIjdJpXw44KWVJqUfgPlgB0cuv29CSkipf9O/NSPtX+2v0GEUfqD91vEs3jKvbN6mT7K\nbn5o8Z057h74HeKszcTstvPnc+xFv+17ZkW7fhnHEV5GJn1OnPWJmXcMxjO9TtUW93Eeezf83ETv\naw3mWH5t3zQoNCBqQ193HlowRazxvVZh03PczSvL1p9/Yy2KWON7vbY/p33Ml2Itgljle62m0Ptm\nypkFpEUQq3yvJcJLdMtZAKRFEKt8ryUqPcfg2PSL6UpIK01kOTSlZO5fIqyVJvJ9r5vQM8daFNEc\n9gzf+yS5CPbQaSJeCdf7nRxrAfHPz18sVfa9rgfyvy4c5Ejr30/yOwDb9wYEXERa6VXVVhX65X2v\nU478rwsGOdIiiBW+12nG/tdFwzz20BSx7HudZux/XTTMYy2KGPbIl2P/m28LVz8ngor3v1DLpzZE\n73/zNLjahJg9yPEYWhBD/4v1n/UGxMj/Pgk4UiJy/S/Wf9ZLRK7/fRJwpEhk+l+s/6wXiUz/+yTg\nSJHI9L9Y/1kvEbn+90nAkRIR2nP8L9a39XH1/wyViFz/myBOQorAz5aIXP+bIOrQwCBy/e/nxI7p\nfxsQ0xJ3FPvf+0JU4Kxq1DFRwf430USHSOK0nHda3NeQtIaLYv/r4nFOEuNmUGP736cERBjEtEAY\nRf43vOTLLCLT/3pKWOIQuf435Pgyh8j1v57iS1Ks1yLch7TSKcf1v55DlUpE6MfxvxTHx2uIHP/r\nlalSBZHlfymOj5eJPP/rlalSkcj0vxTHxy3RHGbJz7Lx91/f763S/QuECX4YMAxJnxh//32L4zuZ\nXyAMQ/cfUlcu4Bt4SJUAAAAASUVORK5CYII=\n",
"text/latex": [
"$$\\left[\\begin{matrix}5 & 0 & \\frac{1}{2}\\\\0 & \\frac{5}{2} & 0\\\\- \\frac{5}{2} & 0 & 1\\end{matrix}\\right]$$"
],
"text/plain": [
"⎡ 5 0 1/2⎤\n",
"⎢ ⎥\n",
"⎢ 0 5/2 0 ⎥\n",
"⎢ ⎥\n",
"⎣-5/2 0 1 ⎦"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"P, jc = M.jordan_cells()\n",
"P = P.applyfunc(sp.nsimplify)\n",
"P"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Selle abil leiame ka Jordani normaalkuju $\\underline{\\underline{J}}$."
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAFgAAABLCAMAAADDCbAzAAAAPFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAo1xBWAAAAE3RSTlMA\nMquZdlQQQOkwRO/NZondIrtsRPdGkQAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAehJREFUWAntmeGS\ngyAMhKOi16vVtsf7v+uBVEgU2Rmb3szNwB8zbP2MAXSL1NiltaTU7oFH1NjOuNYrcWnytNZ6cKPF\nTJxJETx08zSvOW7A/Tiki2aion5zxRzuj3AaBw9t19oCGOjT6JHzbQ92PaYEBvpzmVb9i8AzBif6\nTEoXtgv4asPs0gMPtvOXvlrjD6QHftjZA5twUAUvGeuDP1YKCoPXqw8ePZ9h0MJK0Bs8Cguk018g\ndPdLenw9LETGXTvaWzv5O8o2oA+ze1oePISyvFOdIuNThIOTKjgWppailiJWIAZiVgjHEX9yLhBg\n4TiyvKJhIWIyB0vHsQcDwyJlDpaOYw92PSVfIWUOlo5DD7x5zeqBN45DEywchx5YvxRfl+8lPek4\n3sz455L+g0jH8SaYTzfpOBTB0nFogoXjyICBYREyL0UGdb6rgmPtailqKWIFYvA3swIZFqTHdF0g\nMkaGBelnDQswNOcNCzY0zM/wUiDDgnRhlBgYvaWR7kYsnzEyLEgvgMuG5RE2fdYtFD631jifMbpV\npB9mvNkiWbNIR2xo8hlvtkgScI2woTkAI8OC9KNZQdCwiC2U9T748SBjQoYF6NWw8CKnmD0rUqdG\n9F/BH/rAMvgPIsZcNUrrGcsHFmPoF+h8JUzMd2cWAAAAAElFTkSuQmCC\n",
"text/latex": [
"$$\\left[\\begin{matrix}1 & 1 & 0\\\\0 & 1 & 1\\\\0 & 0 & 1\\end{matrix}\\right]$$"
],
"text/plain": [
"⎡1 1 0⎤\n",
"⎢ ⎥\n",
"⎢0 1 1⎥\n",
"⎢ ⎥\n",
"⎣0 0 1⎦"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"J = (P.inv() * M * P).applyfunc(sp.nsimplify)\n",
"J"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Nüüd on ka lihtne leida selle maatriksi eksponenti $e^{\\underline{\\underline{J}}t}$."
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAIUAAABOCAMAAAA5KyV5AAAAPFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAo1xBWAAAAE3RSTlMA\nMquZdlQQQOkwRIki3e9mzbtsqSkGDgAAAAlwSFlzAAAOxAAADsQBlSsOGwAABDJJREFUaAXtmtvW\noyAMhVNR5h8PVcf3f9cJoJWEQ9LVjp2LelFBQvgaIrJbAa44bsOwjlcMVB1jBein2GJs4tpF5QXA\nbjYabG6jChZvmz/+OVsXx2KYzOwwpjC4ozAtHh1hW26kWq8IxqHZLiQvdqTZDd1sjiIdkUavzsBC\nnRgHX7aJ5wMsTtHjmAsUJHoP60JBMPbN1ox2iPp3BvyM+Et5itFMi0kDFDmJioLx3uzm30+CHXAK\nAMamPScoTwGw0CyJBs0UBWPSbBcLlt8IJYrtBE2HtRNtrRoDkOamaedzKnbfBYr+no59XukwmaKj\nbgy0+d5HPY9igaJtwNLve3RwZxPnN0DdmDX7+5HcLeiwQGFaiBM6RsDyRNvqxkCbV0w4KS9cAhsM\nQt+0pVukb9ZtbdzyqzB2+NSXbfAWqceid2k30m/qHNFjTwudMe1aqJEZGe8uXOJCEdJCaVwYl14m\nFM0dV/WZh4t2wFpIC6UxhKdV6TM4JxQbX00SAHfBbv5m0xlnPSQXKYWUEb5771YLC5vKmA44mNXk\nQk0o7sEx235QRwADrhbdDXTGpPOAud/QtSa0E4rWWeDDj3RNKgZXNATVGZPe7g68kfV8byYU0JrM\nIk8cYWVcw4NAZUw6T5hQY8gqcr20dlKjd9Y6svncPdNYvHO4gq8pl3VXUwwmR3cxxZyFuDgvelwK\n+sxj8tJY3Jau69bMsnUpxd0/TTKJ8QYKQRJlBsVLtNPrFE/ppwOJdXqdQpBEx7j0zDq9SiFIIjr2\nUUs6JRTWDPOQuZkOD8mZaJ6ktXCBdUooXDtXPQVX4XLuGZl04B5ZJ04xeznkthDKg2qeUidBR3GK\n1W/6sg++/AiCJNo7CTqKU4TdZL+pxTLVPHnSY8P8aOWdGIXd/OOm33LP34cTV1BKImcq6yhGMYY9\n7U3c2j4niSQd5Sh+/fx2yO4YQyxEiiclkaSj/vyQ37W0M6KVROG7iTqKzQiE7Oyk7HxOEok6ilOs\n+But+z0hswnYv5c/iXkTG4OoozhFWLXY7U1c+spzkkjUUZwCJreC36UHyXOSSNRRCYVbBxoJApWZ\nRj8dMRR1VEJx9Lz0/KU4w/2NxTcWZwTO0kfygkoihPkEBZNEH6JgkugjFIkkylHoVZHeEseJDyaJ\nsCnJC70q0lvGCFhmkihDoVdFeksGkdFRPBZ6VaS3ZBQZHcUp9KpIb8kouCRKZ0S7B8f9mFo/HRAV\nHcVioVZFqFz8T/eicjkY8L2H8v9QCYVXiArfWv10UFR1FKPQx1lvGTiqOopRaFURelbqpyMWVR3F\nKZSqCH3rLT1IVUdxCqUqQsd6S09R1VGcQqmKnGOdfvII+FHVUQmFUhWhX72lJ6npqITiYL/0/KU4\nw/0/xcL/b6H6e/vkf1Pp8daYdS9utW3uVZU3DVVx498aw5eW/gLBpDGkm56EsgAAAABJRU5ErkJg\ngg==\n",
"text/latex": [
"$$\\left[\\begin{matrix}e^{t} & t e^{t} & \\frac{t^{2} e^{t}}{2}\\\\0 & e^{t} & t e^{t}\\\\0 & 0 & e^{t}\\end{matrix}\\right]$$"
],
"text/plain": [
"⎡ 2 t⎤\n",
"⎢ t t t ⋅ℯ ⎥\n",
"⎢ℯ t⋅ℯ ─────⎥\n",
"⎢ 2 ⎥\n",
"⎢ ⎥\n",
"⎢ t t ⎥\n",
"⎢0 ℯ t⋅ℯ ⎥\n",
"⎢ ⎥\n",
"⎢ t ⎥\n",
"⎣0 0 ℯ ⎦"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"eJ = (t * J).exp()\n",
"eJ"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Lõpuks kasutame lineaarset teisendust, et leida maatriksi eksponenti $e^{\\underline{\\underline{M}}t}$."
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/latex": [
"$$\\left[\\begin{matrix}\\left(t^{2} + 1\\right) e^{t} & 2 t e^{t} & 2 t^{2} e^{t}\\\\t e^{t} & e^{t} & 2 t e^{t}\\\\- \\frac{t^{2} e^{t}}{2} & - t e^{t} & \\left(- t^{2} + 1\\right) e^{t}\\end{matrix}\\right]$$"
],
"text/plain": [
"⎡⎛ 2 ⎞ t t 2 t ⎤\n",
"⎢⎝t + 1⎠⋅ℯ 2⋅t⋅ℯ 2⋅t ⋅ℯ ⎥\n",
"⎢ ⎥\n",
"⎢ t t t ⎥\n",
"⎢ t⋅ℯ ℯ 2⋅t⋅ℯ ⎥\n",
"⎢ ⎥\n",
"⎢ 2 t ⎥\n",
"⎢ -t ⋅ℯ t ⎛ 2 ⎞ t⎥\n",
"⎢ ─────── -t⋅ℯ ⎝- t + 1⎠⋅ℯ ⎥\n",
"⎣ 2 ⎦"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"eM = (P * eJ * P.inv()).applyfunc(sp.simplify)\n",
"eM"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Algtingimusele $(x_{10}, x_{20}, x_{30})$ vastav lahend on siis selline."
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n7IyJ1L737wAAAABJRU5ErkJggg==\n",
"text/latex": [
"$$\\left[\\begin{matrix}2 t^{2} x_{30} e^{t} + 2 t x_{20} e^{t} + x_{10} \\left(t^{2} + 1\\right) e^{t}\\\\t x_{10} e^{t} + 2 t x_{30} e^{t} + x_{20} e^{t}\\\\- \\frac{t^{2} x_{10}}{2} e^{t} - t x_{20} e^{t} + x_{30} \\left(- t^{2} + 1\\right) e^{t}\\end{matrix}\\right]$$"
],
"text/plain": [
"⎡ 2 t t ⎛ 2 ⎞ t⎤\n",
"⎢2⋅t ⋅x₃₀⋅ℯ + 2⋅t⋅x₂₀⋅ℯ + x₁₀⋅⎝t + 1⎠⋅ℯ ⎥\n",
"⎢ ⎥\n",
"⎢ t t t ⎥\n",
"⎢ t⋅x₁₀⋅ℯ + 2⋅t⋅x₃₀⋅ℯ + x₂₀⋅ℯ ⎥\n",
"⎢ ⎥\n",
"⎢ 2 t ⎥\n",
"⎢ t ⋅x₁₀⋅ℯ t ⎛ 2 ⎞ t⎥\n",
"⎢- ───────── - t⋅x₂₀⋅ℯ + x₃₀⋅⎝- t + 1⎠⋅ℯ ⎥\n",
"⎣ 2 ⎦"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"x = eM * x0\n",
"x"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Igaks juhuks kontrollime, kas dünaamiline võrrand an rahuldatud."
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAABoAAABLCAMAAABZRmeuAAAAPFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAo1xBWAAAAE3RSTlMA\nMquZdlQQQOkwRIlmzd0i77ts7uXj/QAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAMtJREFUOBHtVcsS\nwiAMDOVhBVqK+f9/lRClZETPztBcSndZCLAQUFhjgRY7IwAKtSlhGwOR/hckSp3o2YqCcjrE8O4n\nqa0M6vbESkHFg8CwDahck7ToKidUWCmPnGtPOdTU3aP5UCUMhCn+QK9KrBpRPwYETsMO0oCcaa44\nSp6XrEdLhp026nhtYp9hgUM5i/H20lQtpKrB1Jiemsait/XOJy8t+li7u3xZVDxff3JTprFoqynS\nouKNuixaLfq1ZDsq0Mb407u1ZBsDT+aoGdQmGjgBAAAAAElFTkSuQmCC\n",
"text/latex": [
"$$\\left[\\begin{matrix}0\\\\0\\\\0\\end{matrix}\\right]$$"
],
"text/plain": [
"⎡0⎤\n",
"⎢ ⎥\n",
"⎢0⎥\n",
"⎢ ⎥\n",
"⎣0⎦"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"(x.applyfunc(lambda y: sp.diff(y, t)) - M * x).applyfunc(sp.simplify)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Küsimused"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Hüperboolne püsipunkt\n",
"\n",
"Millised on Jacobi maatriksi omaväärtuste reaalosad hüperboolse püsipunkti juures?\n",
"\n",
"* \n",
"* \n",
"* \n",
"* \n",
"* "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Polünoomid maatriksi eksponendis\n",
"\n",
"Millisel juhul sisaldab maatriksi eksponent $e^{\\underline{\\underline{M}}t}$ polünoome ($t, t^2, \\ldots$)?\n",
"\n",
"* \n",
"* \n",
"* "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Püsipunkti tüüp\n",
"\n",
"Milline on järgneva süsteemi püsipunkt $\\underline{x}_* = (0, 0, 0)$?\n",
"\n",
"$$\\begin{pmatrix}\n",
"\\dot{x}_1\\\\\n",
"\\dot{x}_2\\\\\n",
"\\dot{x}_3\n",
"\\end{pmatrix} = \\begin{pmatrix}\n",
"-5 & -4 & 9 \\\\\n",
"3 & 2 & -3 \\\\\n",
"-4 & -4 & 8\n",
"\\end{pmatrix} \\cdot \\begin{pmatrix}\n",
"x_1\\\\\n",
"x_2\\\\\n",
"x_3\n",
"\\end{pmatrix}$$\n",
"\n",
"* \n",
"* \n",
"* "
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.5.2"
}
},
"nbformat": 4,
"nbformat_minor": 1
}