{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": true,
    "slideshow": {
     "slide_type": "notes"
    }
   },
   "outputs": [],
   "source": [
    "# Setup\n",
    "%matplotlib inline\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib\n",
    "params = {'font.size'     : 14,\n",
    "          'figure.figsize':(10.0, 6.0),\n",
    "          'lines.linewidth': 2.,\n",
    "          'lines.markersize': 8,}\n",
    "matplotlib.rcParams.update(params)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "## Optimization\n",
    "\n",
    "## Scope\n",
    "\n",
    "Mathematical optimization aims at solving various kinds of problems by minimizing a function of the form:\n",
    "\n",
    "$$\n",
    "f(X) = e\n",
    "$$\n",
    "\n",
    "Where $f$ if the **cost function**, $X$ is a $N$ dimensional vector of parameters and $e \\in \\mathscr R$. More informations about the underlying theory, the nature of the solution(s) and practical considerations can be found:\n",
    "\n",
    "* On [Wikipedia](https://en.wikipedia.org/wiki/Mathematical_optimization),\n",
    "* On (excellent) [Scipy lectures](http://www.scipy-lectures.org/advanced/mathematical_optimization/).\n",
    "\n",
    "## Solving\n",
    "\n",
    "*Scipy* offers multiple approaches in order to solve optimization problems in its sub package *optimize*\n",
    "\n",
    "### General purpose approach\n",
    "\n",
    "[scipy.optimize.minimize](http://docs.scipy.org/doc/scipy/reference/tutorial/optimize.html#unconstrained-minimization-of-multivariate-scalar-functions-minimize) allows one to use multiple general purpose optimization algorithms.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from scipy import optimize\n",
    "\n",
    "def f(X):\n",
    "  \"\"\"\n",
    "  Cost function.\n",
    "  \"\"\"  \n",
    "  return (X**2).sum()\n",
    "\n",
    "X0 = [1.,1.] # Initial guess\n",
    "sol = optimize.minimize(f, X0, method = \"nelder-mead\")\n",
    "X = sol.x\n",
    "print \"Solution: \", X\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Curve fitting using least squares\n",
    "\n",
    "In order to perform curve fitting in a more convenient way, [scipy.optimize.curve_fit](http://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.curve_fit.html#scipy.optimize.curve_fit) can be used.\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nVq5cScWKFXn99dcpX748QUFBvPvuu3To0IFevXpx6tQp5s6di6+vL2+++WaW7zFkyBAGDRpEjx49\n6NKlC4cPH2b16tXUq1fPYr/69etTunRpPvnkE7y8vChVqhT33nsvjRs3TldmfuskHMgaU4nt9QBu\nAv2y2WcZ8NVd2x4EkoBaGeyf5XRre0ubBsb9BXft/oJ7oUsDI4StxcfH64iICB0REaHj4+MdXR1h\nRc72nW0t33//vR48eLBu3Lix9vb21h4eHtrX11cPHjxYnzx50mLfxYsX6yZNmmgPDw9dsWJF3b9/\nf3327FmLfYKCgrSrq6vFNrPZrCdOnKirVKmiS5Qoodu0aaP37dun27Rpo9u1a2ex79dff62bNGmi\nixcvrl1cXFLTx2RUbk7r1L9/f12iRIl0x3722WfaxcVFR0dH57zBCrHsznGslAZG6QIUdKmUugkM\n11ovz2Kf74HTWutBabbVAKKBh7XWkXftr52xDUwmU+qEj2bNmhWKkb8U4eHhMjpiZ9Lm9idtbhsp\nyYSFKKyyO8eTX893DiKnvwVcVKWsMuJIhbkTKoQQQhRlhbEDeB6ofNe2yoBOfi2d/v37p85UKlOm\nDP7+/qm/3FMCZp3l+XffhXPhAvTp04bixW3zflprftr3E2E/h3H81nEA6pWsR2DrQB5t9ihKqXy/\nXwpHt6c8z/55QkICpUuXBuDGjRu4ubk5Vf2c9XmbNm2cqj6F6bkQRUHa8z08PNzqeR4L4y3gocCH\nQCVtTAJBKfUuMExrXSOD/Z3yFnBaCQnwww+wejVs3AixseDqCg0awH33GY9774VHH4Xy5fP/fiEz\nQjKdiDLGbwwTR0/M/5sIp6e1ZtLMSYT9HJaan9L3lm/qhIrcpIoQwlrkFrAo7Ox1C9jp08AopbyU\nUk2VUv4Y9a2Z/LxG8utTlFJb0xyyCiNdzGdKqcZKqV7Af4Dpdq98Pv3yCwwbBlWqwMtd/6HM53P5\nPvYRrqkyRCY9wDtRL+L7xRR+m7CJt3seo35dM6tW5S83qT1WI5Ff8faXlzaXZQnzR85zIYQzc/oO\nIMYM3n3AHsADCAb2Jv8XwAeok7Kz1voG8DhQFfgN+C8wTWs9y451zpekJBg1Cp585Cqm+YsJu9yB\ns1RlLiN4hF/w1td5gL28yEqm8C6b6MExGvDLdV9Cnw+nTx+4fDlv7y2rkQgoOssSCiFEUeX0MYBa\n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\ngg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f0c620b6b10>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def func(x, omega, tau):\n",
    "    return np.exp(-x / tau) * np.sin(omega * x)\n",
    "\n",
    "\n",
    "xdata = np.linspace(0, 3., 100)\n",
    "y = func(xdata, omega = 2. * np.pi, tau = 10.)\n",
    "ydata = y + .5 *  np.random.normal(size=len(xdata))\n",
    "\n",
    "params, cov = optimize.curve_fit(func, xdata, ydata)\n",
    "omega, tau  = params\n",
    "ysol = func(xdata, omega, tau) \n",
    "\n",
    "\n",
    "fig = plt.figure(0)\n",
    "plt.clf()\n",
    "plt.plot(xdata, y, label = \"Target\")\n",
    "plt.plot(xdata, ydata, \"o\", label = \"Target + noise\")\n",
    "plt.plot(xdata, ysol, label = \"Solution\")\n",
    "plt.grid()\n",
    "plt.xlabel(\"$x$\")\n",
    "plt.ylabel(\"$y$\")\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "celltoolbar": "Slideshow",
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
