{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# <font color='blue'>Data Science Academy - Python Fundamentos - Capítulo 8</font>\n",
    "\n",
    "## Download: http://github.com/dsacademybr"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## SciPy\n",
    "\n",
    "Para compreender o SciPy é necessário compreender conceitos avançados de Matemática e Estatística, o que está fora do escopo deste treinamento. Caso queira aprender aplicações práticas do pacote em Machine Learning e IA, consulte estes dois cursos aqui na DSA:\n",
    "\n",
    "Machine Learning: https://www.datascienceacademy.com.br/pages/curso-machine-learning\n",
    "\n",
    "Programação Paralela em GPU: https://www.datascienceacademy.com.br/pages/curso-programacao-paralela-em-gpu"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### O SciPy possui um conjunto de pacotes para operações matemáticas e científicas"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<table class=\"ArticleTableNoBorder\">\n",
    "\t<tbody>\n",
    "\t\t<tr>\n",
    "\t\t\t<td><strong>Pacote</strong></td>\n",
    "\t\t\t<td><strong>Descrição</strong></td>\n",
    "\t\t</tr>\n",
    "\t\t<tr>\n",
    "\t\t\t<td><code>cluster</code></td>\n",
    "\t\t\t<td>Clustering algorithms</td>\n",
    "\t\t</tr>\n",
    "\t\t<tr>\n",
    "\t\t\t<td><code>constants</code></td>\n",
    "\t\t\t<td>Mathematical and physical constants</td>\n",
    "\t\t</tr>\n",
    "\t\t<tr>\n",
    "\t\t\t<td><code>fftpack</code></td>\n",
    "\t\t\t<td>Fourier transforms</td>\n",
    "\t\t</tr>\n",
    "\t\t<tr>\n",
    "\t\t\t<td><code>integrate</code></td>\n",
    "\t\t\t<td>Numerical integration</td>\n",
    "\t\t</tr>\n",
    "\t\t<tr>\n",
    "\t\t\t<td><code>interpolate</code></td>\n",
    "\t\t\t<td>Interpolation</td>\n",
    "\t\t</tr>\n",
    "\t\t<tr>\n",
    "\t\t\t<td><code>io</code></td>\n",
    "\t\t\t<td>Input and output</td>\n",
    "\t\t</tr>\n",
    "\t\t<tr>\n",
    "\t\t\t<td><code>linalg</code></td>\n",
    "\t\t\t<td>Linear algebra</td>\n",
    "\t\t</tr>\n",
    "\t\t<tr>\n",
    "\t\t\t<td><code>maxentropy</code></td>\n",
    "\t\t\t<td>Maximum entropy models</td>\n",
    "\t\t</tr>\n",
    "\t\t<tr>\n",
    "\t\t\t<td><code>misc</code></td>\n",
    "\t\t\t<td>Miscellaneous</td>\n",
    "\t\t</tr>\n",
    "\t\t<tr>\n",
    "\t\t\t<td><code>ndimage</code></td>\n",
    "\t\t\t<td>Multi-dimensional image processing</td>\n",
    "\t\t</tr>\n",
    "\t\t<tr>\n",
    "\t\t\t<td><code>odr</code></td>\n",
    "\t\t\t<td>Orthogonal distance regression</td>\n",
    "\t\t</tr>\n",
    "\t\t<tr>\n",
    "\t\t\t<td><code>optimize</code></td>\n",
    "\t\t\t<td>Optimization</td>\n",
    "\t\t</tr>\n",
    "\t\t<tr>\n",
    "\t\t\t<td><code>signal</code></td>\n",
    "\t\t\t<td>Signal processing</td>\n",
    "\t\t</tr>\n",
    "\t\t<tr>\n",
    "\t\t\t<td><code>sparse</code></td>\n",
    "\t\t\t<td>Sparse matrices</td>\n",
    "\t\t</tr>\n",
    "\t\t<tr>\n",
    "\t\t\t<td><code>spatial</code></td>\n",
    "\t\t\t<td>Spatial algorithms and data structures</td>\n",
    "\t\t</tr>\n",
    "\t\t<tr>\n",
    "\t\t\t<td><code>special</code></td>\n",
    "\t\t\t<td>Special functions</td>\n",
    "\t\t</tr>\n",
    "\t\t<tr>\n",
    "\t\t\t<td><code>stats</code></td>\n",
    "\t\t\t<td>Statistical functions</td>\n",
    "\t\t</tr>\n",
    "\t\t<tr>\n",
    "\t\t\t<td><code>stsci</code></td>\n",
    "\t\t\t<td>Image processing</td>\n",
    "\t\t</tr>\n",
    "\t\t<tr>\n",
    "\t\t\t<td><code>weave</code></td>\n",
    "\t\t\t<td>C/C++ integration</td>\n",
    "\t\t</tr>\n",
    "\t</tbody>\n",
    "</table>\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Processamento de imagens"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[[1., 1., 1., 1.],\n",
       "        [1., 1., 1., 1.],\n",
       "        [1., 1., 1., 1.],\n",
       "        ...,\n",
       "        [1., 1., 1., 1.],\n",
       "        [1., 1., 1., 1.],\n",
       "        [1., 1., 1., 1.]],\n",
       "\n",
       "       [[1., 1., 1., 1.],\n",
       "        [1., 1., 1., 1.],\n",
       "        [1., 1., 1., 1.],\n",
       "        ...,\n",
       "        [1., 1., 1., 1.],\n",
       "        [1., 1., 1., 1.],\n",
       "        [1., 1., 1., 1.]],\n",
       "\n",
       "       [[1., 1., 1., 1.],\n",
       "        [1., 1., 1., 1.],\n",
       "        [1., 1., 1., 1.],\n",
       "        ...,\n",
       "        [1., 1., 1., 1.],\n",
       "        [1., 1., 1., 1.],\n",
       "        [1., 1., 1., 1.]],\n",
       "\n",
       "       ...,\n",
       "\n",
       "       [[1., 1., 1., 1.],\n",
       "        [1., 1., 1., 1.],\n",
       "        [1., 1., 1., 1.],\n",
       "        ...,\n",
       "        [1., 1., 1., 1.],\n",
       "        [1., 1., 1., 1.],\n",
       "        [1., 1., 1., 1.]],\n",
       "\n",
       "       [[1., 1., 1., 1.],\n",
       "        [1., 1., 1., 1.],\n",
       "        [1., 1., 1., 1.],\n",
       "        ...,\n",
       "        [1., 1., 1., 1.],\n",
       "        [1., 1., 1., 1.],\n",
       "        [1., 1., 1., 1.]],\n",
       "\n",
       "       [[1., 1., 1., 1.],\n",
       "        [1., 1., 1., 1.],\n",
       "        [1., 1., 1., 1.],\n",
       "        ...,\n",
       "        [1., 1., 1., 1.],\n",
       "        [1., 1., 1., 1.],\n",
       "        [1., 1., 1., 1.]]], dtype=float32)"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from scipy import misc\n",
    "misc.imread('Matplotlib-Mapa.png')    \n",
    "\n",
    "# Matplotlib tem uma função similar\n",
    "import matplotlib.pyplot as plt\n",
    "plt.imread('Matplotlib-Mapa.png')    "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Integração Numérica"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from numpy import *\n",
    "from scipy.integrate import quad, dblquad, tplquad"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(0.0, 0.0)"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Integração\n",
    "val, abserr = quad(lambda x: exp(-x ** 2),  Inf, Inf)\n",
    "val, abserr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from scipy.integrate import odeint, ode"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from pylab import *\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nmservaLvqgAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def dy(y, t, zeta, w0):\n",
    "    x, p = y[0], y[1]\n",
    "    \n",
    "    dx = p\n",
    "    dp = -2 * zeta * w0 * p - w0**2 * x\n",
    "\n",
    "    return [dx, dp]\n",
    "\n",
    "\n",
    "y0 = [1.0, 0.0]\n",
    "\n",
    "t = linspace(0, 10, 1000)\n",
    "w0 = 2*pi*1.0\n",
    "\n",
    "\n",
    "y1 = odeint(dy, y0, t, args=(0.0, w0)) \n",
    "y2 = odeint(dy, y0, t, args=(0.2, w0)) \n",
    "y3 = odeint(dy, y0, t, args=(1.0, w0)) \n",
    "y4 = odeint(dy, y0, t, args=(5.0, w0)) \n",
    "\n",
    "fig, ax = subplots()\n",
    "ax.plot(t, y1[:,0], 'k', label=\"Não Abafado\", linewidth=0.25)\n",
    "ax.plot(t, y2[:,0], 'r', label=\"Pouco Abafado\")\n",
    "ax.plot(t, y3[:,0], 'b', label=\"Criticamente Abafado\")\n",
    "ax.plot(t, y4[:,0], 'g', label=\"Perigosamente Abafado\")\n",
    "ax.legend();"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Fourier Transformation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from scipy.fftpack import *"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhsAAADFCAYAAAD9jDDLAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAHn9JREFUeJzt3XuQXGd55/Hf07fp0UgjWdJ4JEu2\nRr4BMgYDijB4ayEGg4MBexOKNZsQk3WVd7dILdSSDZj8kaWKTczmYsguodYLVLRb7BpDCHYIBIy5\nBENskK8gGSxLtizrOrrMffr+7B/nnJ6eme6Zntb0TGvO91M1dPc5b0+/OmVmfvO8l2PuLgAAgHZJ\nLHcHAADAykbYAAAAbUXYAAAAbUXYAAAAbUXYAAAAbUXYAAAAbUXYAAAAbUXYAAAAbUXYAAAAbZVa\nyg/buHGjDwwMLOVHAgCANnnsscdOuXvffO2WNGwMDAxoz549S/mRAACgTczsUDPtGEYBAABtRdgA\nAABtRdgAAABtRdgAAABtRdgA0LJyxfXfH9qv4cninO12/+QFHT4zsUS9AtBpCBsAWvbQMyf0Fw8+\nq//6D/sathnPl/THD+zVrfc8soQ9A9BJCBsAWlaquCRpNFdq2KbsQZsz44Ul6ROAzkPYANAyCx8r\nYaCop1z2edsAWNkIGwBaZhbEjcocOaJYqYRtCBtAXBE2ALQsmQjChs8RJErVysaSdAlAByJsAGhZ\nNIxSniNJlBhGAWKPsAGgZdHkz2aGUcgaQHwRNgC0rJmqRdQGQHw1HTbMLGlmT5jZN8LX283sUTN7\nzsy+bGaZ9nUTQCcqluevWkRtAMTXQiobH5L0TM3rT0m6290vl3RW0u2L2TEAnS8KEnMufWVmKBB7\nTYUNM9sq6SZJnw9fm6TrJX01bLJb0i3t6CCAzlVsZhilQmUDiLtmKxuflvSHkqKfGhskDbl7tG3g\nS5K21Hujmd1hZnvMbM/g4OA5dRZAZ5mqbMzVhsoGEHfzhg0ze6ekk+7+WCsf4O73uPtOd9/Z19fX\nyrcA0KGm5mwwQRRAY6km2lwn6d1m9g5JWUm9kj4jaZ2ZpcLqxlZJR9rXTQCdqNjEhl1FhlGA2Ju3\nsuHud7r7VncfkHSrpO+5+29L+r6k94TNbpN0f9t6CaAjNTNBlMoGgHPZZ+Ojkv6TmT2nYA7HFxan\nSwDOF6UwbMy9gyiVDSDumhlGqXL3H0j6Qfj8oKRdi98lAOeLQli1mDNssPQViD12EAXQsqhqMddQ\nCUtfARA2ALQsmrMxV6Bg6SsAwgaAljU1jELYAGKPsAGgZdVhlDnnbExVPdi6HIgnwgaAlhWbWI1S\nO4zCTdmAeCJsAGhZFCTmrGzUBAxWpgDxRNgA0LJmKhu1AYM9N4B4ImwAaFl1NcocIaI0bRiFygYQ\nR4QNAC2LqhZzVzYqdZ8DiA/CBoCWFUrzr0aprWawDBaIJ8IGgJY1NWejZoiF1ShAPBE2ALQsqmiU\nKi5vcOfX2qoHczaAeCJsAGhZNIwiNa5uFKlsALFH2ADQsmITe2jUhhD22QDiibABoGW14aFxZYN9\nNoC4I2wAaFmxNH9lo3a5K3M2gHgibABoWbGJykbtclf22QDiibABoGXFckXJhElqHCSmzeugsgHE\nEmEDQMuKpYq600lJc1Q2Ki6zsD1zNoBYImwAaFmx4sqGYaNR1aJYriibCtuwGgWIJcIGgJYVyxVl\n08GPkUaVjXLF1Z1JVtsDiB/CBoCWlCsud1WHURrN2SiVfaoNczaAWCJsAGhJVKWIqhaNhkiKlanq\nB6tRgHgibABoSSEMG/PN2SiVa4dRqGwAcUTYANCSKFzMtxqlWK7UDKNQ2QDiiLABoCXFamUjGiJp\nvPS1Wv1gNQoQS/OGDTPLmtlPzewpM9trZp8Ij283s0fN7Dkz+7KZZdrfXQCdIrrj67z7bJQr1bBR\noLIBxFIzlY28pOvd/dWSrpF0o5ldK+lTku5298slnZV0e/u6CaDTRFWKqQmiDVajVFiNAsTdvGHD\nA2Phy3T45ZKul/TV8PhuSbe0pYcAOlI0jNKVmq+y4VNDLVQ2gFhqas6GmSXN7ElJJyU9KOmApCF3\nL4VNXpK0pcF77zCzPWa2Z3BwcDH6DKADNLv0tVSpKJVMKJ20aTduAxAfTYUNdy+7+zWStkraJenl\nzX6Au9/j7jvdfWdfX1+L3QTQaaJlrNFW5OWG25W70glTKpGgsgHE1IJWo7j7kKTvS3qDpHVmlgpP\nbZV0ZJH7BqCDTVU25t6wq1QOKhuppLHPBhBTzaxG6TOzdeHzbkk3SHpGQeh4T9jsNkn3t6uTADpP\nNWzMs6y1WHGlkqZ0MsEOokBMpeZvos2SdptZUkE4uc/dv2Fm+yTda2aflPSEpC+0sZ8AOkx1GKWJ\npa/pREKphLEaBYipecOGuz8t6TV1jh9UMH8DQAwVSzMmiNYJEpWKq+JSMhFUNhhGAeKJHUQBtCQa\nEplrU69oaCWdNKWSxjAKEFOEDQAtKcwYRqk3ZyMKF6kkwyhAnBE2ALSkNOOur+U6VYto2CRVHUah\nsgHEEWEDQEuauRFbFEjS4dJXbsQGxBNhA0BLCk3cYj4KF6lksKkXlQ0gnggbAFpSamK78ihcpBPB\nduXM2QDiibABoCXVYZRUtPR1dtUiqnYko+3KWY0CxBJhA0BLosmfc1c2aoZRklYdegEQL4QNAC2J\nKhuZZEJmjeZsTE0QTSe5ERsQV4QNAC0plitKJkyJhCmdSDRYjVK79JU5G0BcETYAtKRYdqUSJimY\nk1GvslGctvQ1oSJzNoBYImwAaEmhVKlu6NVod9Dapa9dqYQKJcIGEEeEDQAtyZfK6koFP0KSSWuw\ng2hwLJkwdaWSyhM2gFgibABoSb5YUVe4e2gqUX930HL1RmwJdaUSyhfLS9pHAJ2BsAGgJflSRZlk\nWNloMGejdoJoVypBZQOIKcIGgJbkSxV1paI5G/VXo9ROEI3ChjsrUoC4IWwAaEm+VK4OoyQTVncP\njWkTRMPJpAX22gBih7ABoCVBZWPuORtRZSOVSFTbMpQCxA9hA0BLaodR5puzkQ6XvkrBxFIA8ULY\nANCSfHFq6WsqWX/ORu2N2KJgwjAKED+EDQAtKZQq1XkYqQZzNoo190aJ5new/BWIH8IGgJbUztlI\nJ616h9da0Y6hmSRzNoA4I2wAaMn0sJGoOzxSXfqaSlSHUQgbQPwQNgC0JNiuPAgQmQb3Palb2WAY\nBYgdwgaAluRLU9uVZ5KJahWjVqF2NUqaYRQgrggbABasUnEVarYrz6Tqh41iOWhjNrUaJUdlA4id\necOGmV1sZt83s31mttfMPhQeX29mD5rZ/vDxgvZ3F0AnmAwDw6pMECDSycbDKOmkSVL1dvSThA0g\ndpqpbJQkfcTdd0i6VtIHzWyHpI9Jesjdr5D0UPgaQAxMFKaHjaCyUX8H0Uw4VyNqG70XQHzMGzbc\n/Zi7Px4+H5X0jKQtkm6WtDtstlvSLe3qJIDOMhkGhu5MSlJQ2ag3FyOobBA2gLhb0JwNMxuQ9BpJ\nj0rqd/dj4anjkvobvOcOM9tjZnsGBwfPoasAOsVEsSSpprKRtAYTRKfCRnfYdrJQWqJeAugUTYcN\nM1st6W8lfdjdR2rPeXDP6Lr3jXb3e9x9p7vv7OvrO6fOAugME9XKRu0wSr0Jol5d8ppJJpRMGJUN\nIIaaChtmllYQNL7k7l8LD58ws83h+c2STraniwA6TTSMsio93wTRcrWyYWZalU4SNoAYamY1ikn6\ngqRn3P0va049IOm28Pltku5f/O4B6ERTE0SDORuZVHAjtsqMm7EVy16dICoFlZBJwgYQO6km2lwn\n6f2Sfm5mT4bHPi7pLkn3mdntkg5Jem97ugig00yE8y66a5a+SsEcjWwiWW1Xu/RVCuZ4TLD0FYid\necOGuz8syRqcfsvidgfA+WBy5tLXMGwUy5XqfhrS9AmiUrB6hQmiQPywgyiABau3z4akWfM2CqXK\ntGGUVRnmbABxRNgAsGDj+aA60dM1tc+GpFkbe0XblUdWd6U0lqeyAcQNYQPAgo3mS8qmE9WQEVUv\nZi5/rd1BVJLWdqc1PFlcuo4C6AiEDQALNporak02XX0dTQKduYto7Q6iEmEDiCvCBoAFG8mVtCY7\nNb88mhQ6846uuWJF2fT0sDEyWZy1RBbAykbYALBgo7nStMpGFDbypRlho1SetjplbXdaFZfGWJEC\nxAphA8CCjeWKWtNVU9kI52XkitOHUXLF6WGjtzt4zwhDKUCsEDYALNjojGGUqZusTVU23D0YRpkx\nQVQS8zaAmCFsAFiwmWGjOmejZhglmiyazdRWNggbQBwRNgAs2NBkoVqlkKRsKpogOjWMEk0Wjc5J\nU5UNhlGAeCFsAFiQyUJZuWJFF/RkqseymWjOxlRlIwoeMyeISlQ2gLghbABYkLMTBUnSBatqwkad\npa+TUWWjZulrb7WywWoUIE4IGwAWZCps1BtGqa1sBM+7ayobqzMpJYzKBhA3hA0AC3J2PAgK62oq\nG+mkKZmw+nM2asJGImHqZRdRIHYIGwAWpN4wipkpm0rUnbPRlZ7+Y4Yty4H4IWwAWJDB0bwkqW9N\n17Tj2XSyOk9Dql/ZkKQNPRmdGsu3uZcAOglhA8CCnBjJKZNKTJuzIc0OG5N15mxI0qa1WR0fybW/\nowA6BmEDwIIcG86pv7dLZjbt+OqulMbzU6tMxsLnq2u2NZek/t6sjg/n5M7N2IC4IGwAWJDjIzlt\n6s3OOt7TldR4fqqyEQWPnhlhY1NvVhOFskbzLH8F4oKwAWBBTozk1F83bKSq1QypNmzMHkaRpBPD\nDKUAcUHYANA0d9fx4fqVjdnDKGWlk6au1PSwEQUV5m0A8UHYANC04cmi8qVKtTpRq2dG2BjPl2YN\noUjS5vC9x6lsALFB2ADQtKgaUS9srO5KTZuHMZ4vqSczO2xElY0TVDaA2CBsAGjasaEwbMwxjBKt\nMhnLT78NfSSbTuqCVWkdpbIBxAZhA0DTDp4alyRt39gz61xPV0oVn9o5dLxQfxhFkgY29uj5wfH2\ndRRAR5k3bJjZF83spJn9oubYejN70Mz2h48XtLebADrBgcExrVuV1vqa28tHVodVjNFcsBX5WK40\na4+NyGV9q3VgcKx9HQXQUZqpbPyNpBtnHPuYpIfc/QpJD4WvAaxwBwfHdFnf6lkbeknSuvD28UPh\nfU/OThS1bsYuo5FL+3p0cjRfDSYAVrZ5w4a7/5OkMzMO3yxpd/h8t6RbFrlfADrQgcFxXdY3ewhF\nmrox29BEMXwsTLtZW63L+lZLkg4ylALEQqtzNvrd/Vj4/Lik/kYNzewOM9tjZnsGBwdb/DgAy214\nsqjB0Xw1KMwUVTHOThRUKlc0kitpbXf9ykb0PRhKAeLhnCeIejD1vOFNDtz9Hnff6e47+/r6zvXj\nACyT/SdGJWnesDE8UdRILlgCO/NmbZFtG1YpnTT9KvyeAFa2VsPGCTPbLEnh48nF6xKATvTk4SFJ\n0qsuXlv3/LpwyOTsREFnJwrTjs2UTia0Y3Ovngq/J4CVrdWw8YCk28Lnt0m6f3G6A6BTPXF4SFvW\ndevCNbP32JCknkxS6aTpzERBQ2HYWNugsiFJ11y8Tk+/NKxyhbu/AitdM0tf/5+kf5b0MjN7ycxu\nl3SXpBvMbL+kt4avAaxgT744pGsuXtfwvJnpwjVZDY7kdWIkL0nqbxBMJOmaS9ZpolDWswylACte\n/UXwNdz9fQ1OvWWR+wKgQ50cyenI0KQ+8MaBOdv193bp+Eiuet+TetuaR665ONie5/EXz+oVm3sX\nra8AOg87iAKY14/2n5IkveGyDXO227Q2q+MjOZ0YySmTSjScICpJAxtWafParB4OvzeAlYuwAWBe\nP3h2UH1runTVRXNXIPp7szo+nNPxkZz6e7vqbv4VMTO9+WV9enj/KRXLlcXuMoAOQtgAMKdSuaIf\n7R/Uv7yib87wIEkDG3o0USjrnw+c1rb19Tf/qvWmK/s0mi/psUNnF6u7ADoQYQPAnH584LSGJoq6\nYUfDvfuqXrZpjSTp5Gher9i8Zt72/+KKPmXTCf3D08fmbQvg/EXYADCnrz9xRL3ZlH795fNvyvfy\nTVMBY8c8Qy5ScFv6G3Zs0jeePqpCiaEUYKUibABoaHiiqH/8xXHd9KqL1JVKztt+3aqMNq7uUiaZ\n0G+8cnNTn/GvXnORzk4U9eC+E+faXQAdat6lrwDi6//+9EVNFst6/7Xbmn7PI3derxfPTCibnj+c\nSNKbrrxQl6xfpS/++Hnd9KrmAgqA8wuVDQB1jedL+uKPn9cbL9vQ1JBIJJVM6NIG90+pJ5kwfeCN\nA3rs0Fk9cvB0K10F0OEIGwDq+l8/OqjB0bw+8rYr2/5Z79t1iTavzepPvvmMKmxfDqw4hA0Asxwb\nntT//OFB3XT1Zr1u2/q2f153Jqn//PaX6emXhvV3Txxp++cBWFqEDQDTVCquj9z3lMykj9748iX7\n3Fuu2aLXXrJOn/j7vToyNLlknwug/QgbAKb53A8P6CcHTuuP37VDl2xYtWSfm0iY7v7X16hccX34\n3ieUL5WX7LMBtBdhA0DV/U8e0Z99+1d696sv0nt3Xrzkn79tQ4/+5Dev1s9eOKuPfvVpuTN/A1gJ\nWPoKQFKwedcffOUp7RpYr//2nlfNuzV5u9x8zRYdPjOhP//Os0olE7rrN69WKsnfRcD5jLABxJy7\n655/Oqg//dYvde2l63XP7+5seo+Mdvngr1+uUsX16e/u15nxgj596zXqzTa+gyyAzsafC0CMnR7L\n6/bde/Sn3/ql3nH1Jv3N7+3qiF/qZqYPv/VKffKWV+qHzw7qHZ/5kR5/kZu1AecrwgYQQ+WK6/88\nckjX/8UP9fD+U/ov79qhz/6b1y57RWOm37l2m+77d2+Qu/Rbn/uJ7vza0zo9ll/ubgFYIFvKCVg7\nd+70PXv2LNnnAZiuWK7o608c0V//4ICePzWuN1y6QZ+4+Spd2T//HVqX00iuqM98d792/+QFdWeS\nuu0NA/rAdQPauLprubsGxJqZPebuO+dtR9gAVr7DZyb05Z8d1lceO6wTI3nt2Nyr//iWy/X2qzYt\n20TQVjx3clR//u1n9e19x5VJJvSuV1+k97xuq16/ff159e8AVgrCBhBzBwbH9OC+E/rO3uN6/MUh\nJUx605V9+p1rt+n6l194Xv9yPjA4ps//6Hn9/VNHNZYv6ZL1q/S2Hf16yyv6tXPgAqVZvQIsCcIG\nECPurpfOTuqRg6f16PNn9Ojzp3X4TLAL5yu39OrtOzbpt163VRet617mni6uiUJJ//iL4/r6k0f1\nyIHTKpQr6s2m9PpLN2jXwHr92vb1uuqiXsIH0CaEDWCFyhXLOnR6Qr88PqK9R0e09+iw9h0d0dmJ\noiRp3aq0dg2s13WXb9Rbd/RrywoLGI2M5Ut6eP+gvvfLk3r0+TM6dHpCkpRNJ/SyTb3asblXOy4K\nHq/oX90Rq26A8x1hAzhPVSquU2N5HRvO6dhwTkeGJvXCqXG9cHpcBwfHdXR4UtH/bTPJhK7ctFpX\nbV6rV27p1a9tX68rL1yjROL8HSJZLCdHcvrpC2f0+KEhPXNsRPuOjWh4slg9v6Eno4GNPdq2YZW2\nb+jRto092rw2q029WfX3ZpVJUQ0B5kPYADpIoVTR0ERBp8cLOjte0JmJgs6MB19nxws6NV7QiTBc\nnBjJqTTjNutrsildurFHAxt7tD38urJ/jS6/cDVDBE1ydx0dzmnf0REdGBzTodPjev7UuF44NaHj\nI7lZ7Teuzqi/N6vNa7PqW5PVhp6M1odfF/RktCF8XL8qo+5MZy0ZBpZKs2GDHUSBOioVV75UUa5Y\n1mT0VShXX4/nyxrNFTWWL2ksV9JovqTRXElj+VJwPDf1emSyqNF8qeFnre1Oa0NP8Ivt9dvXa9Pa\n4BfcprXd2hw+X9+TOa8ndHYCM9OWdd3asq5bN6h/2rnJQlmHz04EYS8MfcdHcjo+PKkjQzk9eXhI\nZ8YLqjT42yybTqg3m9bqbEprsmn1ZlNak01pTVc6eKyeS2l1V0rdmaS60+FXZsZjOkllCisOYQNL\nyt1VrrhKleCx7K5yOXhd8fB4OTxeqVTbFcuuYrmiYqmifPgYHSuUKyqUKsH5cnA8H70OH4M2Xm1T\nKFWUL1WmhYjaYJErVhb07+pKJaZ+qXQFv1C2bVil1dmUerNpXbAqo/Wrg7+C19f+hbwqzX0/OkB3\nJqkr+9fMud9IpeIayRWr1amZj9VwmStqNFfS0aHJMHyWNFFY2B1su1KJWSEkk0ook0wok0qoK5WY\n9jp4HrWxmmMJZVLJaa/TSVMyYUolEkolTamEKZVMKJUIjgfnE+HxsF3ClEya0olEtQ3hFwtxTmHD\nzG6U9BlJSUmfd/e7FqVXC/TVx17S1584IlfwZ0c0MuSu2ceiN1Vf+6xz0dCS132fz2hb5zMafL/p\n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\n",
      "text/plain": [
       "<Figure size 648x216 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Fourier transformation\n",
    "N = len(t)\n",
    "dt = t[1]-t[0]\n",
    "\n",
    "F = fft(y2[:,0]) \n",
    "\n",
    "w = fftfreq(N, dt)\n",
    "\n",
    "fig, ax = subplots(figsize=(9,3))\n",
    "ax.plot(w, abs(F));"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Álgebra Linear"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "A = array([[1,2,3], [4,5,6], [7,8,9]])\n",
    "b = array([1,2,3])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([-0.33333333,  0.66666667, -0.        ])"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Resolvendo um sistema de equações lineares\n",
    "x = solve(A, b)\n",
    "x"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([1.142416  , 0.1745743 , 0.58450936])"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "A = rand(3,3)\n",
    "B = rand(3,3)\n",
    "\n",
    "evals, evecs = eig(A)\n",
    "\n",
    "evals"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[-0.7713803 , -0.86158267,  0.93494291],\n",
       "       [-0.40604163,  0.09318555, -0.28144399],\n",
       "       [-0.49000268,  0.49899073,  0.21603481]])"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "evecs"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([[-0.6042546 ,  0.66762985, -0.43491006],\n",
       "        [-0.60878132, -0.73898662, -0.2885898 ],\n",
       "        [-0.51406388,  0.09038341,  0.85297665]]),\n",
       " array([1.30977886, 0.65032348, 0.13685752]),\n",
       " array([[-0.38013356, -0.80804677, -0.45006544],\n",
       "        [ 0.49365081, -0.58873898,  0.64007445],\n",
       "        [-0.78218115,  0.02113861,  0.62269238]]))"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "svd(A)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Otimização"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from scipy import optimize"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nyQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def f(x):\n",
    "    return 4*x**3 + (x-2)**2 + x**4\n",
    "\n",
    "fig, ax  = subplots()\n",
    "x = linspace(-5, 3, 100)\n",
    "ax.plot(x, f(x));"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Optimization terminated successfully.\n",
      "         Current function value: 2.804988\n",
      "         Iterations: 4\n",
      "         Function evaluations: 18\n",
      "         Gradient evaluations: 6\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "array([0.46961743])"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x_min = optimize.fmin_bfgs(f, -0.5)\n",
    "x_min"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Estatística"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from scipy import stats"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nrkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 3 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "Y = stats.norm()\n",
    "\n",
    "x = linspace(-5,5,100)\n",
    "\n",
    "fig, axes = subplots(3,1, sharex=True)\n",
    "\n",
    "axes[0].plot(x, Y.pdf(x))\n",
    "\n",
    "axes[1].plot(x, Y.cdf(x));\n",
    "\n",
    "axes[2].hist(Y.rvs(size=1000), bins=50);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(0.0, 1.0, 1.0)"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Y.mean(), Y.std(), Y.var()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(0.8414404447681616, 0.4002019308600122)"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# T-test\n",
    "t_statistic, p_value = stats.ttest_ind(Y.rvs(size=1000), Y.rvs(size=1000))\n",
    "t_statistic, p_value"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Fim"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Obrigado - Data Science Academy - <a href=\"http://facebook.com/dsacademybr\">facebook.com/dsacademybr</a>"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
