{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Bevezetés\n",
    "Sykora Henrik - BME-GPK Műszaki Mechanikai Tanszék (sykora@mm.bme.hu)\n",
    "### Python programozási nyelv\n",
    "\n",
    "A Python egy open-source (OS), interpretált, általános célú programozási nyelv (vagy script-nyelv).\n",
    "\n",
    "**Tulajdonságai:**\n",
    "- Objektum orientált\n",
    "- Interpretált\n",
    "    - Nem szükséges fordítani (mint a pl a *C++*-t), elég csak beírni a parancsot, és már futtatható is a kód\n",
    "    - Alkalmas teszi számítások gyors-prototipizálására\n",
    "    - Cserébe lassú\n",
    "- Open-source:\n",
    "    - Ingyenes\n",
    "    - Folyamatosan karban tartott \n",
    "    - Széles körben felhasznált iparban és akadémiában is\n",
    "    - Nagy \"Community\", sok segédlettel, fórummal (pl.: [stackoverflow](https://stackoverflow.com/questions/tagged/python)) \n",
    "- Moduláris:\n",
    "    - Rengetek feladatra létezik \"*package*\" (pl.: numerikus számításokra *numpy*/*scipy*, szimbolikus számításokra *sympy*, táblázatfájl-kezelésre *CSV*)\n",
    "    - Csak azt kell behívni, amire szükségünk van\n",
    "    - Ismerni kell a *package* ekoszisztémát, mik léteznek, mi mire jó, stb...\n",
    "- Sok IDE (*Integrated Development Environment*) létezik:\n",
    "    - Alapvetően shell (terminál) alapú\n",
    "    - Notebook: **_jupyter notebook_**, *jupyter lab*\n",
    "    - Szövegszerkesztő: *Spyder*, *VS Code* (ingyenes/open source - ezek tartalmaznak *Debugger*-t is)\n",
    "    - Fizetős szövegszerkeszők (lista nem teljes): *Visual Studio*, *PyCharm*, stb...\n",
    "    \n",
    "### Jupyter notebook működése (+ Python kernel):\n",
    "\n",
    "Legfontosabb tudnivalók:\n",
    "\n",
    "- Csak egy *front-end*, ami kommunikál egy *kernel*-lel (ez a kernel menüben választható).\n",
    "- Két mód létezik:\n",
    "    - Command mode (cellaműveleteket lehet végezni)\n",
    "    - Edit mode (szövegbevitel cellába)\n",
    "- Command mode (`ESC` billentyű lenyomásával érhető el, kék csík a cella kijelölése esetén):\n",
    "    - Notebook mentése: `s`\n",
    "    - Cellák hozzáadása: `b` az aktuális cella alá, `a` az aktuális cella fölé\n",
    "    - Cella törlése: kétszer egymás után a `d` billentyű lenyomása\n",
    "    - Cella törlésének visszavonása: `z`\n",
    "    - Cella másolás: `c`, kivágás: `x`, beillesztés az aktuális cella alá: `v`\n",
    "    - Számozás bekapcsolása a cella soraira: `l` (kis L), vagy `Shift + l` az összes cellára\n",
    "    - Cellamódok: futtatandó kód: `y`, nyers kód (nem futtatható): `r`, markdown (formázott szöveg): `m` \n",
    "- Edit mode (`Enter` billenytű lenyomásával érhető el, zöld szín):\n",
    "    - Sor \"kikommentelése\"/\"visszaállítása\": `Ctrl + /`\n",
    "    - Több kurzor lehelyezése: `Ctrl + Bal egérgomb` \n",
    "    - Téglalap-szerű kijelölés (rectangular selection): `Alt + Bal egérgomb` \"húzása\" (dragging)\n",
    "- Közös\n",
    "    - Cella futtatása, majd cellaléptetés: `Shift + Enter` (ez létrehoz egy új cellát, ha nincs hova lépnie)\n",
    "    - Cella futtatása cellaléptetés nélkül: `Ctrl + Enter` \n",
    "\n",
    "**Jupyter notebook help-jének előhozása**: *Edit mode*-ban `h` lenyomásával  \n",
    "**Python help**: Kurzorral a függvény nevén állva `Shift + Tab` vagy egy cellába `?\"fv_név\"` beírása és futtatása\n",
    "\n",
    "### A bevezető felépítése:\n",
    "- [Alapműveletek](#Alapmuveletek)\n",
    "- [Összetett függvények](#Osszetettfuggvenyek)\n",
    "- [Saját függvények](#Sajatfuggvenyek)\n",
    "- [Listák és vezérlési szerkezetek](#Vezerlesiszerkezetek)\n",
    "- [Külső függvénykönyvtárak](#Kulsofuggvenykonyvtarak)\n",
    "    - [Szimbolikus matematikai műveletek](#Szimbolikus)\n",
    "    - [Deriválás/Integrálás](#DerivalIntegral)\n",
    "    - [Vektor és mátrixszámítások Sympy-ban](#SzimVektorMatrix)\n",
    "    - [Vektor és mátrixszámítások Numpy-ban](#NumVektorMatrix)\n",
    "    - [Egyenletek megoldása Scipy-ban](#Egyenletek)\n",
    "    - [Szimbolikus függvényekből numerikus függvények](#SymToNum)\n",
    "- [Egyszerű ábrák készítése](#Egyszeruabrak)\n",
    "- [+ Osztályok](#Osztalyok)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Python bevezető "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Alapműveletek (Shift/Ctrl + Enter-rel futtassuk)<a id='Alapmuveletek'></a>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:27.030566Z",
     "start_time": "2020-02-24T14:30:27.011636Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "24"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "17 + 7 #Összeadás"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:27.048421Z",
     "start_time": "2020-02-24T14:30:27.032860Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "1+1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:27.064491Z",
     "start_time": "2020-02-24T14:30:27.054480Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "326"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "333 - 7 #Kivonás"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:27.079706Z",
     "start_time": "2020-02-24T14:30:27.066825Z"
    },
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "242"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "11 * 22 #Szorzás"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:27.094382Z",
     "start_time": "2020-02-24T14:30:27.082300Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.2857142857142858"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "9/7 #Osztás (ez nem egész (int) lesz: külön típus float)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:27.108835Z",
     "start_time": "2020-02-24T14:30:27.096313Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "9//7"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:27.122691Z",
     "start_time": "2020-02-24T14:30:27.110438Z"
    },
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "-2.7755575615628914e-17"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "0.3-0.1-0.2 # float: számábrázolási hiba lehet!!"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:27.136661Z",
     "start_time": "2020-02-24T14:30:27.124273Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "81"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "9**2 # Hatványozás (** és NEM ^!)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:27.151890Z",
     "start_time": "2020-02-24T14:30:27.138916Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.4142135623730951"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "2**(0.5) # Gyökvönás hatványozás segítségével"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:27.166327Z",
     "start_time": "2020-02-24T14:30:27.153901Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.005"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "5e-3 #normálalak e segítségével (vagy 5E-3)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Néhány alapművelet működik szövegre is"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:27.181132Z",
     "start_time": "2020-02-24T14:30:27.168589Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'str1_str2_'"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "'str1_' + 'str2_' #Összeadás"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:27.194650Z",
     "start_time": "2020-02-24T14:30:27.183558Z"
    },
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'str2_str2_'"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "2 * 'str2_' #Szorzás"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Összetettebb függvények <a id='Osszetettfuggvenyek'></a>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:27.239794Z",
     "start_time": "2020-02-24T14:30:27.197061Z"
    },
    "scrolled": true
   },
   "outputs": [
    {
     "ename": "NameError",
     "evalue": "name 'sin' is not defined",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mNameError\u001b[0m                                 Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-13-f662c61863ec>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0msin\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;31m#szinusz\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[0;31mNameError\u001b[0m: name 'sin' is not defined"
     ]
    }
   ],
   "source": [
    "sin(2) #szinusz"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Összetettebb függvények már nincsenek a python alapnyelvben - ilyenkor szükséges behívni külső csomagokat, pl a **math** csomagot"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:37.494160Z",
     "start_time": "2020-02-24T14:30:37.490940Z"
    }
   },
   "outputs": [],
   "source": [
    "import math"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:37.654331Z",
     "start_time": "2020-02-24T14:30:37.640304Z"
    }
   },
   "outputs": [
    {
     "ename": "NameError",
     "evalue": "name 'sin' is not defined",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mNameError\u001b[0m                                 Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-35-a0912eaca942>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0msin\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;31m# ez így továbbra sem létezik\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[0;31mNameError\u001b[0m: name 'sin' is not defined"
     ]
    }
   ],
   "source": [
    "sin(2) # ez így továbbra sem létezik"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:38.278324Z",
     "start_time": "2020-02-24T14:30:37.811454Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/latex": [
       "$\\displaystyle 0.9092974268256817$"
      ],
      "text/plain": [
       "0.9092974268256817"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "math.sin(2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:38.282905Z",
     "start_time": "2020-02-24T14:30:38.280034Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1.4142135623730951\n",
      "-2.185039863261519\n",
      "1.1071487177940904\n"
     ]
    }
   ],
   "source": [
    "# Több parancs együttes beírásakor nem látszik, csak az utolsó sor kimenete: print függvény alkalmazása!\n",
    "print(math.sqrt(2))\n",
    "print(math.tan(2))\n",
    "print(math.atan(2))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:38.298398Z",
     "start_time": "2020-02-24T14:30:38.284168Z"
    }
   },
   "outputs": [],
   "source": [
    "# Kimenet el is rejthető a ; segítségével (\"suppress output\")\n",
    "1+1;"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Amennyiben szükséges, definiálhatunk mi is saját változókat az `=` jellel.  \n",
    "Megjegyzés: a `=` értékadó függvénynek nincs kimenete"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:38.919260Z",
     "start_time": "2020-02-24T14:30:38.914779Z"
    }
   },
   "outputs": [],
   "source": [
    "a=2\n",
    "b=3\n",
    "c=4.0 # automatikus típusadás"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:39.669381Z",
     "start_time": "2020-02-24T14:30:39.224038Z"
    },
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAC0AAAAOCAYAAAC7IpUCAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACfklEQVRIDZ2W4VFbMQzHgWMALkwAbAB0g7BBKRMAG5Sv+dajG1AmoHQDsgElGxAmALJB+vsZyxjzePeK7hTJ8l+WLMt+WV0ulytBk8lkF/0a3kNfhL2W2C+q8Qj9uAd7XmFVr8DOGlvnEFz4PgLYgc+xzQWvo2wgL+EneB/eht9Rxt0xcYH+UwDSTT4g3WRaMNtdw82fYZ9mm2PZBHoJH+P8QP4RiDTHO+QBPF/jZwEfwqdMXAn6gNzYCFxKWAy6VfsL19V3yuSsakpYA2TgsrFk6fjB50QsMiUsBN1Td5zirGkcSF/BdQU18TELm5QBxHkCvxwHYbdKBzHukYfMdbXQLfYUZ1DSBEsJ4WQLtWTPSbaW5Il5elbnMzTGqStOFGy8PmRVE4CFevFa2syG7SxNfg7eah/BcZGusdXtkuGvgvkozqvxvTYalHT2s6esQksmJ0XAkPskcfYyldrmmbEvTenVmKtkFKXvlDYGtUde9FhJ0JI4uglHAKsbCe+iv+lpcL/hywrD8FO0OThpgpncFuxL8x32HbUlvCBS9Fyrp0l+fMbcVPR+2GvZ1csxH6fw+D/tsZIT96IVysk7ttLR+1H9gquU6P3K9KJW/nFiNSZs88GVrr0b3RaZ5g055WWLAI5bqk+knXOsf9fGotLTwZUmKd9fPzBbkSDS5OzxPTjID4Afl5bEeBK9LwgYfeMTXq+h/8zYbaXj+Ypd1U7uvu05A5yy0CyA6L4OVr4ERndz3+B0mcVqg5ewvV6IsRf4CWmREqG/8V/1DxPGqIxVE2ASHuMNc+UVQI9ExEgfvr0ZGziL4H+JsjmdGd8j3GB7T/Qz1gL2nf8CF/9/BbD8n4+jmpEAAAAASUVORK5CYII=\n",
      "text/latex": [
       "$\\displaystyle 196.0$"
      ],
      "text/plain": [
       "196.0"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "(a+b*c)**a # a legáltalánosabb típus lesz a kimenet (int < float)"
   ]
  },
  {
   "cell_type": "raw",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-09-09T09:30:55.312952Z",
     "start_time": "2019-09-09T09:30:55.302551Z"
    }
   },
   "source": [
    "# Fontos, hogy igyekezzük kerülni védett változó neveket! ILYET NE!\n",
    "math.sqrt = 1\n",
    "math.sqrt(2)\n",
    "\n",
    "# KERNEL RESTART SZÜKSÉGES"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Ha véletlenül ilyet teszünk, akkor érdemes újraindítani a *kernel* a fent látható körkörös nyíllal, vagy a *Kernel* $\\rightarrow$ *Restart* segítségével**"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Saját függvények <a id='Sajatfuggvenyek'></a>\n",
    "\n",
    "Szerkezet:\n",
    "```python\n",
    "def function(*arguments):\n",
    "    instruction1\n",
    "    instruction2\n",
    "    ...\n",
    "    return result\n",
    "```\n",
    "\n",
    "A függvény alá tartozó utasításokat tabulátoros behúzással (indent) kell beírni (nincs `{}` zárójel, vagy `end`). A függvény neve után jönnek az argumentumok majd kettősponttal `:` jelezzük, hogy hol kezdődik a függvény."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:39.971178Z",
     "start_time": "2020-02-24T14:30:39.964602Z"
    }
   },
   "outputs": [],
   "source": [
    "def foo(x):\n",
    "    return 3*x\n",
    "\n",
    "def bar(x,y):\n",
    "    a = x+y**2\n",
    "    return 2*a + 4"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:40.165605Z",
     "start_time": "2020-02-24T14:30:40.157459Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "9\n",
      "9.0\n",
      "szöveg_szöveg_szöveg_\n",
      "42.0\n"
     ]
    }
   ],
   "source": [
    "print(foo(3))\n",
    "print(foo(3.))\n",
    "print(foo('szöveg_'))\n",
    "\n",
    "print(bar(3,4.))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Lehetséges úgynevezett anonim függvényeket (*anonymous function* vagy *lambda function*) is létrehozni, amely gyors módja az egyszerű, egysoros függvények létrehozására:\n",
    "\n",
    "```python\n",
    "lambda arguments: instruction\n",
    "```\n",
    "\n",
    "Ez akár egy változóhoz is hozzárendelhető, mint egy szám vagy string."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:40.765556Z",
     "start_time": "2020-02-24T14:30:40.761230Z"
    }
   },
   "outputs": [],
   "source": [
    "double = lambda x : x*2\n",
    "multiply = lambda x,y : x*y"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:40.963430Z",
     "start_time": "2020-02-24T14:30:40.958127Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "6\n",
      "30\n"
     ]
    }
   ],
   "source": [
    "print(double(3))\n",
    "print(multiply(10,3))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Listák és vezérlési szerkezetek (Control Flow) - csak a legfontosabbak <a id='Vezerlesiszerkezetek'></a>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Listák"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:41.588956Z",
     "start_time": "2020-02-24T14:30:41.580914Z"
    }
   },
   "outputs": [],
   "source": [
    "lista = [1,2,3,4,\"valami\",[1.0,4]]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:41.808134Z",
     "start_time": "2020-02-24T14:30:41.800693Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1\n",
      "4\n",
      "[1.0, 4]\n",
      "valami\n"
     ]
    }
   ],
   "source": [
    "print(lista[0]) # lista 1. eleme\n",
    "print(lista[3]) # lista 4. eleme\n",
    "print(lista[-1]) # negatív számokkal hátulról indexeljük a listát, és (-1)-től indul\n",
    "print(lista[-2]) # lista utolsó előtti eleme"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:42.018213Z",
     "start_time": "2020-02-24T14:30:42.009461Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[2, 3, 4, 'valami']\n",
      "[2]\n",
      "[3, 4, 'valami', [1.0, 4]]\n"
     ]
    }
   ],
   "source": [
    "print(lista[1:-1]) # egyszerre több elem [inkluzív:exklúzív módon]\n",
    "print(lista[1:2]) # egyszerre több elem [inkluzív:exklúzív módon]\n",
    "print(lista[2:]) # lista utolsó elemét is figyelembe vesszük"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:42.709853Z",
     "start_time": "2020-02-24T14:30:42.226340Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/latex": [
       "$\\displaystyle \\left[ 0, \\  1, \\  1, \\  2, \\  3, \\  4, \\  9, \\  64, \\  89\\right]$"
      ],
      "text/plain": [
       "[0, 1, 1, 2, 3, 4, 9, 64, 89]"
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lista = [2,3,64,89,1,4,9,0,1]\n",
    "\n",
    "lista.sort()\n",
    "lista"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### if-then-else\n",
    "\n",
    "```python\n",
    "if condition:\n",
    "    instruction1\n",
    "elif condition2:\n",
    "    instruction2\n",
    "else:\n",
    "    intsturction3\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:42.715958Z",
     "start_time": "2020-02-24T14:30:42.711849Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\"a\" nagyobb mint 3, de kisebb mint 10\n"
     ]
    }
   ],
   "source": [
    "a=4\n",
    "if a<=3:\n",
    "    print('\"a\" nem nagyobb, mint 3')\n",
    "elif a>=10:\n",
    "    print('\"a\" nem kisebb, mint 10')\n",
    "else:\n",
    "    print('\"a\" nagyobb mint 3, de kisebb mint 10')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### for ciklus (for loop)\n",
    "```python\n",
    "for i in array:\n",
    "    instruction\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:42.986576Z",
     "start_time": "2020-02-24T14:30:42.971779Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0\n",
      "1\n",
      "2\n",
      "\n",
      "lista 0. eleme: 0\n",
      "lista 1. eleme: 1\n",
      "lista 2. eleme: 1\n",
      "lista 3. eleme: 2\n",
      "lista 4. eleme: 3\n",
      "lista 5. eleme: 4\n",
      "lista 6. eleme: 9\n",
      "lista 7. eleme: 64\n",
      "lista 8. eleme: 89\n"
     ]
    }
   ],
   "source": [
    "for i in range(3):\n",
    "    print(i)\n",
    "    \n",
    "print()\n",
    "\n",
    "for (i,elem) in enumerate(lista):\n",
    "    print('lista ',i,'. eleme: ',elem,sep='') # több elem printelése egyszerr, szeparátor = ''\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Listák gyors létrehozása (List comprehension)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:43.781146Z",
     "start_time": "2020-02-24T14:30:43.359439Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGYAAAAVCAYAAAC0aZsNAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAD90lEQVRoBe2Z21HcMBSGFyYFENIBdMClgpAO2EkFgQ6SyRO8ZaCDhA4CHZBUwEAHoYMESsj3GctjWzKrXdvLPnBmhOQj+fxH5yatWTs5Ofk8mUyOadL09PT07mn4+neZFsDuDT+s4ZgzFLhm4tcyFRkLi31sIfuA9pPx41g4Y8lF58Ifb2YBsHCHNZe03dRG4WmIL6WcPfp/PsMfPPMysdT3u431dBE9wn8bcQdiIFv8Y/pQhQrJPG8w+FqD8fkSfjIhko4phVzwokbW2Bo/ItbJ1wAfwiRjPX4rj5YEDWvn6ZGVi7WPXHHvE/LNpBBEielBWAZxKijP2EPbWTpmg3bVRu5yjCVg6mJesvYZBSnSCW0ws+UIvgoOGZnZWOBXgRKUhlcEF31khLCmb49sbRURfO1xG01MJp/g/aZFOq0nFs/DMgL/AGxa1smINRIKY9QneoxzsW46MKKI7Vi3EJu9GrwGtK1N2zCiYGkvqj/3dUxRMlAqpYw4bYfVsecdZ2GhSxR98My2b/MCzrn+Izg/Ot4xWA6Z95JVt4l6eR5GlCxl0aoOBiBFuUtMF6WP+VStTSyfzVoUi/fM2h360c4WZFvCkgZ2Z8xf2Rge0h4Yq4tZpKOiQII/6ZsxymgQQDpFY4xmiACYiWVU2kYhdHCv3vRSl40Kk3mDOGSU+liaOwN3cMcA5qFvhJzTj03PYpVGO6C3DI5FXo2DwTsxWGO2WPLNFPXRoZ7P8iMa1DGAmM739F0lLlJgUUYmljfGZyN5UXzfQwdvW50lLMgu1/nzwRur9vEiEGx0wXP93CleG8wxCFfJzRI06DRKPweW0ehvscEJHYx4b545jrd0NUo773m2mD06xbLWoF6Hf5AEiAbYpg9RMGGs4vY5igdRM3vkZWGxzg2rQ2cdnwn2/AJl74NjOa1TccaWfPfubVAHWsYaBM/s0UGbjQkeejsGwSqigo2IgKcBq9rLfFI51mRTLlYpcK/sOzOmj0686zkRnV3wH+TT14PUy8EWLRWkBlAkJ8cx78oN6tWG1wWDZ8SoSLvWeugWFwB6wb0m3tF2Gc9NvJeFVRMsptTQ+YlVZHJvnYKsVq/cgB2mdJKfX97TKn0YW/69MkcO63QMi0OKHpTSFawABYVMuOZZgwnQpqqEsN6I8V2zZtHMycKqKSG+Rrip8arhQDrV5RmY2kIyKLXfDf05zcD184sHfT2DtWmULQpY6md/lLC8qWQVNSrxkrRqOqGPF4Xr9SUbxbNoZZxS7n0VdRr+l3+Xo3HIBnN/u+Zfgr+KOgU7LDNjjjDEMr4GhL3l9KuoU6F3OGOs/dIU41WH9hPr9e8yLIDdw//8vf1O/wP4jcXhMH6ZwwAAAABJRU5ErkJggg==\n",
      "text/latex": [
       "$\\displaystyle \\left[ 12, \\  27, \\  48\\right]$"
      ],
      "text/plain": [
       "[12, 27, 48]"
      ]
     },
     "execution_count": 51,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lista2 = [3*i**2 for i in range(2,5)] # range: 2,3,4\n",
    "lista2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:43.787406Z",
     "start_time": "2020-02-24T14:30:43.783334Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "range(0, 10000)"
      ]
     },
     "execution_count": 52,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "range(10000)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:44.326285Z",
     "start_time": "2020-02-24T14:30:43.789447Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/latex": [
       "$\\displaystyle \\left[ 0, \\  1, \\  2, \\  3, \\  4, \\  5, \\  6, \\  7, \\  8, \\  9\\right]$"
      ],
      "text/plain": [
       "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]"
      ]
     },
     "execution_count": 53,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lista3 = list(range(10))\n",
    "lista3"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:44.828780Z",
     "start_time": "2020-02-24T14:30:44.329304Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/latex": [
       "$\\displaystyle \\left[ 12, \\  48, \\  75, \\  147, \\  192\\right]$"
      ],
      "text/plain": [
       "[12, 48, 75, 147, 192]"
      ]
     },
     "execution_count": 54,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "myfun = lambda x: 3*x**2\n",
    "\n",
    "lista4 = [myfun(i) for i in range(2,10) if i%3 != 0] # ha i nem osztható 3-al\n",
    "lista4"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Külső függvénykönyvtárak: <a id='Kulsofuggvenykonyvtarak'></a>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "A mérnöki gyakorlatban előforduló alapszámításokhoz 2 fő csomag importálása ajánlott:\n",
    "- `sympy`: szimbolikus számításokhoz\n",
    "- `scipy`/`numpy`: numerikus számításokhoz (pl mátrix algebra)\n",
    "- `matplotlib.pyplot`: Függvények ábrázolása\n",
    "A `module`-ok hívása az alábbi módokon történhet\n",
    "- `import` *`modulename`* : importálja az adott `module`-t. Ekkor a `module`-ban lévő függvények hívása a `module.functionname(arguments)` segítségével történik (Az *1_Alapok.ipynb*-ben láthattunk erre példát a `math` `module` esetében).  \n",
    "- `import` *`modulename`* `as` *`alias`* : hasonló az előzőhöz, de megválasztjuk, hogy milyen *alias*-ként hivatkozunk a `module`-unkra\n",
    "- `from` *`modulename`* ` import` *`function1, function2, ...`* : csak bizonyos függvények importálása (nem szükséges a `module`-ra hivatkozni a függvények hívása során)\n",
    "- `from` *`modulename`* ` import *` : a `module` összes függvényének importálása (nem szükséges a `module`-ra hivatkozni a függvények hívása során)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Szimbolikus matematikai műveletek <a id='Szimbolikus'></a>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:44.834533Z",
     "start_time": "2020-02-24T14:30:44.830880Z"
    }
   },
   "outputs": [],
   "source": [
    "import math\n",
    "import sympy as sp\n",
    "import scipy as sc\n",
    "sp.init_printing()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:44.960902Z",
     "start_time": "2020-02-24T14:30:44.956953Z"
    }
   },
   "outputs": [],
   "source": [
    "F, m, a, b, c, x = sp.symbols(\"F m a b c x\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:45.152461Z",
     "start_time": "2020-02-24T14:30:45.147206Z"
    }
   },
   "outputs": [],
   "source": [
    "F=m*a"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:45.827638Z",
     "start_time": "2020-02-24T14:30:45.343873Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAADEAAAAVCAYAAADvoQY8AAAACXBIWXMAAA7EAAAOxAGVKw4bAAACe0lEQVRYCc2X7VECMRCGT8cCTkq4ElA6gA6QDpQOjvEX/HOwA+3A0Q6wA5UOoAORDvB9MuHMhctxyOfO7CXZzW3e/UguFy0Wi8jlfr+fuONT6xfhO48cGgwGqYZ1R3SwrtZOxHfieM2izANnRmdEGpKiraahtmcEB37Y9V9Llp1rziV6tTjB+JmxyYQGeH+v9igOAETUEL+LAebzVLJbsSHhfFSna3FHF1Y+VPtk+0drBKrlLy5Zgkztm6cDL7i7yz3R0SSTGm/iIYcfgcWGwtb1dRYvuONzPdgLpOuoJBx+pCPJiPRDCTBwdygnUkgtBknGSCkGeelbzIJtyanNvZBds662bJ+Cu0U5XYsnISQy0pTuS9zDoBjgph7VX3cchsxWkRM0uIzAneAEQGZFMy1Ijj3AuyVHfyrZvOi9bWWyS+abaksrRHPAbZyoqRMCQyRiGfM3PdlZqWHJdkVsZDdoIbvMiclEGXWkzEVDDpE5IjUqe3FLHYdNYXV4dk0CcILJAMuRBYvcB4tjkfQ553IvbzFwghSqDtc6+GY4QUqIbIj8tHKajZmsBTmhsnctgJCdqnIOGqhqJqY4ASA++TkSICJBtF2QpJkL4qcYammecdI68KOWk2wbIrpQlUxcad4YJ17EoZvrjXRcClMxmxzAZKKGTG12VdGYRdFzECyBaLgxEVRshb7grkEOmJH5l9AdfSKu7+LfQXba4ngXtspsaI1EPGEOmYCI8sr9xGg2f5C5KqWwueX8G3zJwZ1dxfkO8LOR1T/KTcmWEdeSvZLFCV7z/VpmgkWp/6zG/4mCP7O93accTOD8qxy37mydpa7s1PrCmILTxfULTGVqLLfpY4YAAAAASUVORK5CYII=\n",
      "text/latex": [
       "$\\displaystyle \\left( a, \\  7\\right)$"
      ],
      "text/plain": [
       "(a, 7)"
      ]
     },
     "execution_count": 58,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "(a,7)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:46.299119Z",
     "start_time": "2020-02-24T14:30:45.829733Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAABsAAAAPCAYAAAAVk7TYAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABmElEQVQ4EbWU7VECMRCGg2MBSAmWgNqBdKBYgdKB/IS/2IFYgR8dYAc6lEAHOnSAzxMuZ4gH4+C4M5vcvrvZz+Rao9HoOIRwDj+Nx+Ml+79Ri2AXeH/eEWFJEkc79L9WHWJ5Br/Ci4ZTVjxswPeCDBbIvFeeBrO96l5K3b6ywd62HJ4Q6HKLbj94tVqFkpnjBO6W+F/l2MY8zap9XfaNWSE7vy7sjK/hDjyAP2DHMMPmDtbmCpb8tkPeiXDgUtAEWS6ppzPANvwAXyAPK8x26/SGvVPhJnsP1zd9IxhG8c2xx0wwjIRsVbNK1KYNZuBEVimJ52fFTS5S2Ubb0vQE3nHie/OgwbTLyXZJ0/VWryd8zZO0URmgD/wzKdNuoOrbCgNynr2QM5tndmJSH65t62AYpqyT42hdLA6+zjTTmUTtVBx/Yvp0bsrtOhjyqSD0o7I1HNcmpynJNNNkbqutdgHb+n4ezENSY2XVAW0eo9X3YqsC+o3KgLRN2AD9NA9mewy07Y9idmZZtlGn5cUAis/H23nLd2zlFw3ZyE9uhvU2AAAAAElFTkSuQmCC\n",
      "text/latex": [
       "$\\displaystyle 7 m$"
      ],
      "text/plain": [
       "7⋅m"
      ]
     },
     "execution_count": 59,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "F.subs(a,7)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:46.797595Z",
     "start_time": "2020-02-24T14:30:46.301353Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAABoAAAAPCAYAAAD6Ud/mAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABDUlEQVQ4EZ2U7RGCMAyGi+cAugIj+LGBbqAzMII/4S+rqBvoBnqM4AjCBvgGKxdiWoO9C9Ckz5ukFJI8z1Pn3AZ2LIqiwX3UAGPiEyTaQfkUUW8gNg/FETPxUwisYVfYQxGjTg+Kn7tMPCVyqGrLSe+jLaHYWcbk3MJTopsE/byEwD4Q424b37atk4b3VsIW0m+da7yWJMXCi1VUrgOr8hO+B58tw71U/FYXsd88r8hXU3PfmOcYLzvKUI12zK3dBHmZiD6+p1VVWRfk+0Q4yjOAKWz0b4gS/uL7RFi7IgDj346ifPdneOs76oiG2pGvuEa8wvOyWzm8RHneUeWTqF86xKkAOij3oX4/i/IvLjgmApqttJ4AAAAASUVORK5CYII=\n",
      "text/latex": [
       "$\\displaystyle 7.7$"
      ],
      "text/plain": [
       "7.70000000000000"
      ]
     },
     "execution_count": 60,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "F.subs([(a,7),(m,1.1)])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:47.363940Z",
     "start_time": "2020-02-24T14:30:46.801139Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAMEAAAAVCAYAAAD/7YqlAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAFJ0lEQVRoBe2a7VHcMBCGj5sr4Eg6IB0QUkGgA0gqADqA4R//GOgAUgEfHZBUEKAEUkEYOiDvY7Qen+7OluWPsy+3M7Lktb3afbUrrXS39vb2NihDp6enG3p/W+VFhfYXlTPxn1T3nmTHWEacOEOwD9oX//W9ubqCQN9wkr5z/XYUMaTn+uZZQq8cGEeqf6msc78EdC7bDs0OtS/VflT5ZLxVnSDQN5zm+u0wYkDP9M115ruParMqLAsdyPFZ6YwAb0O8TWOs6gSBvuE0129LrwRyBj/t2RUkOMqyEKvAw7IY06AdvcIpz2/Xyu4JDFQJJQ36rnKt9oXxl62WbQT4rupVOpQzuH3BSXpO+W10EICHBLKJvFW5V3shgaB+2fAwK0Howz356k8YVUgySIGw77Pa6cZYbbN7S89edL/QAFH/tWJQ1j69PxOnKtiX+TZCXxu/xG8rBQGKOgDYOOIofqpUxpbS7zrj/Q0a6RmOu6fnd6WFug/0LY7Fphg5aQBk5YmP3Q+qLQizj1tpq28GtCkMCu1T/4U4tQKEOpEuhfqaLnqXwE38ttSeQB8C+B+Vr2qbw5uDMCsaT80wkhw2oWw8k9OmsK/Stw7UYoNGRJvD2wrAMafx0g9CGpLFwB6r3uF9d0/97H0PkGcer/St5HYOA2dErn0OlxCcCjGpiIHJn6mvZOf67dC+DqklDId/Uck6AwMI/0YlhlCQEkMEHX1TEnI62m3pWt/bzHap9iZFQo5VsDsl8bEbsqB7v4u7dgoDTCiyT8+DcCoBRxUMcvWVrvjHXL8dlVDSXt1T40SC/zoGP5ZN5Mz2YtO1dMABJ36fEI90CCKViSGWSAaEOiXJ9VMeVgl+LwHghVFDGGBPkX2hOLWFTZG+c/12IggEKNHNaQgzPU5OOsHJSLrpVZvZl9I5km7Mzuh/qPZUeiVeiH0TQZVjJH09SSanDRCTASdlUSlYIqGGi/qvjIFTI9c+9ROKUw1WBYko0neu3w5NvAOP6CbHo+D4zKZsupgZO0vSj7QFZ2S2xtgHX1k9B6Ra7HN4kCYRVFe6B6t9lVu14bVO6rc2DLpoXx6gVfVNgsAJ4UQF58/m+7QXvuTnAcAz6cyMfKHCknet8qi2pUUDtQniOu0joCAOCJJ0yNW0036TN1q6qP86MeicfQUwVtJ35ISTQowFpJ9CILyW5V2yWVVMWddtUn3gqud+zg2bgcWxg0nv36ngjMzK665dt33kn+iWBEBGubHa/I1kJun9vmAQZd9Moz1mQxhU0teC4Jt0nTjlkLIMKEv7vWdH1K3kzXLygfjMnByRpvuO0A70DSkJMvw9CukQAWdBXLd9JpfuE5IO8KDf79X0Ve/0BYMo+6YtnuY0gYF6qaTvUErh7BTf2XGcgZ5PBAe8DhE5PqkP+s+khuxjcvCd3VastvFqAoMu2TdzXD1mJX2HGWHZvQDsZImhIUfihIiOukavUsjSn6xuW+4m65B125fKc4HGpMGpFDq1SU1h0BX7QrGM1peVABBxltTJxSNFIdWwU5Yd8dJOxO8K8SPWxArmdB+LnzhkQ/axT7JAAws23Tfqy99T8axpagKDLtkXgl8lfUeuB5byHxrEI9Vs7DhhYSXgeBRe7A9P+rQ5wulUtlWy+hHMBG12Fajbvn31AV78cY6AYxO+iAAY0K9K3Rh0xj5hG0KV9K38B7oQDfPe0QBGb4zz5Pbp2QqD95RbYxZ1QFJ1rIdVBdTwPekY5X+mFQbef8DadIZ/ICM/M80SXI0AAAAASUVORK5CYII=\n",
      "text/latex": [
       "$\\displaystyle a^{3} + 3 a^{2} b + 3 a b^{2} + b^{3}$"
      ],
      "text/plain": [
       " 3      2          2    3\n",
       "a  + 3⋅a ⋅b + 3⋅a⋅b  + b "
      ]
     },
     "execution_count": 61,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "((a+b)**3).expand()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:47.877779Z",
     "start_time": "2020-02-24T14:30:47.366027Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/latex": [
       "$\\displaystyle a^{7} + 7 a^{6} b + 21 a^{5} b^{2} + 35 a^{4} b^{3} + 35 a^{3} b^{4} - 8 a^{3} + 21 a^{2} b^{5} - 12 a^{2} b + 7 a b^{6} - 6 a b^{2} + b^{7} - b^{3}$"
      ],
      "text/plain": [
       " 7      6         5  2       4  3       3  4      3       2  5       2        \n",
       "a  + 7⋅a ⋅b + 21⋅a ⋅b  + 35⋅a ⋅b  + 35⋅a ⋅b  - 8⋅a  + 21⋅a ⋅b  - 12⋅a ⋅b + 7⋅a\n",
       "\n",
       "  6        2    7    3\n",
       "⋅b  - 6⋅a⋅b  + b  - b "
      ]
     },
     "execution_count": 62,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "((a+b)**7 - (b+2*a)**3).expand()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:48.368238Z",
     "start_time": "2020-02-24T14:30:47.880176Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAEMAAAAaCAYAAADsS+FMAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADXklEQVRYCeWY7VEbMRCGDZMCnKQD04EJFQQ6IHQAdIAnv+y/pINABQQ6cFJBCB04HYS4A+d9NFqNTqc739lwscc7s5a0q9N+aD/uvLdYLHq7BJPJpC97P3ubB348F33+Zpcc4W29luGXZrfmXzX/JTzYN+IOjRdywHFk77XmA9GGu+gMouIxckaY7u1azQiW+4kigsg41VhOExGtqKTPbcW6jf7aO8QRwkOMK6SJmFeisWGbgfzHjlrwTiMqDjWfszmkiQh46EjjCMYmgnSjLd4LPwiftT7I6Sk6zphrvKngE/0j8V1X0eiywTlDC4T80OjCJXfAJtGkJ63wUWNokal+fs9Hje7Wja81htNO40vnnJGlCeHChk5ACh0LL9YQRipPlzyPPdiVAo6ktTIa0m7DS9eZFpVeTk97gTWRCLYGHOkf+l73sPbdCP8KSYcQHZq/rXpuX0xqxe+qDRtIP0Hf2MAaHbHrrIZfYPE6zuHLvEyeEXIc/kf4IKQ3f9HYNRAZT5JtHeNI6zut0SkF7MK+bCFNN1MzqMyzlGFrCbH8ItxAHODyUfOVQt3Objt6edQLLoc0QJdz4b3m0FLArhw93efWOAODnnNcL5xWhhPiVGLeNFRzR69Ks3oRuoT0oh6ApHsK2NXYGaTJOyGH5YDU6EtgGmYolQvLwhl6jggyA2IeMnvi54o2KfAp3hzNCXn4qb590d9H+2zKpcFrBDijDig+hXoiRTgcby9rbT3tzRkLnVvkTbFtzSldgs4wZ//UmSnUXXS6172OE0ol70kINDA12lVn8QtOKp38OgQuITXaoiinD/pnS0BOPWoGoVSXV3Gt4AwXqkzkEDpK3bNse2kI+kg2xnI5l5rPM4KIjLA/wy+QcMaTkPZUAH843g7GikZ4D4X2f8CJaI2FFQSstqBO0f0MKO7fpENa04zP5wX2NQJqxp2QQ3NACN5KGD2dAsVeIoO/zqB19govWQBtFH34QCMqaKlVjhDbFe9s3YJZAv7cGY/HM+GQeRcoWafCq9eUpfMHwlkbGaQJQAtt7kH3yFo/5Hcux9c6NHmYr1Lsag7mOXlxijdtvc2jj4ppWxssMvAe9aHrGtD81trtxI7WkR7+6UKWihGd4399gKHC2iAbKOwPGlt3uX+qgpYbzIC0HAAAAABJRU5ErkJggg==\n",
      "text/latex": [
       "$\\displaystyle \\left(a + b\\right)^{2}$"
      ],
      "text/plain": [
       "       2\n",
       "(a + b) "
      ]
     },
     "execution_count": 63,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "(a**2+b**2+2*a*b).factor()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:48.856643Z",
     "start_time": "2020-02-24T14:30:48.370976Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAEMAAAAaCAYAAADsS+FMAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADXklEQVRYCeWY7VEbMRCGDZMCnKQD04EJFQQ6IHQAdIAnv+y/pINABQQ6cFJBCB04HYS4A+d9NFqNTqc739lwscc7s5a0q9N+aD/uvLdYLHq7BJPJpC97P3ubB348F33+Zpcc4W29luGXZrfmXzX/JTzYN+IOjRdywHFk77XmA9GGu+gMouIxckaY7u1azQiW+4kigsg41VhOExGtqKTPbcW6jf7aO8QRwkOMK6SJmFeisWGbgfzHjlrwTiMqDjWfszmkiQh46EjjCMYmgnSjLd4LPwiftT7I6Sk6zphrvKngE/0j8V1X0eiywTlDC4T80OjCJXfAJtGkJ63wUWNokal+fs9Hje7Wja81htNO40vnnJGlCeHChk5ACh0LL9YQRipPlzyPPdiVAo6ktTIa0m7DS9eZFpVeTk97gTWRCLYGHOkf+l73sPbdCP8KSYcQHZq/rXpuX0xqxe+qDRtIP0Hf2MAaHbHrrIZfYPE6zuHLvEyeEXIc/kf4IKQ3f9HYNRAZT5JtHeNI6zut0SkF7MK+bCFNN1MzqMyzlGFrCbH8ItxAHODyUfOVQt3Objt6edQLLoc0QJdz4b3m0FLArhw93efWOAODnnNcL5xWhhPiVGLeNFRzR69Ks3oRuoT0oh6ApHsK2NXYGaTJOyGH5YDU6EtgGmYolQvLwhl6jggyA2IeMnvi54o2KfAp3hzNCXn4qb590d9H+2zKpcFrBDijDig+hXoiRTgcby9rbT3tzRkLnVvkTbFtzSldgs4wZ//UmSnUXXS6172OE0ol70kINDA12lVn8QtOKp38OgQuITXaoiinD/pnS0BOPWoGoVSXV3Gt4AwXqkzkEDpK3bNse2kI+kg2xnI5l5rPM4KIjLA/wy+QcMaTkPZUAH843g7GikZ4D4X2f8CJaI2FFQSstqBO0f0MKO7fpENa04zP5wX2NQJqxp2QQ3NACN5KGD2dAsVeIoO/zqB19govWQBtFH34QCMqaKlVjhDbFe9s3YJZAv7cGY/HM+GQeRcoWafCq9eUpfMHwlkbGaQJQAtt7kH3yFo/5Hcux9c6NHmYr1Lsag7mOXlxijdtvc2jj4ppWxssMvAe9aHrGtD81trtxI7WkR7+6UKWihGd4399gKHC2iAbKOwPGlt3uX+qgpYbzIC0HAAAAABJRU5ErkJggg==\n",
      "text/latex": [
       "$\\displaystyle \\left(a + b\\right)^{2}$"
      ],
      "text/plain": [
       "       2\n",
       "(a + b) "
      ]
     },
     "execution_count": 64,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sp.factor(a**2+b**2+2*a*b)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:49.357643Z",
     "start_time": "2020-02-24T14:30:48.858711Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAEMAAAAaCAYAAADsS+FMAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADd0lEQVRYCeWY61UTQRSAA8cConaAHQSpAOkAsQJPOoDjr+QfBzsAK+DRAVqBmg6CFYh0EL9v3Am7k8myISSSk3vOzdyZO7P3Mfexm43RaNRaJ+j3+1vY+w68BaV3wGPWBy8g1g1OMPgG4880nPGQ4Rv4ch2dcawTSvAa2ihprZ0zTIeSIyT3QaNl/Zyh0UKRHh8gT6FDymwGTukHhkVlZaGp/uz7jJG74B60daNVcUax2JGxwrAVjXvIBvbdsecIPIHubMTWysTc2WGU+SwB3doodgm+BW+Zv8kpyro3fccYwj/uKc7/Yr4LHWoHo5kwBLshMopNnxifrSM0CP00cA/yBvzqWg7YYwp0GXXeGDzPxM7h+Qi+c7h+EbuJ1fQ0chc9opQKGM6Vm5tBrqmctsj0uPZoVzdhvGfuxf8u1n3p2tZR0RkHTNJDyTOedOqNVW6t6dPRU0cKUyNDJvvOwD/gEejNB4A2PdL2GnibMK0V5bAJjGf8E9KkbGCNrtp1UMOvsIwMH/6Qly0y4TWW0fC6AvdRyNxcNhgZA2SHdghtmJ8zV6cUtEv7GqWjBdTKbDXNAkIU/hM03EQdEPIR+lGhnhXUYLGQZ73wckwDdfkIXkK7loJ25dbTfWGuMzTICjsBhXBbmU4op5K0HzvjXJw4vJiFWC9sjUF2MUqb7iloV2NnmCavwGlGmRptBKZhplK5sGT5HjhnBEUD7hn/ZLbg54q2KWDFz4EhLz/Vt826H1wpeGnyGoHOqAOLT6WeoIgP19vXdQflsTdnrOveoq111pozcQk8Izr7e0afuoue2G6aGEoT3kOIa2JqdKjO8CtOYt8ywEtIjY5RlNNH/bMlIKeszjCUFDINyrXCPSFUJXCIHaXurNueGsb6IFtjvRzfNu8ygoyM8f4Mv7KkMwag7akCxcP19thY1gxvq/mPYrNffI2FFWfmGaxTdr8IFvcLdEhrWuRvQ2hfI7BmnIM+NAeG4BeE2dMtUO41MvzKc21pr/DIEmyj6uMHmlFhS53mCNiheGfrlswJ8Ku11+sNwY70MhBZ++DhImXx/C1wOIsM00SwhTb3YDgy14/5ncvxuR6aHA7/UyRr9dPoObx4rTfjfJXHIiquZ7UhRoYesz4suwbU39Tjudoxc6SP/+lSLsXIzvG/PsBUYW7ABgv7FePMXe4vSiObCnPfrb4AAAAASUVORK5CYII=\n",
      "text/latex": [
       "$\\displaystyle \\left(a + b\\right)^{3}$"
      ],
      "text/plain": [
       "       3\n",
       "(a + b) "
      ]
     },
     "execution_count": 65,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sp.factor(b**3 + 3*a*b**2 + 3*a**2*b + a**3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:49.882404Z",
     "start_time": "2020-02-24T14:30:49.361845Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAFwAAAAsCAYAAADozd+ZAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADu0lEQVRoBe2b71XbMBTFEw4DhHaDdANaJmjYgHYDygh8TL710A1KJ6CwQdmgwAZlg3KyQXp/QsqxZTskJjzLVO8c5Vn/r66fnyVLGS4Wi0GW5zMwm83GamWi8FPX86YWh5nwJmo2SxfJR6pxuaLWXGX2dlcUyFmbMXCg4tcK9zXVsPxT0jPhNey0TZIFH8Z1lYarGUhfoTPhsLAd+d3QzJnI/hTysg8PTLyAFtFnavZC+i40X7JwZWD+FMIP/VXgMThS+jfppMQPBowIs4Kb4sBcaoc/nst9aee7A5Ql4cqYKJG37HtdO8cv/UvxifS5QuNUJzRmoYUDowDXqa6dX5T+rjiPbcWHKq0rwXAJJdkhJsAjKchmEMW3LNf3SkuCbGFBIPtKmBzZLmUw+OzTfbRbJWwYBYbKrKUkwcK5EyMVOC/lPk7kiwOLsm2jwoclM5ivxZ6VvleMJ3B9IgxFw11CchauGBZSuhsaBFbP4LCoVMThFLaUnrg6blgEPdRl7HhiITcmlsENlF+6EXWNWKStwGnR/dp9eJwYaq1RBAunwfgR4AXkpjNqhJkKjXQm6j8MIOgSFuXz0k9BPngQjRbOALDiJaEQrPi+wo0Ccqi0+IY85tj+8o5ZLiJC18LGO6h2gKGMoR75vmoNwy18BJhCPxRYLb1VuFCgAgMh7VplnLXrulPx5ILhjwcC9tSmrbfCdCyslQlHXmn6u2alij7cqs//uh8zwvV4sRD4kiLbltjMCBfR+FpCimKGzZLwFIk2x5QJN6Y8E54JN2bAuLutz8P1xueLXt0y+40fW92K8E71KivIbXORArbhdDpd+2CKAA/bkqC6fC4YS7faPVK9J3G2xWeBLfC22xZkaMBKp4xzE2z5pWllMb6fTHgm3JgB4+6yhRsTHjaRXbdy/nxTYPeeXYsHxd+5jO38zNUMobW8IL5nY2NQ6+CrnYerIh/QOVjD7nNy0md8TS6F7bV4Uzkl4nuLr0K4rCesEpPYrY/vct/xVQjXANmtT+20VZH3XuOr+HDvH9mhZ/MYOVDgBGhlQ9TlGv/0HV/JwjUYZin4x7ECO+F89zhWuNQ1aZ3Ka8BXIlxsBv/9UYNzUzivuebjU9fSe3wx4e60VSC7wC6Wz3mVrqX3+GLCsaDS7ETkB6sKPr1L0nuPLyZ8LDZjYsPGQOlGdMR67/HFhMPj8gyhrBtXwinakxo3Q9kupNf4YsKZ+vEdJQjfVfhnbXxQP+Rb697jK83DvUVzqBMrwrpvEyJ78Brw/QOVxKJL5OFXSwAAAABJRU5ErkJggg==\n",
      "text/latex": [
       "$\\displaystyle \\frac{a}{b} + \\frac{c}{b} + \\frac{7}{b}$"
      ],
      "text/plain": [
       "a   c   7\n",
       "─ + ─ + ─\n",
       "b   b   b"
      ]
     },
     "execution_count": 66,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a/b+c/b+7/b"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:50.346024Z",
     "start_time": "2020-02-24T14:30:49.883959Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAFIAAAAsCAYAAAD2BO8qAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADqElEQVRoBe2b4VFcIRDH75wUcCYdXDowsYJoByYdZOwgfrz75pgOohUY7SDpIGoHsYM4dnD5/zh4Pjjeae7gPTLDziCwwLL8WRbugePFYjGq1I3AfD6fqvRA4bvSj101xxXILmiWfIF3pNTVmlqPqrP7ak2FWrREYF/RT4X7CCBY6gn8rEBqpuhoqviczoaibfVQ+8NQd/FY8iPF18RZgZT8iQ30NSRto8evDsXPBOJHV7bjEjWOI+Asrl0q3pnyp22eZ5GqgLlSCX/wRwGzPRL/q+LByCqOPhA75414dybX8x+L0Z5i4xtd9w2QKsCfsTu9U9o4VsU/lD9QfK7QufU7Yalj9cnEosOJ0sYXKf6mPEtqxW+J1wdhaASPzNKWcvgQQETh9u5E+l683kG0WgLitfo3IFreJ8XweyfpwcRiWOziHjmLBOGJKoS7K1baHoTX2GXUDiuhbkivYaj8OCxQ/k78xlmH5VYminu+SPzdsK7L2zZJ9XCybcw42obWFDsgmWUPZSmFlTKQZ2dfdWNAjcTnMMvxZxMfa3RS2xevBtXNoYeG0BDjiQK5o84BjBACxkBGKvcAhpeb1uiUu+tO+VYnDCs6sTutliHSOHOzM0oIOzdCeiH15ZR1sdevymPL16uTIfPeynyIycYiURara4ASDxPeU7hRgA7FC4FeluT7i79e8aHSA38eHUw+VYzkiZUfnVznI1H4Qkp+UfxG4VIBi+T0Do/NpFdSv8eARlDHv23nDOZUvOhgMivI6qTf6C8dA6RVbGX21SjGy6zvk3jp5R16n0r6T0kXVmTniaHtI3NoxwwOYT3hWLLrUb9HhpBvmM9tkRuq9f81q0AmmrMKZAUyEQKJxFSLrEAmQiCRmPFsNqsX2wnArOfIBCAiovrICmQiBBKJqRZZgUyEQCIx7ntkInHpxOiz1UTSuNnky/SD8m/TSU8vqdilLeB45cXHZb4D9n5v9K9QFwtkayBceYQXc63iMpJFAymLdJdc1SK3tBeztFnmW8rJ3rzoXzYC8FYI4CPdhdO+0pfiP/v6IztyQQfFLm2Bxa6Nf5wq8IiL1xqfFa6UhlcUFQukUHL+8YOAM0vbxqS5dy+KSgYS/8hDq9A/YqncvRdFJQOJRXq7tUB1Vup8ZjFglgzkVCiFgLkHCx7AJaBZMpDg07w3kjWypHkhx1OWcLlTd1AqGUiOOO4FGCDxu5v/vgofw1I2OBV7jrQWeCGEsEqs8bZUEJnFv3HJHKBxQ/QuAAAAAElFTkSuQmCC\n",
      "text/latex": [
       "$\\displaystyle \\frac{a + c + 7}{b}$"
      ],
      "text/plain": [
       "a + c + 7\n",
       "─────────\n",
       "    b    "
      ]
     },
     "execution_count": 67,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sp.ratsimp(a/b+c/b+7/b)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:50.858971Z",
     "start_time": "2020-02-24T14:30:50.347747Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAFIAAAAsCAYAAAD2BO8qAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADqElEQVRoBe2b4VFcIRDH75wUcCYdXDowsYJoByYdZOwgfrz75pgOohUY7SDpIGoHsYM4dnD5/zh4Pjjeae7gPTLDziCwwLL8WRbugePFYjGq1I3AfD6fqvRA4bvSj101xxXILmiWfIF3pNTVmlqPqrP7ak2FWrREYF/RT4X7CCBY6gn8rEBqpuhoqviczoaibfVQ+8NQd/FY8iPF18RZgZT8iQ30NSRto8evDsXPBOJHV7bjEjWOI+Asrl0q3pnyp22eZ5GqgLlSCX/wRwGzPRL/q+LByCqOPhA75414dybX8x+L0Z5i4xtd9w2QKsCfsTu9U9o4VsU/lD9QfK7QufU7Yalj9cnEosOJ0sYXKf6mPEtqxW+J1wdhaASPzNKWcvgQQETh9u5E+l683kG0WgLitfo3IFreJ8XweyfpwcRiWOziHjmLBOGJKoS7K1baHoTX2GXUDiuhbkivYaj8OCxQ/k78xlmH5VYminu+SPzdsK7L2zZJ9XCybcw42obWFDsgmWUPZSmFlTKQZ2dfdWNAjcTnMMvxZxMfa3RS2xevBtXNoYeG0BDjiQK5o84BjBACxkBGKvcAhpeb1uiUu+tO+VYnDCs6sTutliHSOHOzM0oIOzdCeiH15ZR1sdevymPL16uTIfPeynyIycYiURara4ASDxPeU7hRgA7FC4FeluT7i79e8aHSA38eHUw+VYzkiZUfnVznI1H4Qkp+UfxG4VIBi+T0Do/NpFdSv8eARlDHv23nDOZUvOhgMivI6qTf6C8dA6RVbGX21SjGy6zvk3jp5R16n0r6T0kXVmTniaHtI3NoxwwOYT3hWLLrUb9HhpBvmM9tkRuq9f81q0AmmrMKZAUyEQKJxFSLrEAmQiCRmPFsNqsX2wnArOfIBCAiovrICmQiBBKJqRZZgUyEQCIx7ntkInHpxOiz1UTSuNnky/SD8m/TSU8vqdilLeB45cXHZb4D9n5v9K9QFwtkayBceYQXc63iMpJFAymLdJdc1SK3tBeztFnmW8rJ3rzoXzYC8FYI4CPdhdO+0pfiP/v6IztyQQfFLm2Bxa6Nf5wq8IiL1xqfFa6UhlcUFQukUHL+8YOAM0vbxqS5dy+KSgYS/8hDq9A/YqncvRdFJQOJRXq7tUB1Vup8ZjFglgzkVCiFgLkHCx7AJaBZMpDg07w3kjWypHkhx1OWcLlTd1AqGUiOOO4FGCDxu5v/vgofw1I2OBV7jrQWeCGEsEqs8bZUEJnFv3HJHKBxQ/QuAAAAAElFTkSuQmCC\n",
      "text/latex": [
       "$\\displaystyle \\frac{a + c + 7}{b}$"
      ],
      "text/plain": [
       "a + c + 7\n",
       "─────────\n",
       "    b    "
      ]
     },
     "execution_count": 68,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "(a/b+c/b+7/b).ratsimp()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:51.406560Z",
     "start_time": "2020-02-24T14:30:50.863638Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAOCAYAAAASVl2WAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAZElEQVQYGWP8//8/Aww0NDQYAdmrgdgYyP4AEmcBMgSA9GwgfgfEJkCsBMRwAFIAUhkKEgGyy4AUyBQ4YIKzcDBGFUACBj0chKHhJQQLN0ZQZAGDGBRBIOACxKC4OQfE94B4NwDm+hiAOyllRAAAAABJRU5ErkJggg==\n",
      "text/latex": [
       "$\\displaystyle 1$"
      ],
      "text/plain": [
       "1"
      ]
     },
     "execution_count": 69,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "(sp.sin(x)**2 + sp.cos(x)**2).simplify().expand()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:51.911217Z",
     "start_time": "2020-02-24T14:30:51.408590Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAEMAAAAVCAYAAAAdHVOZAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADzklEQVRYCc2X61EbMRCADw8FeEgHpoMAFRA64FEB0EEy+QV/oQOSCjLQAUkFJHQAHYS4A/J9QquRz2dsPInndkZeabXat1bn5vn5uenbODs7G/1vm7p0DJqewfn5+UdMer8Cs0ZZV1G1Zgb6Ahi3jy074E+1TaxHrIO2zfzJNfT7mu+tc84b+DH4i2d7EwwMGmLPD/CWhgWwNhBX4L2KdsFcR/agfw/6Mpjzvzi3Cx736Zro4FWHQ9JPazqGWyVjxnVNX3KuTnU0fQrGIU6mcm059YH1A3tWTg1WxBC6lbM0ZJ3qHvYiGBhir3ic4ZFOP8JjJXRBO0hdPPNo6j5cDy4jw9xyqZXeQb/p4HnItE3wNTzl3jL3JTCbyglDj6BP9AL2arAfFBn1BucO6nU1Ty8O+6WJMlffSebZAR8zrJyjTJvwJ9NE6t5LwUCIB2wkx8yT82Ad0lGzcs9QuXfUplWyyPzWPcYlQ2MuwKXZsW5YT9x5aS3whejqFy22lyXytEWb44UJPnUnXWAb7FeGAfDlid5QkhuHwCb3Q1wTndTpmjGyOs6H5LmBpwQi0zVIIzRQp7aZx9nMMtdR+X0uF4Ww5TIOoNOKSI0w07Tb6xd9aKO1n9kSUvdoPRuuI0Ww29ANTFRJZOLOvRrgs2okeRXMgIL/gC29W4YBnJANrQ0aGkFv702skWWGTVz7+vyEVifKa6ltSW4Hfy3Xc6mBWm7C7xfU+Rs8rxlswASN0HnPmClfgoWvAPwzATlmfwM8cQ09AK30jizgEPwtz+ehlIwBXBFNm+EsCJ7hLAboZisFDWyFbDLWoHuHT5hHsLpEWE2vyW44b8krs1QEcz+pI1FFLjT7nfLKtYfmMzxLh/SnAQxjJkbV+z4F7O8z3JevKyMqFrzHOhzdXFrDWe+sRnXKlwcw2FNOpR1+kKHcqc90aAboiX0dtZGHLSbAz+xIIsvmM2t96AIr49HKEIy2UW47YplH+e0y9+OknWF5fEniaVSpka7BdezX9Jirw6dwCpBlkAy0DvtZXga0U9Y6aBAcKTBiRgF43Jvqd4Xh5Wrfl/8mHNBgHRPiO2Li9YBHw+JTWD7XGpcczUqtnrr/vGNt1mYGgz0D7DM+dVWhaYt6usAGucUI25PdrE2OVaMtfjIYpHJl2oLY89xpCUabYdXrbNABOCpxJSagz0CbrM3BSjQupsSqnPdxtpikt3Gl7ySP9CYYZMZG2/k6vM23xblzVagzfZj1JhjZBRv5P/kmWTAk6irV2JueEcbnbPmcz/tqjSNLYeT732XigfgLFx5Rc1bgOt4AAAAASUVORK5CYII=\n",
      "text/latex": [
       "$\\displaystyle \\cos{\\left(2 x \\right)}$"
      ],
      "text/plain": [
       "cos(2⋅x)"
      ]
     },
     "execution_count": 70,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "(sp.cos(2*x)).expand()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:52.437696Z",
     "start_time": "2020-02-24T14:30:51.913785Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAHQAAAAYCAYAAAArrNkGAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAFJUlEQVRoBe2Z63EUORCA11sEYCADyADsCDgy4BEBJoO78i/73xVkABcCZOAjAjgygAwwzsD3fUKt0uw8dpYd9uG7rtKqp7vVavVD0sweXF9fz/YBzs/PD7HzNNt6L/cvoF/tg/2bsvHWpiaaYJ5XBO9l6AF/A/4P7X7Q/u9ns/keOeGEIP5W2fsK/B60BxXtP4/uU0Ctzk/rRIzgx1a9spp1xq482RoD9iagOPQtrT4vDfBXaJ/HrB+535Fbp5rdDdSx03DgpQhDzdw/sqVH9Jc+Qx/lrDxuYx12GZh3tIfgdZA7bUDmCYxj+lhjp9wyIuMN6BX922Wym+BjR8sPB2dnZwbzDczHYQS455PGPwb/O+i70GNPshdbnoKPCeYhsh+QfTiF/ejxIvZozNxTzLeog3ldz180i87iM6i3wx5vuQav3B7BZzCtzhNQq+C2tF0AbEo7CX1Kvvw8o/86YJ/r80Y8Fair5bOplC/Tw1pN4qfKgbeOkTl0b45fYBr5GqzMQ+g6ceuQ7dCZ7iYPbOBuoWbqEDxDdrItMutS56K/hmzYGM8KNXA6yMh3wa4Y7lanLfYFsLuxuxQGCDzPzqHqrcVXwdX5jDZZoqwy+ZDsLRadyrdDyArQKb0XI3g62O2nToaP0N87VqhkvvygpA8B76CXsxncudwp1KNO4Tn0cu6B/8zW79Zc5klaqx90OpdHi3BMe0FzR3pOExpr+UFKv+pU9+4FtDKyoNnB6bwqxAUEGflWi5/fUgDpDYrBSq8T9AbKc9jLVakU8At5tNc0nepXoHQugifgubfyQmZE76Vh6PwsX5+Yz/PIy4ZB9A4RZ2VJzmo+k9O17hzMeywyCO9Z1OsevmRlDFy94Kiuqzwu9JRgZrpnn8404Dr9CDzGZpHBQITMsl6dnWcs81mZ7i4B2uwWHVV3B7zmh5y9Ok3onQPP0AawUDPTQPVtxTN4OspgNAIO3eBGtcp30R9pDUDuM02a26rVoIO+07uVXdCWJRMio8CgGKgu+MR8daK5vWtXkqfvXT9yjtMHg4AOZT7QlspWinwd6z3mKrlOtBFQFJm1d+gb21/HyMjObx28IIVMclAQF3qDLujMU5oVYlVYvX4ZmmLbRV0b0L3oNC85f7YlOylDiVIGMIdrL/eAwviFyDx0M7nOvE9fMhPcz10RmBC1j8we+qcjZIay050g6ae3Up3/AP0G8gQ8Au6cPwNW/tD8SSfzeB4qV44PaL6y9Y2Vru6dgxTQ7LiuT2MGuWU48lfQzfCjrhXBf0KTr1yr2uHpQMEz1qDFTVPaDL7nmM7t1K/MSDCpWgmJfoPlxSzsMIH8pBdJqPpTnrW/C6zQWrZLZiu0OUa7YB3rIn1pLw3ay4FFWclW8GIw3DINpvCI5kv4YqUp4w03Xil0nllfg8/Br+mr4Npx3DHAQNou87yXtQw0ea2zv5JJ5231vC30bp7YBEvgt1yv4K0sznwvCb1nQHZG3ATjPdMLTclecHV7q41s99mkScGi13lWcX0ea6gVtFZAGW8i+RrVOBp4Nlm0O9nMs8nlbqQdvooZ6LL98twAeI4z2deyr6F0hQfmtQAFfedaTFx9fpH+bQG5sZCdv9bNsXYO+kxIk62RJLXMNvH5Niff0NxW4pS35fQOvSHbV57mxgeUSvKC1XdbX8lhuTrVFR8fVhq/CeEbH9DsRC9wQ58Ax/paHVNW+9h5R8vd+DM0PJGry9epxtet4C/rGee33saFb9mYbfD/BasE5Yb2Eji6AAAAAElFTkSuQmCC\n",
      "text/latex": [
       "$\\displaystyle 2 \\cos^{2}{\\left(x \\right)} - 1$"
      ],
      "text/plain": [
       "     2       \n",
       "2⋅cos (x) - 1"
      ]
     },
     "execution_count": 71,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sp.expand_trig(sp.cos(2*x))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:52.443179Z",
     "start_time": "2020-02-24T14:30:52.440376Z"
    }
   },
   "outputs": [],
   "source": [
    "import scipy.constants"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:52.953415Z",
     "start_time": "2020-02-24T14:30:52.445167Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/latex": [
       "$\\displaystyle 1.618033988749895$"
      ],
      "text/plain": [
       "1.618033988749895"
      ]
     },
     "execution_count": 73,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sc.constants.golden"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:52.975935Z",
     "start_time": "2020-02-24T14:30:52.957853Z"
    }
   },
   "outputs": [
    {
     "ename": "TypeError",
     "evalue": "can't convert complex to float",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mTypeError\u001b[0m                                 Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-74-f6807a18ccc0>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mmath\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msqrt\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m+\u001b[0m\u001b[0;36m0j\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;31m# A math csomagban nincsenek implementálva a komplex számok!\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[0;31mTypeError\u001b[0m: can't convert complex to float"
     ]
    }
   ],
   "source": [
    "math.sqrt(-1+0j) # A math csomagban nincsenek implementálva a komplex számok!"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:52.980622Z",
     "start_time": "2020-02-24T14:30:51.148Z"
    }
   },
   "outputs": [],
   "source": [
    "sc.sqrt(-1+0j)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:52.982560Z",
     "start_time": "2020-02-24T14:30:51.655Z"
    }
   },
   "outputs": [],
   "source": [
    "sp.limit(sp.sin(x)/x,x,0)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "Taylor-sor megadása. Első paraméter a függvény, második a változó, harmadik az érték ami körül akarjuk a sort kifejteni, negyedik pedig a fokszám:\n",
    "\n",
    "$$f\\left(x\\right) \\approx \\sum\\limits_{i=0}^{N} \\dfrac{\\left(x - x_0\\right)^i}{i!} \\left.\\dfrac{\\mathrm{d}^i f}{\\mathrm{d} x^i}\\right|_{x = x_0}$$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:52.984881Z",
     "start_time": "2020-02-24T14:30:52.400Z"
    }
   },
   "outputs": [],
   "source": [
    "sp.series(sp.sin(x),x,0,20)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Deriválás/Integrálás <a id='DerivalIntegral'></a>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:53.092158Z",
     "start_time": "2020-02-24T14:30:53.088452Z"
    }
   },
   "outputs": [],
   "source": [
    "a,Δt,x = sp.symbols('a,Δt,x')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Deriválás"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:54.021312Z",
     "start_time": "2020-02-24T14:30:53.658992Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGgAAAAaCAYAAABb9hlrAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAFiUlEQVRoBe2Z63EUORCA164LYPFlYDIAHMFBBjZEYMjgKP/zPwoygIvABxnARYBxBpDBmc3A931atU4zOzve12ztXW1XyZJarVarW/2Y9cHd3d1oKLi8vBzD+yLzP879OfjJUGfuIl/u692f0m5pjk9ob8Df0PfCYe/q+otvEeJ1bmewU8Bv67PdLgfkf0lTwavCWzY+hMcn2jvGX2l/1czAv6/nMR7aQO2LKegxwjwKAXa9R9ZTZHxM/2UNWd+w96ra/ytjH2sNPubPNcLx0AZ6xRnX7UP/K3MUlkI0vfdYGdh/Y6sYaHQfawHWfzD5SP97QTI4GDIH1Qc55nCFOqV/2F7bxTly+qJV2odNyAcflf+CdsXYUDcD4L+D1GNTnv4lKECYvOKl+HKc63bruHawH8HHsJbCRUHu8CDr4wn9s02JCa93NI2t0UfOO3ibi/6gmbOnIQ5CDRLJ3F5DSfiZsUpdC+CRjA2T8jLWYridza85ZiOeU4uLLvQMefv4u3KxZxpltEnJQS8Zm9BrY4TnRJks/dIAT42j0Z/RJs4zbmleW96gTmaS9rIycNcx7SetNoZGEp5Mu3//Quea+eq52EP/ACJciI2jTOjaygAPjaMnvmf8yMbY19OuYEDtDmQ5FWjtAgde6tT7WgQEWLKL/zMQrd5zU4hLOQgmesuDmghceJMKXhX85hnTGt8+8I5ctyrfofepwB9ZuZs4S2VfwO/vzOyEvi/cWygkD0oGyptKByMFtOJ6xbgRh5mrcN1f8KBzmp5idSJ8heaTA/qG0cUtAvkMz/eVBRS+IioaLyNYGZp8IzRLo8d6F/kot/AC/OPpcO5f71WfPUMID/ktqgcjlG1RkNbQOG4YqLqQAkrU5eImt+QB9JaNVhwqzzyjt6nYZCD6pQEeGluP8yehMLRKVvm+ar8pVPxHmnmthA7GFjWGUqslFaisjSqM+SLe695bWh8MqYc4+zhyUBIE4b28lzsDcUX7xjhC3YixL0YDBPjKXA8vO2JcrwfdMr2K1xC1kVWY4HmCNP5sUoyTsM3qyARsmRx7M0nKiTGe13uPOGuGZgt6iLOPGh5US6KCaBL6ch/k8TV9rRRDhUZNDOk17MrA/jGb9Y7G9wF4jRXe5Lpe5u9ZDYBOWcQZxvRoX6IVlGHPiix+C2PYC8oRr7iLcFA91GcnD+ICUWG1hbnOCEPMCLqbFoGJTE/bFKh4IZLpdNb8GzTpUTSXykwjCj4gje0ePfs7d1ik6JG3XtQJW9BDnH2bDIQUxnzDmS9nIYBWo0lfQpH7l+HRcVB4Z99PQUHTJ6shMhmSXk/yl+QDzjP/+L0XBuwQYTkUvIbQQ9xtEgaaIFaEtFpC47jwBUFUvkk4eRM4LzthHgqTzlJSXitB3quXxrkNPqz7he26ZzSSv4SshWzmKI0QVZbLrpsrfVCd/KXJ4J1CSYFLPTwG1wMHzXiQH4+Nr2YEOQWnkJbaKsTL224V0p5WAJxrM3mhECw+MI/5a0NbuYaoCLG/MX4OTdsTpLHIiVLbB9NWtPNYZ9gJ3mOeEbehB73fxz8pv2Yz8eA6yUtkKZkuky+a4jj4EXMVoRF9yYZIDVfCHfOVAT4q0bOE+M7Rw4u3MlY+H9ZEIsC5v1iEvN5H2ep85v9hjAK9BmLdvT7YKI4YToG1kC3JxXzjeoCnefKI/qwYKATY98UQPxmdoaReYw6hL870wfvYPhwOccD/hKe/k83kuaHvhlH0UEN3+p1ub6D5GjfMNPLgfNKNrvjpUgq2vYHm6JaXbEFi9Wqe3SaYV20J9gYKTXT356Avupc2j+Ux6LHmnlIM7YuEe/ScPeiEvrzqe7astAz/42ycRt7be9A96kRxfjr4E5Gl95DgA6g/c9JZ/wATN2qsvni89AAAAABJRU5ErkJggg==\n",
      "text/latex": [
       "$\\displaystyle 3 x^{2} \\cos{\\left(x^{3} \\right)}$"
      ],
      "text/plain": [
       "   2    ⎛ 3⎞\n",
       "3⋅x ⋅cos⎝x ⎠"
      ]
     },
     "execution_count": 76,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sp.diff(sp.sin(x**3),x)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Többszöri deriválás"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:54.725092Z",
     "start_time": "2020-02-24T14:30:54.405133Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/latex": [
       "$\\displaystyle 3 \\left(- 9 x^{6} \\cos{\\left(x^{3} \\right)} - 18 x^{3} \\sin{\\left(x^{3} \\right)} + 2 \\cos{\\left(x^{3} \\right)}\\right)$"
      ],
      "text/plain": [
       "  ⎛     6    ⎛ 3⎞       3    ⎛ 3⎞        ⎛ 3⎞⎞\n",
       "3⋅⎝- 9⋅x ⋅cos⎝x ⎠ - 18⋅x ⋅sin⎝x ⎠ + 2⋅cos⎝x ⎠⎠"
      ]
     },
     "execution_count": 77,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sp.diff(sp.sin(x**3),x,3)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Integrálás"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:55.457551Z",
     "start_time": "2020-02-24T14:30:55.046178Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAFwAAAAVCAYAAADLuIn8AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAD9ElEQVRYCd2Y61EbMRCAD4YCnKQDp4MQKgA6AFIBoYMw/IJ/GeiAUAJ0AKkAQgehgzDugHyfIt2cz6ez8eNyw87Ieq12tU+tr3h5eSn61E5PT4d9us8id2mSZb3oEZydnX3jOp96dKVFrzKMMpV01rCCAl7RhrQ7EPbL3Q4H8N2D3Rb9cYdsF2bFfdXfNW2T8ahOkDWdaET/w701Q0Zg4RfdE33nCofnAN4/6Te9S98h3lcnfaZ9pqn0d6xPKJz1gnV1u+3+hgsRPPy/4BzGl10yR/gd+BnywfNew1vFgR8ck/EsaVDZlPGoLzn8YB7BX6OkBlyjyrZyiLIp42DlCoeJb0MW2Dd3P2UR3s6GMh5UU0qjaFqFDcPhd0T4SH/N+l2ch465IXpEk7BKvqV51nfhlua5JthlcYxWFYlz0vga17boD2nS/xLX7sG5ieM+d8q42+rhCOJjYMI/Z3wRm0o9ZmzuChDxVPAhY/fMbxrJ11lleCYHPjrJmE04JW8272k+VjvyoU/OwLD3oIzDVoWDYLlzg3D1kFdYFaFBhBOanjwKs38/WjSUeKxnPRgcldb4YHNOz9ZwCaRvCkoP3XvG1f2E18deGYfZlBKVaejqVWPA3iPNNcP60cECoNKqhqqSeoBP1diWjfIO+PRTS1hwrBBMd3WQb8F+U/TJYyrtOsEpc+UYZBXOpsoWcspwL3m4QpmnB7SE795C3getujEPoPmdNjNAo0mhBetGimXhxczEFkMMjtWm8ORZgxY+CecBHMP8CgFc01imnBT6TLNgqLXxCAehpZeKVz6QrIVz9KOA1O8f7/qcVThCpNC1iiiFVCb2FF4wxwvOJyqXsDP9JxloDBMeXlD6Gs43QE/1EU5GZlqcMA/vhJOegx7+lFV4vPw2vX+5L2nV8DZVWLWkx1APUzGWbMnbnpmnMctZkK7lXh00os2qR+UbCSWw5t7E+1IidDf4EFmFlNHCNrw/6eOVVYYCCKG6QKDgSfSmB70oKc+5BkjKZlp+LzBvV0Ea4mbzJHueMTrG6nTmKlnDhpJRGjTzrhFnqapBxyKPtZkh0po7h3O+Gt3eVcdRXt+yiVTKmnIclR+vmMwNELMGV7FBAfReQIurTJU2TeleZp9z1ShiaXUAr84eTXjppOHP38aiIkEsRAZ96W2MjQabtbmKt8TKejl7GsUc3VhRsL4KSHdcBe06TTOEMhbr9Z055g+cMTT15iZQiZaNWeCsISgNPaETgJff/idCf9nMo0zKFngtw8OtHHwQTuj9I/QnXtrHxNTi3/1ZUoVRYF40R78l0NnKyF1KDl+WdjCMHr5H35Z+lsVu5XSQw+9NY59G/gIeuZEFM1J40QAAAABJRU5ErkJggg==\n",
      "text/latex": [
       "$\\displaystyle \\log{\\left(x + 1 \\right)}$"
      ],
      "text/plain": [
       "log(x + 1)"
      ]
     },
     "execution_count": 78,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sp.integrate(1/(1+x),x)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Határozott integrál"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:56.048298Z",
     "start_time": "2020-02-24T14:30:55.489243Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAJsAAAAVCAYAAABR25wkAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAFe0lEQVRoBeWa7XUVNxCGb3xcgON0YDogpgJMB0AqAHeQHH7Zf6EDoIIc6ACoIIEOoIMQd+A8j9jZo92V7ud679qZc2RJo9Fo9Go0kvZ6cX19vbir6eLi4mTTuW3TZ9Mxbpv8NpiU+hws7ihdXl7+ztTubzG9k6bvFl3vXpcxcfzJXTYWYZiL+5Z0QvpI/clYujfRw7iPkX9A/kfej7p2Be+U8nfr8L/05HTUK/hvcv5UZca9DTieN3gckYvrS+z+mGNEvYPjqM4WAzHIZ8rfyCd3NsZ08p/Ifw17zKkLyGvyR8Gn/JKygDyi3AfKOTyEfxXyU+eMPUccxVfHCmdbUHZzvyM9ofw+x4l6i+NB3jBi2YixL9KBXhcGl98CZDtAGOV0JoHqkzrsszWh/4z0fGsFPyLvDt136lrD0fk8Z146WFBs1BfByPIWx5tytmysyYtPAaJ0/J1hyVfa3Jk5CdQRfCNfS40OdfXlW5k1Cvbdpf8aQ9yYSA1HrxxXTUqDg5H1IuU43ipnw/COQ/RnR7u77Vuf39R1Ko/2GjAlp1DX04q+W8veBUf6ehf/2TwAoBxRrnSiKJZwPIwOU+QY5YIanr82490jf5cbLp+6UcgjTyN1sA8k++osH0j2K5H3sRaEXIA+tftjerHS3nkkNH3Vpc5SpMzVT1rG1r3h2J8otrhW6YpCuYZTwnEyZ8MQF9W7kZfxNvpQ1nnuk145EctkOpe756rh/Uvuq/F98OQX6BRebXcNxJuxdOZ4ofZl3BSCORtqbN47jo0dYvOA5Eb9ewlICccpj1EB0llaR2uMc6F93aQIQ9lLZv+4c2ckh0CuGLlol9zxmzxOwqbk6ElD94+6lh7dXfFJamHzXnFkHb6QXpE8Mf4kfaYcx2kfiITjIQIu0CeS+brkE1dvXouQ1ZFctL/6HdRDkv0baW2ddijQMbwUDQttHRZjGgFXfZ5xQVfi0ugqRUDtWdDeeQXLg5x37Wj/IdH7i/zscNRE7IoTxytReyJl5iccdTYXp/NNKhMaqxjRYZkjCKSkE3i0+kIMedu8F4xC6PX5fkzefnOrKNZZwoaKSNWZFuh3p/uLRC1yVnVWGvaOI3NJ60TeDwweo244U+dbG/WE4yGFKShC/tGSwUJGo71ovmVC8gTYY7Z2+aS5JcP1sjEW6NEB7pG3UYVyWkTysCEUqkudc6Gwb9kcQ+amcPQj7QKsShGshlPCcRJnwzCPjCssMZJ0vB6+O0HyLiJZH7xQU8vqP+GcRUnGclcOfsaCpwOWnNkdGYtHcb80ExxdRz9/mOd02lRKd+qE4yTO1hjxkNyfkfzJKA/BHo9eNMNIJ2Eke0YeE/pOPcqwq6ReX0cDor/RS4cWqP6L9Qxe6ajzepHbOtC7B8ZecWS+g5c72LlZj0jnlEvrlHAc9bdRBjJy+JqMaJVekfBTdCB3wTU2DLKu84WjUU0h2lCtrpzUoWzJKZIcbfYxKg6+w8Hz+Z2OyyTc/WPkHdxbmz4C2LGv27Veo5+LsPGdjX6zxdHZYp/r215DnCPJAFHECb7Yn4/qbCjcmTDMb2w6VTpuyd0xxyQXwCi4yuGc2EavZeQHxLgCuOwD8qBPn4GOrZytr2ebOmPPDscpj9GVmAFQiojk7b2OslHQ5GcKnc4dVY1utOmQfmoofW6AvTYZgXd9AYftaw86huBccTwYY3Ij6vAF5bFjFCuRDtS/b3Xk6OtFXx21I7MjX6o0fdVRejSUuhR59Pd+uJOOouLVzFniOLfI5j8send6Qe5H3n8aXH8h9zh9Bn+dC7vRz8fAqu9oiBRJh941MhYVT8EEo1niOLs721iLAeBGtsfky47cwXDI+8+UpZ/VBrL/B8aYOP4HL6idqfy4Q9wAAAAASUVORK5CYII=\n",
      "text/latex": [
       "$\\displaystyle - \\log{\\left(2 \\right)} + \\log{\\left(3 \\right)}$"
      ],
      "text/plain": [
       "-log(2) + log(3)"
      ]
     },
     "execution_count": 79,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sp.integrate(1/(1+x),(x,1,2))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 80,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:56.055047Z",
     "start_time": "2020-02-24T14:30:56.051454Z"
    }
   },
   "outputs": [],
   "source": [
    "a = sp.Symbol('a')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:56.684318Z",
     "start_time": "2020-02-24T14:30:56.057707Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeIAAAA8CAYAAAC6qrlIAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAP70lEQVR4Ae2d75XURhbFZzgTADvOADJgIQJwBsaOAMhgOXyCbxzIADsCbDLARGBwBjgD2Mlg9v40ql61WuqWWlVSlfrWOWpJpVLp1b3v1at/Up9fX1+f5RhevXq1mGB69nmOmKxZJmH+h8r301JlNOdLIb/7XNv+LiY5x5iv6excTM8ifg4i9rZy/Uf7u/FzX1eOwuidSvRR+w+llqzm+572bgDVJNaYfNLpQx1flcrtWLnrctv2BwAnrBa3ffO1S1SNySjbvbWbTRYxjyRFsY5lLgRrQ7zUvnSszHdLacQpzveJti+1YbdSrPbUujCA2oxs33y1+DrGdnN1xL+obO9b5fNpAwGR/VSn97V/3Igu9dB8dzAnbv9W9Bttv3VcXmuUdeEAs5nZvvnq4Gus7ebqiBmmpBJy6EBA2NxTNBX0w47LJUaZ7x7WxPWvunRb+8Xmz3tESxVtXdiDbIa2b756+Bpju9k5YgnPUMefPWVz9A0C9JB+FVbFzx2a70EqzajHb8KKtROrDdaFQdRmY/vmaxBfg2z3YlBW8yZ6psexCCF6qCuyn5XxMx3/O/oDZshQctMzoke8lt5wMr6hYyWcX6kcv6s4VMJrmIqAmq6QTBdWoge52b756tLiRpz0bpDtZtcjVhkY6ojeI1aeOC/mVelVlNyzYEj6LQRrv4aQhG+AWRHnFAfef1KZ7nCy0pBEF1akB7nZvvkaZogHbTcrRyyDYVg6ydyw8v5b21vl/88w7PJLVVcoVMSv85NuvEQp+UYa5V885wFVlQW9pYFKL2R1IaUurEEPVAY6EtnYvvkaboLC6qDtZuWIVTSG3d4PL+LJpXyhEv8pYtfSGzbf41SYj54wqrPGYF3Yz2putm++9vPVvrrXdnNzxI/kZEp/J7ZNQMxz5oggdC3BfI9jkh7xWldQWxf260Jutm++9vPVvrrXdrNZrCUHzNBLkmHpNiJjzmu5WCTDsBC9UVqCs4daDp4bff589sLogXV5suN7CSyGPlOY8cUphrl+1LaaBmuuulDLZdtvKWiufLXEzOoUu2WTUJ22m1OPOMsXwwUe84yssAbEJcN9Hl6TuaQcsZ6dJd+xCpcwHxpilS4kfMbcWWepC7b9XjXIkq9eafO50Gu7OTlihl5y7u19X5hPWlJr6kHmzncn3aqcGZJbcp72qwRj9GhNIXddsO1va1vufG1LW5/lbLtZOGIBdEdY0XVfyyKkTkWYGMmK8qV75ROLcHN74Xzz6hvbUqHSAWG4CmdcuC7MpQPZ2H7hfGVru7nMEdPCSroIqVYgXv1Aqe/onHe7vmnPK02LBeTSNsTBokRD0i1WlhEPTs43soCtdtlxPgKnrqRBByjbGkZIkutCrnqAXNoCn11ch7icbP9k+QpkTNgHrndsNxdHzJxD0i9F1Qr/fAKInbcqX4wEp86QIYG/bvxD8VvD7DqnAYBTgAyI+KitMjBd428Mue9QCM84lG7ydcmDjJQLeb9pY3EQH5SI0XBJzrdkPZOsyB6dc/I+NkgmOA9D2w90zD8sgTWYEP5Smn0LsYIxX94kL/43uS6k0oOay+xsX3IVbbup+JpqKTXfSWz31lThpt5fF+5M+6upec19v2RmePCLtjc65mtXbDjb59r/J8ijY9LheJ/omGusvMaA+fwZlS739AalwbAIs8xV6Xk0GigXsrLhfPnsKOXEkRwdwv3aF8f30YXevnGjK4r+Sxurcpl3psEAtuhFb2jgNomH3gfMeKFkXZDsWdq+5LLtptPhZLa7uCMWZnz7+X067JLmzHD6Byl/6KWEh1GpQhrGSuBl/PYcOD1m0p0p3VbvmbhWmK3SlSw8i3LhgJvl4rhdhpaYg05L5ntQAfsSCU9a001He6Vzhvr4hyXCpbbm9Sqy5+eHnviSokvWhexs37abTvVT226yoWkJToVyaJgN5OgddvYIa8X6pOtjHNFj3bc1d6bzax50KCjd+aE04brS4mTpqdKr2Qo8XxtxDLttyULkEYEKmkDFvTfouWA1BTN446MRwTmE59HS7h0yVfrJfPOgCPKTx2S+lQcjAJS5HSoudL1LZ+F933vmn3W92bjhtTjuqXg9cG9bjjE20b436bnKMVkXlMdUPa7KqHwm60IbLOWZpe1LzsVsNye+JEtxtpvEEQsIWvkMzVJx91beukboXbCgfKigJv9LkvIZ7GAriYb9hOHiqhLtuQWDJaAYzAPj4EJ6rmE4Q0IYkqZy2hsiYEYvZauHjtyKo7wMr+8EXY/CNxlHkJ88JvOtPLocLXlTVnR29Fy57mk3ysD6NeVeS6jxse3//xWz2WxfOrSY7Yp36rUs6mrJUpztRnfEAiE4Hyqdrh7Fps6pjfaQo96kz+wg9Gz2OceQ5rNkp4fJf8oSh1Nj6Lrd61T0ckHyUBa2tsPFwM90fctB13GnwjfFjRaEJbYB1hv9r/EH56sBD5pt4d4AWaokkvtUdCHYNfz1hZBmFtuvdce228dGxHhhHd12b0WUL2QVFiC9VwQ9wGCc4Xpzz9At6YoLKhcNDSpMPrSxFWqiiGMeiQBxrKRm2LxarKX9GCccKubLKrf0P6ESCU/afExEcrf/iu8k+A5AHLsXbtgCoyKhcUqrHeyaWL/QeeD60KOGpjuUT8zrJ6EL4ihn22/qE9zadidquPhObrvRHXGjYgm9J5xtX+D/LNvDdX1pc4znlaufVYZ2Y4MhZ1ZQBwyoNKvFW4pjWJPt9ogCfa/TjrlnRPY3SSUTciIzPfYqKI6hWMpHy57wo+I2xt44DmVdM983CBz3iwNm+y7M4DFwWuWmOK7trDeoLjZ+lC5ws3V/I8lihyemC1nZvrC37abT/OS2G90RByykGDhYlINC7ARdJz5U3jvXc4mQnDQW6Nne1/aIY21VZag9ZWRe5JmOcbRspK1e+9G+CooL5eSVIIYU2f6r+K/amE/bG5QGHNmGvGu8N68BF1ls9AC5tNGgwOnSqr6sZWXOayfo2ir43ilYvAh0gFEQ9P6p8KJHzOts77SxmppW92aYWud94XZ9AX3IMqgcq9AFlaM027ftprGI5LZ7kUbuTa4UgKFMKpl2xYHShKHbzQ0pD5BD+b/QhiPk+AdtVISbHp7Ot4KuUan0roSt7+1cHBAyUhrmXF9rX1W02vNshpnpaeK8z7QdWvyDjKE3pMM0QXLAU1d5u+LaQhTPd7tAsc5rXLf0RHHowxDn2xQj6MDnZmSGx8XrgvgpyvZtu2msYA7bvZVG9E2uYf6XXkA70LvEWGcJehbOjx4pjpeeCc8+2BtVmklBz6rKrv2mwtUxc2m8k0scvc6deeaOh1Lx0ivPOZwC3zRU2JYKD/TgGO9zp5b/FHRhL4ay75Js/xT4ytZ2Uzvi4Gi35g2loPQEaW3OGXB4/J9ws/dbOcTEQuBAmROmzF2BXlLncG8rMY0IRhZoUOQaVs+38EeHxiy0i83VErZzTBlWrwsDQCnJ9lfPV862ezFAmY5OooLj6HC47R7xEquleQWnObyKTEH5ji7joRtrDJhHZkUs5f5W38OwOE6VecIhjZLflRaHjdz0pLMLdVlPmu8ZSIH/rSHuGZ45+hHWhep1P+q/ImzffI1W8WNu6LXdi2NyG3kPQx5hxXBwOMwbPx+Zz9HJ9SwcHluzN8xwMAuvqh4minj0Aw7cWOc9qbzkoY2GA3Jn6YhrGE6e7wPqcPRl8Y8hE5I3IG8eM/n35HWhMNs/eb4ma3xPBodsN/XQNGKFSoPe4JkEYrFJ0yESnTTUxrBxtDpneI9KDTmqj1UkFSBe5ixuy11e8x2P73ZONML4JOas9tMWYsS5dWEEWAeSzmH75usACRMu77Xd5I5YlQa9YJxgaM0PnROdUObOWxmW5rUiXhWhMUAPFXDOFLdx0pxnHBieZp44YJmdqJLNfKdjBd19nS77uDlbF6Limdz2zVdUvtqZ7bXd8+vrQd9Eb2c66lwE05rjwxD/0vZJ20PFleL8JG4+Qbi9kTSsOGfuKctgvuPTIkxZ4c86A2yomGBdiEeVsExu++YrHl8hJ2F60HaT94hrYZh7IPAOL18WshOu4Bj/I+zoye9bhT0+0/h3mO/4mGI7T+JnmzxH60IkiGeyffMVia9GNgdtdy5HHOYeaBnM+hGPBhhrOsQZ84fyuQbzHZGZukUd3juPmHM1LcPoCsNmqYJ1IS6yqW3ffEXka6jtzuKIJQw94LBimrkOhwkICM/qPdbEFejREprvo6HbuVFY3lEkLermq3c76SZE3Na9bEmCdSEurMIzqe2br3h8jbHdWRxxXTSGPDZ/gh6vuCebEx+dZ/EZFXWOwXxPZEXc4iD5PCrvmpeyUrqr1NaFLlSOj0tt++breG6qO8fa7pyOmJZciXNcEylJc7uIZpSBVd+bd6HTPOnoXM330dBtbmQah3fwc35vfCPsngPrwh5wxl6awfbN11hSdtOPst1ZVk3vyuiYWAjIKOkR80pTGPqPlbXzWRAB8Ulv+L72Yc4uiTTKn7cZWPz3NskDnGkyBMSZbT8ZusdnLF5G264d8fF4+04jUDwCdsTFU+gCrACB85cvX+K9ebeX/dDwWAa81QPTefoXkodK53RG4AQRkA2e9xVb197pWteHYC7re7533MuajoOLxGz7Hcg5ygiMQMA94hFgOakRWBsCcqIeml4bqS5PcQjMuVirOHAssBEwAkbACBiB1AjYEadG2PkbASNgBIyAEdiDgB3xHnB8yQgYASNgBIxAagTsiFMj7PyNgBEwAkbACOxB4GLPNV9aOQJaqHNHReTbtYT72lg5y9e6tlbEc9HBCBiBchCwbZfDFZLaEZfFVzRpa0N9p331n8xkrOM32n0hTlvSD0lEK4gzmorAlTJgc1gJArJdGti27YL49NB0QWRFFhWn+6yZpwyY3jGVsv8hqwnMio9pcGnjk4YO60HAtl0Yl3bEhREWUVw+7vBVlXD7Qy70hPlkJq1qByNgBMpDwLZdGGd2xIURFlFcHC7/cds3LNl20BEf7ayMgBFIiIBtOyG4KbL2l7VSoFpwnnLMXyU+fwLQ+7nEgotn0Y3AySJg286XeveI8+VmdslkqPf0UIakw0rq2WXwA42AEYiPgG07PqYxc7Qjjolm+XmxSOuDjNZ/iVc+ly6BEWgiYNtuopHZsYemMyNkKXHkfPl3HoakN68zLSWLn2sEjEA8BGzb8bBMlZN7xKmQLShfGepTiXtpJ1wQaRbVCAxAwLY9AKQMktgRZ0DCkiLIUPkbvLvab/53Vsf0jJkrdjACRqBQBGzb5RBnR1wOV9EllaGyOOuB9u3FWTjnrj+Kjy6DMzQCRiA+Arbt+JimzNFzxCnRzThvGSo93o/auj5l+UjX72YsvkUzAkagBwHbdg8wGUf7W9MZk5NYNJwwzpj54Xbwnz60EfG5ESgHAdt2OVxVkv4PZWA8hRkeA04AAAAASUVORK5CYII=\n",
      "text/latex": [
       "$\\displaystyle - \\frac{\\sqrt{- \\frac{1}{a}} \\log{\\left(- a \\sqrt{- \\frac{1}{a}} + x \\right)}}{2} + \\frac{\\sqrt{- \\frac{1}{a}} \\log{\\left(a \\sqrt{- \\frac{1}{a}} + x \\right)}}{2}$"
      ],
      "text/plain": [
       "      _____    ⎛        _____    ⎞       _____    ⎛      _____    ⎞\n",
       "     ╱ -1      ⎜       ╱ -1      ⎟      ╱ -1      ⎜     ╱ -1      ⎟\n",
       "    ╱  ─── ⋅log⎜- a⋅  ╱  ───  + x⎟     ╱  ─── ⋅log⎜a⋅  ╱  ───  + x⎟\n",
       "  ╲╱    a      ⎝    ╲╱    a      ⎠   ╲╱    a      ⎝  ╲╱    a      ⎠\n",
       "- ──────────────────────────────── + ──────────────────────────────\n",
       "                 2                                 2               "
      ]
     },
     "execution_count": 81,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sp.integrate(1/(x**2 + a),x)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Láncszabályt is ismeri a szoftver"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 82,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:56.796990Z",
     "start_time": "2020-02-24T14:30:56.792744Z"
    }
   },
   "outputs": [],
   "source": [
    "y = sp.Symbol('y')\n",
    "def f(x):\n",
    "    return x**2\n",
    "def g(y):\n",
    "    return sp.sin(y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:58.130704Z",
     "start_time": "2020-02-24T14:30:57.777512Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAD8AAAAYCAYAAABN9iVRAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADk0lEQVRYCdWY61EbMRCAbYYCeFQQ0wGPDqCDhFQAdADDL/iXIR0AFSShg9ABwR2YDkLcAfk+5aQc8skcr8PszHp1q92V9iUJ+nd3d70u4Pj4eIF1Dqu1BhXdgT/uYv2mNeabmK/EO8HRvWib8Snja3Al8rqmcx0uuIvDm7X1ThgP4K3WeJ0Ou3TerP96rncEK7bMo0w16XXmPIufgfX+Nhg38IZtvUB2H9mnVopVpn6CVs6jpOIfcDdpPmOAHR34CK61NYOO8svQi7Y6dTn0Lv2GJh9aOY+OpeZp3XqzyDYCi2vLfl9jXK+ERnmZyLn2IfSgKNRiAv2viO1V9nqtnEfYqC1C02ndYq0JEfR1/AC6BY79rngTshnDYHk7vARoR3u9fof3vI67cD17BtNgTK0A5m25RWRfBLSHoQ9d3vPe6ZavNAEbmVpNzNvrN0nhZQba2w7Os4AHkHewGXCDwmf49qUZ+wFKL/n+BO1B1TkH5X8HLSU3KmyAV8jYYwEYPzVzWxgIh1VlKhFsulcPMB9K13yfxclq7hwa9hv5FdXe1nwl5OvLRRLwHTICNUoGIc+YV5T8EXQJXGUcnIUaGDdzAT43a+vYKvV7OARZw6CbiOQ8420wJoPhPXDPm3P8aHwdAzHjUSpf8DZOZFTnNnU08hnHu7v+oovTj6Xua2Jt1jDAV5UxE5fLFCumkh2YeUtZRQ8Vy+EnaMZSyfL9EJRebnlAH7LTNG9VjRsm6g8ks/wlkzHwOS+KmLAFMy94f+vsALR3RzifZx727AD7CwGB6qRBTiUPz6qQ13hWwA8BnUNQh3tQr5wVsM+n/e4fIhp5a7AqdaQEHmhD9hqCUQmFwxvesKCkvVszr4PpyacwSkbRHvY8eGuwREOCChtxLj9Up/W7Zsz8jc4Lnpp5dP3OyyaXUVdDrwlmz6uzBPccxw+zLnp2lcA2H87zMwbNtGUOCbDMr9efh4qVcQiGKuDbO38HNOLynfepKt8DRr5tIxjUDbDprv0n8fDvN0S0XQJfjN7nnlW/wfjPkTxxdX2Ds9fzeTvreHR0NAJX2+wTuRPwuiTL3AAcOR/Lvh6VWRyb1VhNaX9mG0yPL8a2peeXFVgCK0V778N5nLItm/4C9AVnW0QIrzzk04MrTkjh25LaCdeiPf9ewHPD3vckj2AWl3DG/9DY66eMp/W6b5f/FVTqjVnkV/26/5S9obuvfl33Lz6ZnmTBKrkrAAAAAElFTkSuQmCC\n",
      "text/latex": [
       "$\\displaystyle \\sin^{2}{\\left(y \\right)}$"
      ],
      "text/plain": [
       "   2   \n",
       "sin (y)"
      ]
     },
     "execution_count": 83,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "f(g(y))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 84,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:58.638096Z",
     "start_time": "2020-02-24T14:30:58.132064Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAIEAAAAVCAYAAABhV40FAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAFU0lEQVRoBdWaPXYURxCAhawDYPkEFqkjIXK9Z7gBlk8A3EB+RFLGEzcAMmcGQmcQKCHC0g1E6sg2oTP5+3q7xrM708PueNrarfd6u7u6qqb+urpnpK3r6+utTW4nJyd7Y/QfyzfmWTV4xurfx7e9tcFwenp6jPr7I03Yy/wj2W+ObWq7b5mlCN3DpJ+yWQf0fzoHf5lxK3dZ5kWW83JlAV9gQP5DSO7Rh95f4Oguw2sSfaafXL/u06bB1LD7K1QzAV4g/Ojw8PBX2svz8/PvwP1M/4H5pzHqw3sXvse035U7RkaJB11vs/aK/ocSzTJ49PqAntr7mvHfy/DcJE0tuz0OzmhP2sbxMHfXZ9qbNn6VMTLeQ/81/ZzsVWQM0Krzi4H1VZaUo7xNgCp2mwT3aVc5y9qOMIi3wVspRgG8JlINOEL2JCU8y1Ge1WXdoYrdJoHB/jQQsLVyDnp6Fxh1RA1EWHlHA+s3vlTT7h2El87VdOtmvfdyCN51q4i7PRLlR/B3aVYPjxL798zTMzLPq4x/TW95M6jCPdpHaJ6nWfnnAUsmbgfgVQ/vIXdoF8ybapHXSvcI5Sm3oWc8B5lffbU3QH3fxqRFc5Vx6vEGfKMv46LfQk6hr2b3Tt8Ds6IGsPfmHcbSq1gDzNP5T+/OMhl8O2iAuQklXift0vYZp6DT6xwD95Y2tNMPoCvdB57C61uNiWWytYPqTo+EYzgH6mNC9wLy9IW2PGKcgk4vvQG2il7S1N/EfyCOPgHjd67RntNM0jP6Xr9lllJXze7twhM1xmCUdqUKHWSj2iIWg+OrZh/opPvwt3dRVJxiMLIgHdmRiyyD8DHT6ORFmuJOyrQGugT6w2A3+jJXDyEqQ/isSYDZctpIBl79lvVbZp3rqtndqQQoayA1uHRMbLFmidfJfzmmf0cbShqWO/BbBzNDhHMLy6mChOPbNGlHZoS7/ll7kbHJtYgLEgPX+1zsE28A5zYEeBMiJQVj102iSEKGM2DNKuHEo9IqNdZvu8ioYvdcJUBBz9Nd+rlypQU94HcAHaPxnpW+YSxWAtD/D/Ds5CB6g23gmqMAnEES15zNjNtQcrA0USH+aDMsjIOmL0hBqg7CpH6bwu4mCRDmeXmHvqkAjP20GgYmC/wJHL2ZLc8t0N4HHjMOYyWtAe4kA1oC9Xf3tQNiYvhl8LLApDzl9kGUdy95JQiaIb2sVMmX9GP8Vs3ulAQoZeD6PsGaGH3Okd6q0QAy3HmWR8+9mqDDO4nZeqBrEZRAD90HpNnt4Um82GUymTy9drH+kOa6dJ0KypoJKHhn+C9+q2b3NkrqNBX0w5Cfj5sG7glzjesDb+KLme98seQu0ihLp48FHe7rZAnmEgAdDYLNe0sJLNHKLYHVxaq4mPgeg8H3PWM/5hjoNkjjm0H4ZVm/tWU4rmb3DsJ1jokwZyBzIQyczf79NTHc+Zb/wH7DwFuwZU9HPKWl3cPcJHtE8zniXbc8i/eyJt7jRNBJVqXmWJqhm99fGMlXAl9r/R6g8z3Ho4xHEPr4TJJ4fmcdWdr0LQva570nvgO4YVLS0XsEmUyWev0jaJfzePag3xJH+aee3TX+1l1bJn8Tv6LtL/Mc6M5oFyVa1vZoV6X1dcKrJ21yu7fLibfWK+7yzs5lx7lTmw9UjD2KrHBWmxJYOZS3CVDF7o1MAoLrUdT35uJF1rIZkL4aQp/e5wMZPXjLtXKa18lYW8e+lt3eCTYVvDN4N2jfyN3Vfufwn0W8C3hmx3nMtAOe752K0qFaL8T0dq/TmbeqLvk8P16VT3p4j+Ufw3vTPFPb/Q9Aed43ZnVwXQAAAABJRU5ErkJggg==\n",
      "text/latex": [
       "$\\displaystyle 2 \\sin{\\left(y \\right)} \\cos{\\left(y \\right)}$"
      ],
      "text/plain": [
       "2⋅sin(y)⋅cos(y)"
      ]
     },
     "execution_count": 84,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sp.diff(f(g(y)),y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 85,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:30:59.154720Z",
     "start_time": "2020-02-24T14:30:58.640047Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAF4AAAAaCAYAAAA+G+sUAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAE90lEQVRoBe2Z63EUMQyALxkKCKGD0AGPCoAOCFSQ0AFMfiV/oYNABTw6gA6AdBA6IFwH4fscy+x6d+/FJUOyaMYnW5YlS5Yl393G+fn55D8s74Gjo6MtVh3klTsZ70GfLiRNx4+1HR4e7tMer2I/646b6xzTTps0+zVfzG8udDo3kInIfIpZ98FfVjRvn7WPG2tf09+Bdq9Bs/sa2ueKNhml43FEShPgF7VDlhi79ts8fnT8gOcj+GWTd5SO1xG046Yjlu3jyLe0Zj73IH5AO6llyQvtBdgDT3DLTwgWh1eJMpk8AJ85ht4RknmuLcq2PgA/WZcRyDK9pNQ1Q6YH/Y62K89m3sgx2BOx3Yeuw7/Tb+Yw+W8CGGBG4FoAHxm05nfrRfMG1PLV+RSeFPWmGhe1ch2Tbk4hXsmbBvsY1Cl2qxiZnW5meEKbOs60jjjnIRrQz5zU8Ub1KRPpJCRmsNpvDQkKpuuEsSVeHHOL4jy7sl9MH2aLe1m2AWuaHgL1plRjjtfBLvRE+qA+kD6e60IzyCyAQ7YuY8d3mPWNuACyW9mjTFx0TkEp4m/BmE6gYnCYooP5UmDpq8irKjyk7dHMcc9pwld4Pl10u595vamtaXhrTYPHTQp3aT7HynubvnvTicpxT8Jz6NanWeCem7pbvFn3QvbBe7u1eLGBvjSLbBnxHWBCw3SoV6cJfhlIJwr2XWqV1nHmOa+dTu11PPPKMzr8Wp14wDpPp6ZnGFi91hVzpu/fBPQ/O0d7Q9PR7qP1KmE8K9KypHRIs1LByvaFgjk4dO+Y4/tA4z9paEzSNxJ0bICR4xMqXgjb9JvzwRdYmTq4eTARrRGFobc4PS82AHSKB+Nz1+dgrM0sC73L3WPoinUJr8G+lryBQeje7kQ8GzBydVCdgr5BazokPTuhJWE9/EU3czpJp5WDdBK6hxDR77y34iutBfCd0KSZTrxdRs4vsOnHF0orSBgPgfuIqKt5VravFjRjXHS3Ih5DjOptcOsaKwjaSSXQIvG+og0Ndajw8wL1fgZPREUfk4cjeOgeomu8Zb7KDJh5oGyjvgN/aV9H3gAhdJ8Vx6PYtHEXXCKdfu+7FLq52egpaQNaKhoDCuOmWCiHIHiUOwTexHRAYCPf/W7AbH7fpx8HM7R+ITpylrVvIbkwhW3T5Pi84Yfguph6GGfQdaoFzg0JGjplHM6SdsDYiOpApntjzM8dYN5vdM67vu+2hV5rgM6NlwfddButMwZBr3x5MrjfMD5oE3T/lX1F0PzOn4hHqRGkQSr3y0Bp0PwJQWdouC0dgphWAB7nOrm5MFx0vEneoNpppopIY4/oP4Onjlx5fNHEk9JDrh3oOObp9oJ77DucddjXq7Ai6msDdrrhj/cM0vWtmBxa1PwNQqNSLpXIWCd4G4xOn4geSEk7jHsBnpDjfLzTLYzl5tB3L968qUyAY4MhORWsk9TbrBd3GHsjZzo+r7UY36Yf8if0Y19pT4xXsg+5MwG51iFr6O6G/4iMCTD6F/bugmce0mX4BJ0GqUH0dvMyFPzjMj+wv04duew942xvlSlU/aP8B8rr3qozOuIKwOe3aTWluNFFPIZbyL+ArVFXCdat8mocneOzp/fAB1fldQ7ZG2ZuL4+I0RXXcHaO+L7vLsGyFoyeeJW16spYI36CQ3z++lODz9PLBNNL+TUgFP0GHQ0r4kDx/YEAAAAASUVORK5CYII=\n",
      "text/latex": [
       "$\\displaystyle 2 x \\cos{\\left(x^{2} \\right)}$"
      ],
      "text/plain": [
       "       ⎛ 2⎞\n",
       "2⋅x⋅cos⎝x ⎠"
      ]
     },
     "execution_count": 85,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sp.diff(g(f(x)),x)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Sok esetben nem létezik zárt alakú kifejezés a határozatlan integrálhoz. Ebben az esetben használhatjuk a [numerikus integrálást](https://en.wikipedia.org/wiki/Numerical_integration) a határozott integrál számításához:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 86,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:31:00.188255Z",
     "start_time": "2020-02-24T14:30:59.156424Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/latex": [
       "$\\displaystyle \\int \\sin{\\left(\\cos{\\left(x \\right)} \\right)}\\, dx$"
      ],
      "text/plain": [
       "⌠               \n",
       "⎮ sin(cos(x)) dx\n",
       "⌡               "
      ]
     },
     "execution_count": 86,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sp.integrate(sp.sin(sp.cos(x)),x)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "[numerikus intágráls SymPy-vel](https://docs.sympy.org/latest/modules/integrals/integrals.html#numeric-integrals)\n",
    "\n",
    "nem triviális"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Vektor- és mátrixszámítások *sympy*-ban <a id='SzimVektorMatrix'></a>\n",
    "Kisebb méretek esetén, amelyek akár szimbolikus számokat is tartalmaznak"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 87,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:31:00.200099Z",
     "start_time": "2020-02-24T14:31:00.190218Z"
    }
   },
   "outputs": [],
   "source": [
    "v1= sp.Matrix([2.,3.,4.]) # oszlopvektor\n",
    "v2= sp.Matrix([[3.,-2.,-7.]]) # sorvektor (még 1 szögletes zárójel)\n",
    "mx1 = sp.Matrix([[1.,2.,3.],[2.,0.,4.],[3.,4.,1.]])\n",
    "mx2 = sp.Matrix([[1.,2.,3.],[4.,5.,6.],[7.,8.,9.]])\n",
    "EM = sp.eye(3) # egységmátrix"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 88,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:31:00.936217Z",
     "start_time": "2020-02-24T14:31:00.508876Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAACoAAABLCAYAAAAGaxWkAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAFJ0lEQVRoBe2b300cMRDGj4jniBApBRwdkFAB0AEkFQQ6SJQneIUOoAXoADog0AEUECkEpYHk+y07i883Xvvu9g4kdiSf7fF4/Hn8f1iWDg4O1geDwbWCR+eHh4e7XkHXPLVzK51DT6/KlpaDgmOlEQ7pLszMOX3k6N8Wbwd+CPREyBcJbASX2j4dYSgjHqwxoDCTpEoMy/da4JPie/Li39S8bCRZs9pvCa8pHIlXZJw3We0SkDJAYvH9OnxUHoDXym8pzpLkWAdXiukc04xOXyjtzstYYRFQVcIS+2FlGlT+QeEs5Htpye6Jv6L43MqVpi75E+O1xaVAsdqtlK9Eyi6VB0DOKuwc3hS5En/L0Rs1MxiUAgXQXW2FMSVixB2IZegoczomm5/Z6bMc1/TyApjaS9mDByr3rFWpUlmuE8itVsItP6UWHVMhAIBkyG0nGJOpGQaCOZmibGemBqoWWUScXKzgWel9TsFUQAWOlcqcTU2JsF1vblq5WZt9tZUmBipwbDWrijnesiQ5G3JveI1niyqpbyKgapTjbE1xY0mlh4RkC48F7BqejFmU8lYqBiowLJ4NxfHiAXzb8AKA+cyxG1N1wkmnWT0ub/Kl2xPWoLFLKY1PEjbsakEpZij/KNwoDYiKlD5V4OjcUahOJ8XIflbYfJRq/y0CKhUXCoBlfsbU7KFq/EGB+fYzFlIe4FxCNhSzeIg3lW/qK5+kIqBSxk2niFKy4jO8I/eFIoW1UPEcnUTpPGR7oF1btbdob9GuLdC1vn6OvlqLFh2hWEdH4FCRHYFcKMhzdmevaJKrSLJzd0AAjNuPBQBzi8KBwDUvS5JbiAOCW9NeBMos+SOHUvUW5oDgKsbth1CRGm/SxmuJeRF417liB0TRHBUorPcuBBJYN75Ih2KW3lJizFsnnr2VKG/cPVYpjKfaRwUSxZU/SmkPQNOGypnfObK3U1KuyKJWW43ybgIkt3OG0rvJiz1CBqJtqmQ7MylQwFVzTaBZ7bgddxVah20Etp+ZjwOCtmpwWOlM6TaL3PvYKq5Zu8gB8bZWZPGYXgFZJ4wVPA0908El1bMh9zpjPFtUsY4PxmAx/a0zFltZGLNZM8ymOCwrSbNrcJLFZBa1PTku/2WM0lWPVXCIEYdkToVUQyY7swOiFGjlb7dWiQWaxYSF8etXHVCM9/mfAiPQkPJsYfeKm+NWaerigPjaCLYkilY9DSngEQk3d4ZyW7zGmko/rwOCjtaAGlCpzkvOdVbQCdWx21eqepJfOvRJBYsq6IF2beneor1Fu7ZA1/r6OfpqLVp01nvW0ZHI/bT60MAr93iqM18HhNeoeFzd7D6ZEHliC+RCHBBPLSqlRr+NMDIZyS/MAdFAUaMMOTeh6g7aFLQnZnZATLM9fRHY1re8g5k3lffIs7dS8s1luiYCWg95eHk2PclYdbjJ5yg714uBqsGhWrMbfK7hsNxAtE2VbGeKgapltqJJhzwE3JbuxgEhgKzaiYY8QOXNTSs2axc5IKySG9dDzuvSJr4rl2Kqng25N7zGy+ouOZmYm3xQwAYfEtsUXz/A5/uS+IODUJZHIXpiMotmH41ZoAKAkjFF4vMBAR8asEfmiM7Y8RnK8jd8PkIwq4dlI+lJFtNIRWUYNhu6qkwNPq8DIkQoMCwqG0acEliLrxiPFWz78vym8/8CIgLa6kQQ2N4BERrsxaZnWUwL7VQPtGtzhxs+nwbH+l/EPwwACqCcs6ktJ3sGo6Qj8k6uRvV/i7bTW89HA6IAAAAASUVORK5CYII=\n",
      "text/latex": [
       "$\\displaystyle \\left[\\begin{matrix}2.0\\\\3.0\\\\4.0\\end{matrix}\\right]$"
      ],
      "text/plain": [
       "⎡2.0⎤\n",
       "⎢   ⎥\n",
       "⎢3.0⎥\n",
       "⎢   ⎥\n",
       "⎣4.0⎦"
      ]
     },
     "execution_count": 88,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "v1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 89,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:31:01.396324Z",
     "start_time": "2020-02-24T14:31:00.938194Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAKMAAAAZCAYAAABdPZ6TAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAESElEQVRoBe2b7VHcMBCGD4YCgHQAHVyggkAHIR0EOshNfsG/DOkglBDoAFIBgQ6gg9zQQfI+wusTQraML3e2b7Qzi2R97ru7Wn1csnZ6eno5Go3GYqPDs7OzR/vIadbAIjQgH/uicU+8sSdrcsY7Vbz3CnM2a2CpGpD/HTPhxlJnzZP1XgNyjB0JeSD+qfzTMgWudcZCMAulmxIMQc9VftNUSLU9L9r+Ubpb9O/9MaDAPilk31M6FU9Ufl+UJZOBYufI9gOW/DGMTyrfilX4ZW2wr/sD+HkNhvOhfGOcEiGvVfbRb1uVV7s71d0WY3xXHuPSH6fuLRXyYYyTgjnG4IQcaYgaSVK7QWIXsH0xweYiwgSRz+Jaaou90hk1G/v4sQb2Hc8i4tdaaVSpfvTfVHplbZUn7PONU/eZiOa2Izg5JTsLCfm58NXSwLGPJD+XWFuILhVgdHKj8tKeMSWovrXd65yRSIDyYUeaqMxbWU16pLrYlnar8gONtVnTt+sqot9DREYWIwssFdmHjB37xIjj2YsFGmukstbYK8+MmhjFvzgbqMyiZJPIhkEJ9SHZeZH62lUWdlziN9jHwlu1+FILabDYhfmVTVRGVPzWUP+tsW80nGAkgZjEbV/Kx5ysHEr1KWPRdrvs0LOM5Gd1x8i9x6o+FvFd+6FjD0ELD7sAC9Muc2GT8nte7Eln1AQYAEfcF2OE3+IUmaNVRRb6N3HY1DxLqy/0gGFSRlk17AQguAnNhb2JM+KALhLIIGzT3CiPxK/CeRNpvTbvvPwQslxcroSbV4F5aRDYhZXFx/m+aqdoo4dK7Eln9GfDAcVEu0ulW0Xeb2L5qWUiqa0e3h0XQpKLqPtL/JboywJziy4USuWckR+VNjHKKmHnwmJn/FAtse+5sFc6oxQ/ZjaloYHYptm24Wh0VB8eRlUddQZzkLeAZKzGxPxqzNvg3KSxeKrYVnrYZDDmFtPUcPrdrGwQ2CU4O2FjWefFvu5rKsjzaMuWbAoMqpOf3EgJ8yFZZKS+1yTsGGNXaRkRld+BE4KvAnbsDs6nBNawujX2OmdECNuW/Qn3io+UM3HGsrZ+fyLWvQz6VpD+GAvPSz52hn2l4YUFB63bjpBt0NgBIDLbpbA+t579bY29zhkxwvVsDrdlYwhWDK/yzpmU8gj8V0wkLUnfPP9MldLHkfL0/SRO/qT03KObv5KTiIBSwcbPgiWrbKWxexrHVpCz83N29hdbiv+r3Tdmw7/MaaILMTcp/4EbI/FTURkVleeMxLki9uRDFOTlnmchLiykH/QdnkNV3CtiEYKV82JIpewrit3wghNHvLUCP10E9vzvGX0N53wnGpBju0W/3snsedKsgYgGsjNGlJKLutFAdsZu9J5njWggO2NEKbmoGw1kZ+xG73nWiAayM0aUkou60YB7Z9TV+sGbPv+/aU8ZObsYDcjn/P83zU/Ek38vStmNNALw9gAAAABJRU5ErkJggg==\n",
      "text/latex": [
       "$\\displaystyle \\left[\\begin{matrix}3.0 & -2.0 & -7.0\\end{matrix}\\right]$"
      ],
      "text/plain": [
       "[3.0  -2.0  -7.0]"
      ]
     },
     "execution_count": 89,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "v2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 90,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:31:01.844378Z",
     "start_time": "2020-02-24T14:31:01.404834Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAD8AAAAZCAYAAACGqvb0AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAC8ElEQVRYCe2Y600cMRCAlygFIFJBQgc8KgA6gHSQpIOc8uvuX0Q6gJQAHUAqSKAD6CBACfm+jb3y7tkroYuj03EjDWOPx+t528fGdDq9aJpmB4xwNJvN7uNkVSg2fcaWT4k9kw2Mv2FhN2Gu/BB7P2rkq5W3dMTA1yNrCy/h4Xd8ZBI+tAd9cA7/NvBawnyTwZeE5/wC/nXCGx0iexoEfkO3wVN4o+VbzXgO1vAz6FFQqmGsgpaZfSU1TEXTemyYa/wmeBn3lygyN6x9jbLuS84pOqBm2mvo0CCz4Am0ybaAotafyg/hA4w0G4br7Tzs7zkJnmfotLPspsCsafwhZ9yFKKQ6GHGVNTMEU7TLjpbzvD8niPfKKGz/CT3MnN99vabxGnkfotAdmAxMTUElj5G7Gihq5oxGzs2ATraXDCGmu+tZqFnzRiQH7ZsCQ9toQS9FBI/BR8aWhtmgM0brnfXoQMSLsFVaqRn5uTNRVsNN93gDtDLwddR5O6FLQ41WLpWDSEeiYdZ4CYoO+q/Go52Nzkh/SzVlbtQ1wIhbLjrIfiF/UXhT+kAx7TlYj/0Ai57LfPSEfdmIwbd+7QG9cmBut9+FxpvBa1CjddR3xtegjslBrtajXMwK7/0sjBnvgf/k2YvyGrgFzXV10/xtqh1yZodZcAdaAtnaR+YJZDkboBi02PiU60HR+J7UAhOUM4rb0C7ijE1rwch57c1FFp5ZotExgsrnIJbJcC3ucz0LVWse5Xc4dR/aa3DwdMgDfI02etEZTHtg9IrKB0nLY6+36+/ErL0NZ2SWm6Za5INBKmbNDu9rHx+x6ZkRPmUPwC4DGFsqXndt2kJ1xCOoQV05Mj4H/b3gW6EtD6iy78EDsAjVjOfEK9CIasQQuqaIojrHp6zNLW1gvR82rJkhOuLX8GPMdYa/D/ahNjipzuzOYT4H69/zcy55IYyqDW/Zfbg2ftkjVEu/deRreXbZv9ve89yHvqEjvIT/2/v0nfwBQvQTg/XfVVoAAAAASUVORK5CYII=\n",
      "text/latex": [
       "$\\displaystyle \\left[\\begin{matrix}-28.0\\end{matrix}\\right]$"
      ],
      "text/plain": [
       "[-28.0]"
      ]
     },
     "execution_count": 90,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "v2.multiply(v1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 91,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:31:02.333778Z",
     "start_time": "2020-02-24T14:31:01.846774Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/latex": [
       "$\\displaystyle \\left[\\begin{matrix}20.0\\\\47.0\\\\74.0\\end{matrix}\\right]$"
      ],
      "text/plain": [
       "⎡20.0⎤\n",
       "⎢    ⎥\n",
       "⎢47.0⎥\n",
       "⎢    ⎥\n",
       "⎣74.0⎦"
      ]
     },
     "execution_count": 91,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mx2.multiply(v1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 92,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:31:02.819298Z",
     "start_time": "2020-02-24T14:31:02.336141Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAANIAAAAZCAYAAABEtnA1AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAFDUlEQVR4Ae2b7VHcMBCGD4YC8tEBdMBHB9ABhAoIHeR+wr8M6QBSQSAdBCog0AF0ELgOkvcx3hvZZ9k663x2bqQZZaX1rrT7nlZaGWft7OzsZjQabataOTg/P3+2TqIJgYRAEQHFxxdxTh3ueE2B9KAHOw4zNRMCCYFABBQ7nxFdD5RvJaZJ3JMuG0O8d6qbrQZMSgmBgSKw0bFddwSO5njM56FNqT0B8wA8FXWPzzdNz7+Svcgf/RHdUr0Q779JUR37zcMf4hluGc+RaeVjrL4Z1id1fDAzZnDiQaicDeJSRzcY564D6SU3kJOJRf1T9asMneR8H+HeVlhEPkH4Gu9BhHEZnz4BS8o6+PuebOR0xt+x2reiI1H6VDaErIgX5WOsvtnRF5X9oTgFyfn8aIvTum/ABfEfZdh71TXVLVUWS20Q6TkXueAieXJU0sUsiFBUmznoX9IfeCFg2FWzIMptZSOYnqZ6FuVjrP5A8GvEKbczVG7GrRicug6kGWPrGHKEk4sgqA220hhH6ledXvfi72tMFuUgi2w7lGH4fOUaKD4n6YHDi/UxVt8xZfnNUJxC5Wo8aI3ToAJJDh4LjMKiqnHaHu2rYSmk8aC2o/N8qIU74EQ+N20csT7G6veNXyhOoXI+f1rjtOEbcVF8LZIsLdF4H1U3VbnLzJwg4pHSzZWKSSfktPmgcYdadmXYs/zgVDpWtcvtjXh2X4rycQUw4rdrxAkhlVC5N2nn31icug4kFsG1jMx2XFEC6UmU1GV6J8j57Mx2ijgu1jYtSLLxPZIhC9Gj2jnbbNuV72ObTe1X1RNV7nmxPsbqm1l90hCcsC9UrsqXKJw6Te20EAiYiVmtNoFCAJVPHl51z5vS2bBNlJNwcEX+2o++XeH7tQz+7sg02R/rY6x+k32tnzsY1OIUKtfakDdFL07eEyk37E769oOH2HAkvZm0raRIMPESYFOVtIbUrxxYJRVvt+puZMK2w5AudVJkO9jEYlR1CvOqG1xIVX6r+kqIj71ihOFLxqkJz2kmVAI1Cqe6QOIk2SlNFtwVeL8k/EHUN4Z94QCtcr5xLumRDiJXFezGazV24+QSYH4Rn3+1Qzi2M4avsNncqvLc/HFljef10ZnHZOfSd4XbtrFBusvCibl8hatFZYnFyRtIlbPNx2Q3rYrybBeV4fyNaV8ye6K8+3fLtjosIvicWtP7gyuUt9lhqgCy3dq3A1UMtXSWz3YzxALEJxfqY6y+2dMX9dlv9jThVJazfpn65mnEuctAuvIEAMGDwSM9h2Zt+lbEf1WbnZj3+k2FYLPPg1xZdkCCtW6HcuX7aJPSljcR7MB2TlvDJtbHWH1s6rOE4hQq5/OlNU5dvmy41EIo3H3Ut68WmgKENIQ6LdIlBfyryv1hWtTnJcWL6KEx1Ub3k+qJ8YZIZSdv5dgwphtBle3iBfmIrupKYcTvJp9CcQqVWzhOnf43CgFAymVpGccjqZ73MyHJE3jocGpRAOZe/G90RJ9EWHiFj1nVJ3BYjBNVXi7sqVb+vUr8wRXZj+22cYDTjO2hPkpuJTHiRwvBKVRuUThpHF4KjToNJCZIJSGwyghYIHWZ2q0yfsm3hEABgRRIBThSJyHQDoEUSO1wS1oJgQICKZAKcKROQqAdAimQ2uGWtBICBQRSIBXgSJ2EQDsEsi8b8nfqNgJfbNsnF8ZLNCGQEMgRUHzwYYH9LZO/+43/AT1JtGAczSk3AAAAAElFTkSuQmCC\n",
      "text/latex": [
       "$\\displaystyle \\left[\\begin{matrix}-54.0 & -60.0 & -66.0\\end{matrix}\\right]$"
      ],
      "text/plain": [
       "[-54.0  -60.0  -66.0]"
      ]
     },
     "execution_count": 92,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "v2.multiply(mx2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 93,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:31:03.315668Z",
     "start_time": "2020-02-24T14:31:02.824350Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAFgAAABLCAYAAAD010ABAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEkklEQVR4Ae2d/00VQRDHwfi3IZpYAHYAWoHQgdiBWgb8Z7ADtQIDHWgHBjrAAkwkxAr8fuEGj3Xfu+Fm583dczY59vbn7Hxu3+zd7iRsHh4e7mxsbJzhqoXTo6Ojg1pB5t0QAJ8L3G3XeKBs82Gv4APuWbkffvQTeV8lcFzJ3UfeK+b3AX8E8QRaobUsC8w+leXIY9Y/gMt61TQa06Sc4NrF/VW1kkMmZMlM+YXun+E6Rt5KJoRFdn8GL8QCAVso/IzrEtdzXFWbg3yXAPlcI94jPqWAbjxniPdxuUJG/ybZDzREIOQK1wGud6j/RdOmVR3IfIu+thBfw2W/uOcvh+mPTHuFFrJVgL0UUPbLt5jzSt3vyNsDBP66vIJZ9hwA74EeTVMZxDSw3CuYZU8asHJ2Pvag20r2pAEDnMBb9rbiZSKayJ46YM3kfKKp5FRnUPbUAddsr7CSGcb3Yo/QRPakAcMOimmomQHJk8WuKeRWsicNuCP2DfF2hZ7MYJZ7BbPsOQDmZzm/Hsuwi4zz3kwry1ukzbLHABbDLjOohSIL+wBAbqZcIr7ePGFF3NM8vMb1hmmv0EK2ai+CCkAYnyaDvNifII/272s3kOtCpz+crdzceYGYixrjl0jXvvBQ1DSYZN8HMD8bQwJAcrHjPsjKg1X2GBOxciXnLDABOz+9BJyAnQk4d58zOAE7E3DuPmdwAnYm4Nx9zuAE7EzAuXv1pzLHgc/GMOePTv4OYu6JzMbpRQ0YcE0OGAQ0JkAud85m6/SissFQMtL5Y9ZOLyrAmEFmB4wxs3cCbcx6awFzD7h2CCjnYSxfx2DWexBwZwOH4K3kdGNoEC3LW+k9CBiDFnjc9F4UuBCtW2iitwawBpyc02nqrlOdQb01gGu2VyDJU/Zy/hA5EXETvQn4UTd6ie8oA1skpqFmBiRPFrs7beecMOr9VHQn4N9dQmIp68dmB4x+ZzO6H6v3T9FRYyJY1+yAIQJnFpv1VgHGzyXM+aN4ILKoiO0vitsmW+it3ovA0E0OGBbVoehsnV7UgDujH+X8MVunF5WJsMy+/71tAnaeAQk4ATsTcO4+Z3ACdibg3H3O4ATsTMC5+5zBCdiZgHP36k9ljgOfy2GOJ5GyO913EN/b6UUNGAqGOJ50yoXIhs48UDA5vahsMARFOp5EyjY7vagA4ymaHTA4E0eGSNkjh/y3mRbwHprUDgHlLI7lXiFStlmnQcCdHRoS5HLCECl7SGFt+SBgdCTw5HS51recLtfKLHmRsi3jvm2rAXxbecmNnJUtqeJWFCl7UCkN4JrtlY5lhnk5nkTKFh1N8SBg2EExDTUzIHmy2JkGUzaOlF2OZWx6EHDX8VgHjLHj6reLlN0fx6h7LWCzA8ao0d00ipRtGPZNUxVg/FTDHE8iZRd0ZTGVdacorifVexFoHuZ4EikbD9jk9KIG3C04UY4nXGijZJucXlQmoj75M1dDIAFrKBnqJGADPE3TBKyhZKiTgA3wNE37bxEXeFMo2+Q/KimJFGkwW/iPSliVgLmPsOgVyGWPgYLXKMhBcFWlP/gz38bXcncWAAAAAElFTkSuQmCC\n",
      "text/latex": [
       "$\\displaystyle \\left[\\begin{matrix}1 & 0 & 0\\\\0 & 1 & 0\\\\0 & 0 & 1\\end{matrix}\\right]$"
      ],
      "text/plain": [
       "⎡1  0  0⎤\n",
       "⎢       ⎥\n",
       "⎢0  1  0⎥\n",
       "⎢       ⎥\n",
       "⎣0  0  1⎦"
      ]
     },
     "execution_count": 93,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "EM"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 94,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:31:03.381187Z",
     "start_time": "2020-02-24T14:31:03.320039Z"
    }
   },
   "outputs": [],
   "source": [
    "EVs=mx1.eigenvals() # sajátértékek és multiplicitásuk (racionális számokkal)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 95,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:31:03.823589Z",
     "start_time": "2020-02-24T14:31:03.383153Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/latex": [
       "$\\displaystyle \\left\\{ -3.6088213318864 : 1, \\  -1.14824478501694 : 1, \\  6.75706611690333 : 1\\right\\}$"
      ],
      "text/plain": [
       "{-3.6088213318864: 1, -1.14824478501694: 1, 6.75706611690333: 1}"
      ]
     },
     "execution_count": 95,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mx1.eigenvals(rational=False) # sajátértékek numerikusan"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 96,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:31:04.217569Z",
     "start_time": "2020-02-24T14:31:03.825447Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/latex": [
       "$\\displaystyle \\left[ -3.6088213318864, \\  -1.14824478501694, \\  6.75706611690333\\right]$"
      ],
      "text/plain": [
       "[-3.6088213318864, -1.14824478501694, 6.75706611690333]"
      ]
     },
     "execution_count": 96,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "list(mx1.eigenvals(rational=False)) # sajátértékek numerikusan, listaként (multiplicitás nélkül)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 97,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:31:04.694469Z",
     "start_time": "2020-02-24T14:31:04.218939Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAACMAAAAOCAYAAACl66WxAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACO0lEQVQ4EaWV0XETMRCGL0wK8JgOnA4gqQCnA1MCUEKGJ/uNMR0ESnA6sDtg4g5sKkjiDsz3ydpDdyf8QHZmb3d/raRfu7q7i+Px2CwWi0nTNHeoco0+o3fgW4EQ4hH+14ixxivwTYGddcld5oQn7BW6BNsnbD6fT9C1pEKJl+gRnQamJb4v44ytwGd9vBaT91jm4o/QHTox/43M0C+JWX7A1Cod0FXgYJ/xHyMu7Cf8slrF0F83zx9hHwLFdw/jezHJTNEdA5a8FEvvZFuoWNLb5P3f4yPTOm3Py/zCTt1fMm66zyzzeMcESSfNyFs7sciwsulkBVZzPbR3sS+n+wKhSxaWcU3eCTKeToN9UIFm6Au+rbRakmtLTzwQxkvyg/EMjK3MQJgsEdsTb1jKAZf4jxSc7pqnrZU+p7RmnL1Diwyd1KYhfLq4VuJ7OUhsVVzQitheCXvfxF8rbweVYWH77x3qtI/Yt+kW6/fHcS9z5PwkPteK2l0J8lG1pw4ZFnTDcd4oksN6Uftt865YJYnYsqqwXrSnRjiw/WXMZoKlvsLGaRt826B4Ml/zWDSBPsCskqTihO1Yz4m29uB23iZVhsW8sDfYzsnBJPgMLokDNsgRdsTTudk58QN6XUl4D7Z1jws/xQRrtLaYHyPb0GBtg6364EQxBd/WWrV02bESe0HdwI1aId4ReOfSpyDn/gZzza1kTPjXiTsLMsEK+ukvL+TgR0mea26w/d+MRD2Qh/FHeYN+kwi2+QMSqyXp1CEcbgAAAABJRU5ErkJggg==\n",
      "text/latex": [
       "$\\displaystyle 28.0$"
      ],
      "text/plain": [
       "28.0000000000000"
      ]
     },
     "execution_count": 97,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mx1.det() # mx1 determinánsa"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 98,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:31:05.892297Z",
     "start_time": "2020-02-24T14:31:04.697112Z"
    },
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAIQAAAAzCAYAAABWi6BqAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAFLklEQVR4Ae2d7VHcMBCGjwwFMJRAOkgmHZAOQlIBoYNk8gv+ZUgHkAoY0gFJBQQ6CB2EXAfJ+xjL6Izl8/msj1O0MzrJsmztvrterWQLto6Pj3dmHXRycjLvqC5VmSAg/Xbq/Znku1H600qnmchdxHAjcNnSOTZwuSUP8UuFI1nMd/e15UzuCEj/7yXjAR6iUEGgQWC7KXkoyOoYel4o7de3xwsRmxzqXIlRBERqGPk2iI8YgoT+q+xO+WuOCz0iIEySwsj7kCGB8RDQt4es/LYRSAkj7wYh4c1wcdUGohw3CCSDUQiDqIYJPQVlFtPo/0khGYy8xhC12Fj/7RMI6goZCgskTHmgV0qHSntK75Sga7XJfbiZDCMLz+fC7kbH5xWK+qnPfVV+YOrauVcPoY6NK7xod2wdn6rdF5LqrpW+Ku3rmGALY8l6kcwDRp9qLBmi29i9Vd0bJSf59hBmVtE5XIhxPIPNNFNRGMZLQLtK9vmqMrOfyTASngTwPFQQ972vSo8/1HXqwjTxbRCVhxCjriHjp87dGWaUv1S6VV21RqHc6dqsa4IXxRee64cS+VA60HVdOEyJEVN70wfe4HOLOfpq1y008W0QWKzTIi3mDVNdQphzyeTiG4PFeKegyTCq+ZopR/EYqx0/0A91Tn3o3MxbDFEzRR+DppuWEE0AqbodEjfJkTxihGdtPG2NHUYyV5/Gg3RC6tNDLBsbUTRv3AgqsdojJRi2hxACpGolT+dyJF8YMUuzcQS7pfEDjbx5CN27imZ7LBKLJd2rDcZxr9SQ6jhnAqSmPrOCL4wWjKHGEjyXeuvtKQGuFcu0EQVjpTPV4QUIdtpPOl6BMQ5Gaccr+CulMx3yjQaG0gwftMmBJBPY+MYIrFlvYIb2W4k1Cag3fqBB+R4CFDKn2jBY23EGwjpXvofI0Q5QvhIetiKV8Ugou3e6+dDabwxh+ih5WASISy6sLhmezmUYg4bfSWMIi4lSjIcA8cOuDOCDcmKHM5WXxg6G3WIQBolM8qGewCWuz2mnq89SnzACxSASVk4M1opBxEA94T6LQSSsnBisFYOIgXrCfRaDSFg5MVgLNu3UdIh1dd7JV+8ulDM3niv9l5t2UsUjpEFUL7cERNm0o6dAOCSJR9AhQyDgIaBBy6gPTfP9TRGPoAYh1ZrhYul7+XzNYEGy5PAIbRDVF0J6MgavrS/Al99BcngEiyFqXfJEOL/pk6GYV7U07920Y7UdtSGl5id25sQjlnzBPIQENO7RfjXbVsgqm3bW2pDS7jj08QA8osgX0kMs+6B08KYdgUlwar635L4L32PqmLrUhyUnHjHl6zUIMYYLz3JDiuSKTZXHFMZdQ+jaG27GCrfMIFg4cn6Ht2KnPNXOp7YDGOemHbWFr5lyQMVoV96QwvWRyYlHTPmCxBC14sB/0HTTUnSzXqG6rk07ozekxDSGFfAILl+vh5gQNOd4SR8oW9mYTTt7um5hD4KONzp+EP82BZcviIeQhMltSLFRj1BehodhacHYa8/CMDnI05qbrJJ78xD1U88Xvzz9WDqeYOpNO6M3pMBPSFoRD8NacPmy2qgj0Hmjuq98qkDYKCaJ3Kd8uvdmb9QBHKXRG1KS0HAPE7HkCxVD9Ig++tRaG1JG9xruwijyeYshAuDG+Dp6Q0oA/tbtIop8G2sQcqnNGsW6yKd4fSz5NnnISFGPG8+T8RB7skimhw3peN4clEJ2CLT1LQEr/RsPwR/psP+JCtO3QnkjwJrQE53/A+x4g5sAzRRNAAAAAElFTkSuQmCC\n",
      "text/latex": [
       "$\\displaystyle \\left[\\begin{matrix}Ix & - Ixy\\\\- Ixy & Iy\\end{matrix}\\right]$"
      ],
      "text/plain": [
       "⎡ Ix   -Ixy⎤\n",
       "⎢          ⎥\n",
       "⎣-Ixy   Iy ⎦"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      " Sajátértékek, vektorok: \n",
      "\n"
     ]
    },
    {
     "data": {
      "image/png": "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vZPf4csRPfchDDgKX0EEREAEREAEREAEREAERGA9gafIwnaqr88tXw7S/vlYKicREAEREAEREAEREAERsARW6/+1nfy/GktoiIIIiIAIiIAIiIAIiIAIiMAKAmbwzH1k8cOKbEollfYvRVb5ioAIiIAIiIAIiIAIHJJALv2/qpMfRvCDu/wIl+9d+oesGDktAiIgAiIgAiIgAiIgAisIDINnoLOpsasK0v5VVYeMEQEREAEREAEREAER6INAFv2/qpPfcHyO+Q1EPz/CqyACIiACIiACIiACPRP43Dh3t2cn5ds+BKCn+cFdamrq61qDtH+tNSO7REAEREAEREAEchOQ9s9NVPldEMip/1d38psRPRT7319YqT8iIAIiIAIiIAIi0AkB6J1XnOCOfXpx+I919n8nnsqNnQnwFT18F//Lne2YLB628Uleaf9JQtogAiIgAiIgAiLQOgHqfk7ww2p9af/WK7Ve+7Pp/zs5fOSFCKanmJ5xOUeeykMEREAEREAEREAEaiEAffN1LbbIjj4JoI19Ac94Ifm4dg+p9zFJ+9deUbJPBERABERABEQgiYC0fxI2JYokkFv/rx7J79jP9wf9YAx0VmtRBERABERABERABERABERggQBH8byGln6zEK+WzdL+tdSE7BABERABERABERABEWiRQFb9n62T31yQcBQ/H2dREAEREAEREAEREAEREAERCCAAHc0R/I8wfRcQvYoo0v5VVIOMEAEREAEREAEREAERaJBACf2frZOfPGEg38/5HnN9hLfBBiaTRUAEREAEREAEREAEtiUA3czX9HAUz7+wzPfdNxOk/ZupKhkqAiIgAiIgAiIgAiJQCYFS+v/8Tn4U8HHkKz/6dW+0LuQv31n7DmnfYPozJIHiiIAIiIAIiMCeBGLPgbHx9/RNZYuACKQTwL7+Dqnvh+YQG9/ky6dgnyNtq7pZ2j+0gSieCIiACIhAFQRitXxs/CqclBEiIAJJBGL1fGx8Y1Sy/p8rj538bzH5PvD1PoUGCvuAifndpKRXGhEQAREQARHYkEDsOTA2/oauqCgREIECBPj6nLuefHks8IWo+NDM1Mvs4G/lPfxXPkv7XyHRChEQAREQgXoJxGr52Pj1ei7LREAEQglE6XlkGhU/g/6fLO//AQ6uVy7l9zrKAAAAAElFTkSuQmCC\n",
      "text/latex": [
       "$\\displaystyle \\left[ \\left( \\frac{Ix}{2} + \\frac{Iy}{2} - \\frac{\\sqrt{Ix^{2} - 2 Ix Iy + 4 Ixy^{2} + Iy^{2}}}{2}, \\  1, \\  \\left[ \\left[\\begin{matrix}\\frac{Ixy}{\\frac{Ix}{2} - \\frac{Iy}{2} + \\frac{\\sqrt{Ix^{2} - 2 Ix Iy + 4 Ixy^{2} + Iy^{2}}}{2}}\\\\1\\end{matrix}\\right]\\right]\\right), \\  \\left( \\frac{Ix}{2} + \\frac{Iy}{2} + \\frac{\\sqrt{Ix^{2} - 2 Ix Iy + 4 Ixy^{2} + Iy^{2}}}{2}, \\  1, \\  \\left[ \\left[\\begin{matrix}\\frac{Ixy}{\\frac{Ix}{2} - \\frac{Iy}{2} - \\frac{\\sqrt{Ix^{2} - 2 Ix Iy + 4 Ixy^{2} + Iy^{2}}}{2}}\\\\1\\end{matrix}\\right]\\right]\\right)\\right]$"
      ],
      "text/plain": [
       "⎡⎛                                                ⎡⎡                    Ixy   \n",
       "⎢⎜             ______________________________     ⎢⎢──────────────────────────\n",
       "⎢⎜            ╱   2                  2     2      ⎢⎢             _____________\n",
       "⎢⎜Ix   Iy   ╲╱  Ix  - 2⋅Ix⋅Iy + 4⋅Ixy  + Iy       ⎢⎢            ╱   2         \n",
       "⎢⎜── + ── - ─────────────────────────────────, 1, ⎢⎢Ix   Iy   ╲╱  Ix  - 2⋅Ix⋅I\n",
       "⎢⎜2    2                    2                     ⎢⎢── - ── + ────────────────\n",
       "⎢⎜                                                ⎢⎢2    2                    \n",
       "⎢⎜                                                ⎢⎢                          \n",
       "⎣⎝                                                ⎣⎣                     1    \n",
       "\n",
       "                 ⎤⎤⎞  ⎛                                                ⎡⎡     \n",
       "─────────────────⎥⎥⎟  ⎜             ______________________________     ⎢⎢─────\n",
       "_________________⎥⎥⎟  ⎜            ╱   2                  2     2      ⎢⎢     \n",
       "         2     2 ⎥⎥⎟  ⎜Ix   Iy   ╲╱  Ix  - 2⋅Ix⋅Iy + 4⋅Ixy  + Iy       ⎢⎢     \n",
       "y + 4⋅Ixy  + Iy  ⎥⎥⎟, ⎜── + ── + ─────────────────────────────────, 1, ⎢⎢Ix   \n",
       "─────────────────⎥⎥⎟  ⎜2    2                    2                     ⎢⎢── - \n",
       "2                ⎥⎥⎟  ⎜                                                ⎢⎢2    \n",
       "                 ⎥⎥⎟  ⎜                                                ⎢⎢     \n",
       "                 ⎦⎦⎠  ⎝                                                ⎣⎣     \n",
       "\n",
       "               Ixy                    ⎤⎤⎞⎤\n",
       "──────────────────────────────────────⎥⎥⎟⎥\n",
       "        ______________________________⎥⎥⎟⎥\n",
       "       ╱   2                  2     2 ⎥⎥⎟⎥\n",
       "Iy   ╲╱  Ix  - 2⋅Ix⋅Iy + 4⋅Ixy  + Iy  ⎥⎥⎟⎥\n",
       "── - ─────────────────────────────────⎥⎥⎟⎥\n",
       "2                    2                ⎥⎥⎟⎥\n",
       "                                      ⎥⎥⎟⎥\n",
       "                1                     ⎦⎦⎠⎦"
      ]
     },
     "execution_count": 98,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Ix,Iy,Ixy = sp.symbols('Ix,Iy,Ixy')\n",
    "mxSP=sp.Matrix([[Ix,-Ixy],[-Ixy,Iy]])\n",
    "display(mxSP)\n",
    "\n",
    "print('\\n Sajátértékek, vektorok: \\n')\n",
    "mxSP.eigenvects()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 99,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:31:05.920073Z",
     "start_time": "2020-02-24T14:31:05.893627Z"
    }
   },
   "outputs": [],
   "source": [
    "ev=mxSP.eigenvals()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 100,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:31:06.908101Z",
     "start_time": "2020-02-24T14:31:05.921607Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/latex": [
       "$\\displaystyle \\left[\\begin{matrix}Ix & 0 & 0\\\\0 & Ix & 0\\\\0 & 0 & Iy\\end{matrix}\\right]$"
      ],
      "text/plain": [
       "⎡Ix  0   0 ⎤\n",
       "⎢          ⎥\n",
       "⎢0   Ix  0 ⎥\n",
       "⎢          ⎥\n",
       "⎣0   0   Iy⎦"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      " Sajátértékek, vektorok: \n",
      "\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/latex": [
       "$\\displaystyle \\left[ \\left( Ix, \\  2, \\  \\left[ \\left[\\begin{matrix}1\\\\0\\\\0\\end{matrix}\\right], \\  \\left[\\begin{matrix}0\\\\1\\\\0\\end{matrix}\\right]\\right]\\right), \\  \\left( Iy, \\  1, \\  \\left[ \\left[\\begin{matrix}0\\\\0\\\\1\\end{matrix}\\right]\\right]\\right)\\right]$"
      ],
      "text/plain": [
       "⎡⎛       ⎡⎡1⎤  ⎡0⎤⎤⎞  ⎛       ⎡⎡0⎤⎤⎞⎤\n",
       "⎢⎜       ⎢⎢ ⎥  ⎢ ⎥⎥⎟  ⎜       ⎢⎢ ⎥⎥⎟⎥\n",
       "⎢⎜Ix, 2, ⎢⎢0⎥, ⎢1⎥⎥⎟, ⎜Iy, 1, ⎢⎢0⎥⎥⎟⎥\n",
       "⎢⎜       ⎢⎢ ⎥  ⎢ ⎥⎥⎟  ⎜       ⎢⎢ ⎥⎥⎟⎥\n",
       "⎣⎝       ⎣⎣0⎦  ⎣0⎦⎦⎠  ⎝       ⎣⎣1⎦⎦⎠⎦"
      ]
     },
     "execution_count": 100,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mxSP=sp.Matrix([[Ix,0,0],[0,Ix,0],[0,0,Iy]])\n",
    "display(mxSP)\n",
    "\n",
    "print('\\n Sajátértékek, vektorok: \\n')\n",
    "mxSP.eigenvects()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Vektor- és mátrixszámítások *numpy*-ban  <a id='NumVektorMatrix'></a>\n",
    "Nagy mátrixok és vektorok esetén érdemes ezt használni, vagy ha sok numerikus adattal dolgozik az ember. Továbbá a sajátérték-sajátvektor számítások is jobban megoldott ebben a csomagban"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 101,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:31:06.912380Z",
     "start_time": "2020-02-24T14:31:06.910193Z"
    }
   },
   "outputs": [],
   "source": [
    "import sympy as sp\n",
    "import numpy as np\n",
    "import numpy.linalg"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 102,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:31:06.942061Z",
     "start_time": "2020-02-24T14:31:06.913892Z"
    }
   },
   "outputs": [],
   "source": [
    "v1= np.array([2.,3.,4.])\n",
    "v2= np.array([3.,-2.,-7.])\n",
    "mx1 = np.array([[1.,2.,3.],[2.,0.,4.],[3.,4.,1.]])\n",
    "mx2 = np.array([[1.,2.,3.],[4.,5.,6.],[7.,8.,9.]])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 103,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:31:06.958540Z",
     "start_time": "2020-02-24T14:31:06.943692Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[20. 47. 74.]\n",
      "[42. 51. 60.]\n",
      "[-13.  26. -13.]\n"
     ]
    }
   ],
   "source": [
    "print( np.dot(mx2,v1) )  # skalár szorat mx2*v1\n",
    "print( np.dot(v1,mx2) )  # skalár szorat transpose(v1)*mx2\n",
    "print( np.cross(v1,v2) ) # keresztszorzat v1×v2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 104,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:31:06.980852Z",
     "start_time": "2020-02-24T14:31:06.961098Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1. sajátérték és -vektor:\n",
      "λ = 6.76; v = [0.529, 0.834, -0.157]\n",
      "\n",
      "2. sajátérték és -vektor:\n",
      "λ = -1.15; v = [0.543, -0.475, -0.693]\n",
      "\n",
      "3. sajátérték és -vektor:\n",
      "λ = -3.61; v = [0.653, -0.281, 0.704]\n",
      "\n"
     ]
    }
   ],
   "source": [
    "(λ,V) = np.linalg.eig(mx1) # Mátrix sajátértékei, sajátvektorai a λ és a V változókban\n",
    "\n",
    "# kiíratás 2 értékes tizedes jeggyel és for ciklusra példa\n",
    "for (i,v) in enumerate(V):\n",
    "    print(i+1, '. sajátérték és -vektor:',sep='')\n",
    "    print('λ = ', sp.N(λ[i],3), '; v = ', [sp.N(e,3) for e in v], sep='', end='\\n\\n')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Figyeljük meg, hogy a numpy a sajátvektorokat 1 hosszúre normálja!"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Egyenletek megoldása  <a id='Egyenletek'></a>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 105,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:31:06.991548Z",
     "start_time": "2020-02-24T14:31:06.984867Z"
    }
   },
   "outputs": [],
   "source": [
    "x, y, z = sp.symbols(\"x y z\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 106,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:31:07.006546Z",
     "start_time": "2020-02-24T14:31:06.993406Z"
    }
   },
   "outputs": [],
   "source": [
    "egy1=77*x+6 - 160"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 107,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:31:07.391310Z",
     "start_time": "2020-02-24T14:31:07.008628Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAABIAAAAVCAYAAABLy77vAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABNUlEQVQ4Ec2U0Y3CMBBEzYkCECWQDhB0AB1AC9ABfCa/0AE1QAehBa6DowRECbwJCcJrm8B9sdLG9u7OeD1O0snzfOWcW+KyeVEUv/fp6yd1Hq4D0QZISeL4GhrPgqvw3XjaOQoG5NZ1fsR40Zp4tOMoUU2yY5zWRI65dj4phgfd/zSFZhSo0a1KAVZ3V3xfBcwjRTSh7g9wz9Srkx5xHduzFJEAZwDqIGZ2A5fSaB5DExsqzgaB4KmOAh7AItGRmpv0at4mAiWRDxBuPYZ68RYR4B310ix1ZNdKBHgBSZ/x8U593BHgGaDsuRPmA7klS3ZEscQdM1pxRa7PxbPU9WtHiXuESPo824RYIHiUCFSJi0z6WAveIRVEidgxs+i2dVKjNqDNfx9Ro5F+Yur2P//sPrjyBr2KX/2VlrQoAAAAAElFTkSuQmCC\n",
      "text/latex": [
       "$\\displaystyle \\left[ 2\\right]$"
      ],
      "text/plain": [
       "[2]"
      ]
     },
     "execution_count": 107,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sp.solve(egy1,x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 108,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:31:07.885783Z",
     "start_time": "2020-02-24T14:31:07.392803Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGMAAAAlCAYAAABWOlfkAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADaUlEQVRoBe2b61EbMRSF7UwKSKCCmA6AdEA6gEkH0EGY/LL/MaEDkw4SOiB0EOggdJBAB8l3HMkjr7XrxdbLjO6MrNdd3bvnSLratT0cj8fHg8HgO8mVs8lkcuU21HI4BMB2yminjRHfDg0ZH1E4aXTWaiIEwP4RU+9eJbJXzfRAoJLRA6RUKpWMVEj3sPO6h04WFfbRfQzf9TWO/rCvbgy9EP4WSwaAfSEdcJP3McCLMObG/ha5TZlZNtgWIkL5WyQZzNrPJM20bZEg/hZHBrNsBAMj8h+WCTvzbF05bW9I0s0qxocg/pYYM85BV8mVW4FPg40fKksO/mdZP4P5W9TKMIAfks9XhYH5D/kTSScsEXFNUnBXWzYJ7W9pK0Nx4sKD7j03XuLrmqD+FrMyzCw7ItesL15i+FsMGaAf5ESSkMXg/ibZpphFek3/RN6MBS52x/TvuQ1umT69cla82CXpFHVBmw3oVMMJ42bxN/rK4MY+AdNXUutzg9GZdsApEr6hd0myp5c7ykcd16zVZXzJ4m9UMrgxnX70JZXSvqn7QNKXWZe+DrXR94E0PzlRfqBZq6yLQF36LGHcrP52blM4pxl5S1LeV064brZ9OLlOSFoh2mcXTkXoaPtZB1QRooCvBy6VN5bc/q4iQ7Nx4wcrblLxQqvjlLwJnradVhvo39C/Q96m85yJwlCrBVtZ/I26TTVu28aM+dM1N61Aea2bb+i61UMqPsB3pMS1UYI4Qyf3NxkZgGb3ea0OC662Ld9DnnC2coW+75Sl4L10OnPGttevlafy13UuGRnGqJ1tIkSr4id516rQZVN0FmIKdcUfSTP+iORH+nt/KTUbpf0jqr9Ns8l/HWKAGuGIVoqC/crgi4707fam7Unvqs5pXyKStl/0SYK8u2I8ERvNXzmKjdmvQzoDuBQjiLYl/U7rASdWEiH7Ru9M5VWC7h5Jqy6URPXXdTL1NiVg9e5JQdfOdNefUOX32FlaNesMnsjfmWs5VoYIaTumroPXwjWMrbjxe6Fxw0pMf13Xkq8M13iksg4HrU/zkWwGGfbFkbGtRIjNF0dGkCmaaZBKRibgfWYrGT5UMrVVMjIB7zNbyfChkqmtkpEJeJ/ZSoYPlUxt9glcPwb46/hQ/9PngBG6CNZ6C938T9/gH8vKhPPUIsoDAAAAAElFTkSuQmCC\n",
      "text/latex": [
       "$\\displaystyle \\left[ - \\sqrt{5}, \\  \\sqrt{5}\\right]$"
      ],
      "text/plain": [
       "[-√5, √5]"
      ]
     },
     "execution_count": 108,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sp.solve(x**2 - 5, x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 109,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:31:08.420286Z",
     "start_time": "2020-02-24T14:31:07.890394Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAsAAAAJCAYAAADkZNYtAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAyklEQVQYGU2QvQ3CMBCFDWQAoKRkBBB9CkZAMAFQUkapktZsgJgAwQgU6SPYAErKKBuY7xlb4aTn9+Pc6Zyec86oyrIcQjtvjFnAWzAFm5DV/SBEloajgK7BGSzxGaxBNuEwBJpopUO18ApoumoMrNEaRVHMxBH4E3hEH9mvweSn7++ONfLS2Z/ya/yHNC7x2vEWczJ5kwRxReuBd3gPWvQbjpXjM62hSUITGpv4hZhMd/o7ZpCm6QfWa0dgzmVeVdULHMCEzJH5lb58Ulq0QJNfvQAAAABJRU5ErkJggg==\n",
      "text/latex": [
       "$\\displaystyle x$"
      ],
      "text/plain": [
       "x"
      ]
     },
     "execution_count": 109,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 110,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:31:08.428102Z",
     "start_time": "2020-02-24T14:31:08.422615Z"
    }
   },
   "outputs": [],
   "source": [
    "e1 = 3*z + 2*y + 1*x - 7\n",
    "e2 = 4*z + 0*y + 2*x - 8\n",
    "e3 = 1*z + 4*y + 3*x - 9"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 111,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:31:08.890159Z",
     "start_time": "2020-02-24T14:31:08.429994Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/latex": [
       "$\\displaystyle \\left\\{ x : \\frac{10}{7}, \\  y : \\frac{6}{7}, \\  z : \\frac{9}{7}\\right\\}$"
      ],
      "text/plain": [
       "{x: 10/7, y: 6/7, z: 9/7}"
      ]
     },
     "execution_count": 111,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sp.solve([e1,e2,e3],[x,y,z])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 112,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:31:08.895355Z",
     "start_time": "2020-02-24T14:31:08.892718Z"
    }
   },
   "outputs": [],
   "source": [
    "def f(x):\n",
    "    return x**2 - 4"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 113,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:31:09.004684Z",
     "start_time": "2020-02-24T14:31:08.897042Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2.0\n"
     ]
    }
   ],
   "source": [
    "# Numerikus gyökkereséssel scipy segítségével\n",
    "from scipy import optimize\n",
    "\n",
    "gyok = optimize.brentq(f,0,10)\n",
    "print(gyok)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Szimbolikus függvényekből numerikus függvények <a id='SymToNum'></a>\n",
    "\n",
    "Ezt a legegyszerűbben [*lambda function*](#Sajatfuggvenyek)-ök segítségével tehetjük meg, de van más mód is rá: [lásd ezt az összefoglalót](https://docs.sympy.org/latest/modules/numeric-computation.html)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 114,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:31:09.381881Z",
     "start_time": "2020-02-24T14:31:09.006558Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAHEAAAAVCAYAAABxGwGcAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADoUlEQVRoBe2Z3VFbMRCFhYcCnKQD0kEgFcR0QJIKgA5gePMbYzoIVECgA6cDHDoIHcTjDpzzCa1G9+IBY0UXhXhn1pJWf2e12tVe2JjP564kDYfDvtY/CXtshXJf8lnJff+ntTc7UHYkgx3aPqp/U/2n+L3J1mXeCfTypi81+0CGGyQjR6pvSfYhka2rGSfQhRHxwkkGxvXUJ05go/Sb2N5fHogn7qlch9P24azY7uJNjNBCCN2TYDsKO6xof5KsK/GOePpaLlIX4dSbSQdGZooXbqv+Ipkp+4p3heFO/EP8KqgTTwwGPA4H6EKbksN8FmkOSRKJ0fmzJjYHk1SdNkVlW38J90KQxY0o8HggnxUY0TJSkp3jhYieFhIS4ZUoHCZzu/bELNyPKVvciNqcb0IUoIykw4zfjlHYTcWHU+0/62a78rs0jCjF7N0izP0WX4vJJM9SKGpjlIMg+6hyX8zcr0F2ozHMdSrfBFktBeH4VriOAiDwXxpeZKovrV9Yo7NC2MgrsA3ERZz0fFU/6kQ5vIWwB2M4wiB/cUGplJCdhTE36rgQD9QmRDKWjaqjoAchnQt3HvBzAa9UR2ZUnX7gE/8SQBzEzp4sf+SNKCEHT+qN8dJkg/qdZFjck+p4YGok+vhssETjbatfzWqIiwp9Mp1CaTq4ivUbC/e18PkI57Vw7ovKsYVTjNLXADNEGONQOp2EfKJxqaG5DYQnb2iVnxmUS1qHKGCHni7HJXHqX/SmguOx/XkPI9Zk0b7q70I7S78SuMOaRIpGRi25f6rMiFi0ka1pAIoxkRsQSfLb2LivMLexeKt/pab2WWQkJzleT2hpvNNLbvLgUmoduyg8C6yfpZ/ml8Dt7aO1vaO0de2pA2PBDWOpzUSn/oZxkRmpjwNgbvRW1oNtTGUll9IbK8FlnvtAzxr0C2e5yD5RBfNEBGmIpO1DDxUtxO3nhk7FvJ08/CjNreOvIOncE7VX/QbUcsUpYhVODofLeqg6etCuSr+Ai0OZ8dMm9Q/wRDoxCLfUk2QYjSxuci9xu5KhPJ4HT9VGYYwaSTL62jc99ldQIWLsJDgw2HfhtlygVv3AZxEjwhducpnpZpAw4ELCI5U88JdiPBGPQ0aSAWFsFkRZpz5u8FhMP58nGDeGVsZURnxOoCf/QfFep7oZEKhV6ieMnDO2wGh8ZkDgP5Vs1vm/ovz2GT8CnZPYZOycN7Uk7l4etBeZTfiH/zUqhvsP85iSkez0dt4AAAAASUVORK5CYII=\n",
      "text/latex": [
       "$\\displaystyle a x^{2} + b x + c$"
      ],
      "text/plain": [
       "   2          \n",
       "a⋅x  + b⋅x + c"
      ]
     },
     "execution_count": 114,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a,b,c,x = sp.symbols('a,b,c,x')\n",
    "adat = [(a, 3.0), (b,-2.), (c,1.0)]\n",
    "\n",
    "masodfoku_x = a*x**2 + b*x + c\n",
    "\n",
    "masodfoku_x"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 115,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:31:09.782575Z",
     "start_time": "2020-02-24T14:31:09.383607Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAABkAAAAOCAYAAADaOrdAAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABoklEQVQ4EZWUMVLDMBBFHcgBMuYGSUsFpPcM5gbAEeAIKeM2lHShpGNISUcKF0kF+AYxJwjxDcz7GssTZNnAzuysdvdrv6SV1CvLMkiSZBgEwQSVnKFf6IR4psBfBOyswm2xI3RGLFfsEBXBnMB1FEUv6EOapsfEHrFrfAPEbxXmfpB8wt6DXzNvhb/Cqt7uAEcruEVrAaxdFehzHWwZgL0hNcAuLISx5sqfKyaSGN2QGCiwJ0vGmqyddskVSd+xvhGPVVckKpZX7Awb4pK7AC1SPXTFHnPcp7hW4pMTBcn7Vmnw5H5bgHChdtIQJotAx2RvXANTBcLKqgdtYo7Ll1TDF5Dd+ZL/jB01dkJh3Qj1qO0Y9zl8vbB5u8vtDxIK6zqG2AuL7LLg7DH5emNjeU3ChEsKjrD1DhgPpV1E5HQ7fRi7k6UhoZAaPca6jRZx15GQNg9WX5ErpwQyaha96XSqVbyiWpErekz6hwKstr9DNVEFasHf4OivM6++wn4SO2ec9RmIQETqhyv1GwFcoHpg7y4IX6T6EMdYfZCyhgAbfAMYcZVxKCASawAAAABJRU5ErkJggg==\n",
      "text/latex": [
       "$\\displaystyle 2.0$"
      ],
      "text/plain": [
       "2.0"
      ]
     },
     "execution_count": 115,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "masodfoku_num = sp.lambdify(x,masodfoku_x.subs(adat))\n",
    "masodfoku_num(1.)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Egyszerű ábrák készítése  <a id='Egyszeruabrak'></a>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 116,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:31:10.018942Z",
     "start_time": "2020-02-24T14:31:09.785732Z"
    }
   },
   "outputs": [],
   "source": [
    "import numpy as np # Ez egyszerűsíti a sok függvénnyel való munkát\n",
    "import matplotlib.pyplot as plt # matplotlib csomag python rajzolójának behívása"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Függvények ábrázolása egyszerű diagramokon"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 117,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:31:10.025434Z",
     "start_time": "2020-02-24T14:31:10.021305Z"
    }
   },
   "outputs": [],
   "source": [
    "def f(x):\n",
    "    return np.sin(x)*(1-4*np.exp(0.7*x)/(x**3))\n",
    "\n",
    "x1 = np.linspace(2,10,30)\n",
    "y1 = f(x1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 118,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:31:10.345881Z",
     "start_time": "2020-02-24T14:31:10.027431Z"
    },
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 566.929x340.157 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(20/2.54,12/2.54)) #inch-ben lehet megadni az ábra méretét - nem kötelező de érdemes, ha dokumentációba szánjuk\n",
    "\n",
    "#plot objektum létrehozása\n",
    "plt.plot(x1,y1)\n",
    "\n",
    "# tengelyfeliratok\n",
    "plt.xlabel('x',fontsize=12)\n",
    "plt.ylabel('f(x)',fontsize=12)\n",
    "\n",
    "# rácsozás\n",
    "plt.grid()\n",
    "\n",
    "# ábra mentés (még azelőtt kell, mielőtt kirajzolunk)\n",
    "# plt.savefig(\"abra1.png\", bbox_inches=\"tight\") \n",
    "# plt.savefig(\"abra1.pdf\", bbox_inches=\"tight\")\n",
    "\n",
    "# plot kirajzolása\n",
    "# plt.show()\n",
    "\n",
    "# plot mentése\n",
    "plt.savefig('abra1.png')  # lehet .pdf, .svg formátumokban is menteni"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 119,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:31:10.492321Z",
     "start_time": "2020-02-24T14:31:10.347175Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(x1,y1,linewidth=3,color='k',linestyle='-.') # vonalvastagság, -szín, és -stílus módosítása\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('f(x)')\n",
    "# megjelenítési határ\n",
    "plt.ylim(-0.5,0.5) #-0.5...0.5\n",
    "plt.xlim(None,8) # xmin...8\n",
    "plt.grid()\n",
    " \n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 120,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:31:11.030244Z",
     "start_time": "2020-02-24T14:31:10.493687Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "def g(x):\n",
    "    return np.sqrt(x)\n",
    "def h(x):\n",
    "    return x**2\n",
    "\n",
    "x2 = np.linspace(0.,1.,100) \n",
    "\n",
    "plt.plot(x2,g(x2))\n",
    "plt.plot(x2,h(x2))\n",
    "\n",
    "plt.xlabel('x',fontsize=12)\n",
    "# felirat\n",
    "plt.legend((r'$\\sqrt{x}$',r'$x^2$'), fontsize=12, loc = 5) # loc: 1:jobbfenn, 2: balfent, 3:ballent,...10\n",
    "plt.grid()\n",
    "\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 121,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:31:11.216770Z",
     "start_time": "2020-02-24T14:31:11.031343Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "x3 = np.arange(1,14+1)\n",
    "y3 = np.exp(x3)/(1.4e4)\n",
    "plt.plot(x3, y3, linestyle = '', marker = 'o')\n",
    "plt.xlabel('szorgalmi hét sorszáma')\n",
    "plt.ylabel('hallgatók terheltsége [%]-ban')\n",
    "plt.grid()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 122,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:31:11.638397Z",
     "start_time": "2020-02-24T14:31:11.218979Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(x3, y3, linestyle = '-', marker = 'o')\n",
    "plt.yscale('log')\n",
    "plt.xlabel('szorgalmi hét sorszáma')\n",
    "plt.ylabel(r'hallgatók terheltsége [%]-ban')\n",
    "plt.grid()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Parametrikus függvényábrázolás:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 123,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:31:11.770176Z",
     "start_time": "2020-02-24T14:31:11.639694Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "t = np.linspace(0,2*sc.pi,100)\n",
    "x = np.sin(t)\n",
    "y = np.cos(t)\n",
    "\n",
    "plt.plot(x, y, linestyle = '--')\n",
    "plt.grid()\n",
    "plt.axis('equal')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3D függvényábrázolás"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 124,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:31:11.777285Z",
     "start_time": "2020-02-24T14:31:11.771346Z"
    }
   },
   "outputs": [],
   "source": [
    "from mpl_toolkits.mplot3d import Axes3D"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 125,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:31:11.790553Z",
     "start_time": "2020-02-24T14:31:11.778673Z"
    }
   },
   "outputs": [],
   "source": [
    "def f(x, y):\n",
    "    return np.sin(np.exp( - x ** 2 - y ** 2))\n",
    "\n",
    "x = np.linspace(-2, 2, 30)\n",
    "y = np.linspace(-2, 2, 30)\n",
    "\n",
    "X, Y = np.meshgrid(x, y)\n",
    "Z = f(X, Y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 126,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:31:12.397847Z",
     "start_time": "2020-02-24T14:31:11.877643Z"
    },
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 453.543x283.465 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure(figsize=(16/2.54,10/2.54)) # itt manuálisan létre kell hozni a plot (figure) objektumot\n",
    "ax = fig.add_subplot(111, projection='3d')\n",
    "ax.plot_surface(X, Y, Z, cmap='viridis')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## + Osztályok <a id='Osztalyok'></a>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 129,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:31:24.203235Z",
     "start_time": "2020-02-24T14:31:24.190593Z"
    }
   },
   "outputs": [],
   "source": [
    "def foo(x):\n",
    "    return x**2\n",
    "\n",
    "class MyClass:\n",
    "    def __init__(self,x,y,z):\n",
    "        self.square = foo(x)-z\n",
    "        self.cubic = y**3+foo(y)\n",
    "\n",
    "    @classmethod\n",
    "    def createfrom_x(cls,x):\n",
    "        return MyClass(x,x,x)\n",
    "    \n",
    "    def return_stuff(self):\n",
    "        return self.square+3*self.cubic"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 130,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-02-24T14:31:24.987569Z",
     "start_time": "2020-02-24T14:31:24.980216Z"
    }
   },
   "outputs": [],
   "source": [
    "mcl=MyClass.createfrom_x(2)"
   ]
  }
 ],
 "metadata": {
  "@webio": {
   "lastCommId": null,
   "lastKernelId": null
  },
  "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.7.3"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
