{
 "metadata": {
  "name": ""
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import numpy as np\n",
      "import scipy.sparse as sp\n",
      "import scipy.sparse.linalg as alg\n",
      "from time import time\n",
      "\n",
      "import pylab as pl\n",
      "\n",
      "%pylab inline --no-import-all"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Populating the interactive namespace from numpy and matplotlib\n"
       ]
      }
     ],
     "prompt_number": 109
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# x - bezwymiarowa siatka polozen\n",
      "\n",
      "# Stale 'rho' zadeklerowane dla ponizszych typow potencjalow to bezwymiarowe zmienne\n",
      "# z bezwymiarowego rownania Schrodingera.\n",
      "\n",
      "\n",
      "def rho_infWell():\n",
      "    return 1.0\n",
      "def infWell(x):\n",
      "    # potencjal nieskonczonej studni:\n",
      "    # v(x) = 0\n",
      "    return np.zeros_like(x)\n",
      "\n",
      "\n",
      "def rho_harmonic():\n",
      "    return 1.0\n",
      "def harmonic(x):\n",
      "    # potencjal oscylatora harmonicznego:\n",
      "    # v(x) = k * x**2 / 2\n",
      "    return x ** 2\n",
      "\n",
      "\n",
      "def rho_LennardJones(C, D, m, V_c, h):\n",
      "    # C, D - stale o wymiarze dlugosci\n",
      "    # m - masa czastki\n",
      "    # V_c - charakterystyczna energia\n",
      "    # h - stala Diraca\n",
      "    return 2.0 ** (-2.0 / 3.0) * (C / D) ** (-8) * m * V_c * D ** 2 / (h*h)\n",
      "def rho_LennardJones2():\n",
      "    return 0.01\n",
      "def LennardJones(x):\n",
      "    # potencjal Lennarda-Jonesa: v(x) = V_c * ( (C/x)**12 - (C/x)**-6)\n",
      "    # bezwymiarowy potencjal Lennarda-Jonesa: V(x) = x**-12  - 2*x**-6\n",
      "    return x**-12  - 2*x**-6\n",
      "\n",
      "\n",
      "def rho_Morse(m, V_c, C, h):\n",
      "    # 1/C - stala o wymiarze dlugosci\n",
      "    # m - masa czastki\n",
      "    # V_c - charakterystyczna energia\n",
      "    # h - stala Diraca\n",
      "    return 2.0 * m * V_c / (C * C * h * h)\n",
      "def Morse(x):\n",
      "    # potencjal Morse'a: v(x) = V_c * ( exp(-2*c*x) - 2*exp(-c*x) )   \n",
      "    # bezwymiarowy potencjal Morse'a: V(x) = exp(-2*x) - 2*exp(-x)   \n",
      "    return np.exp(-2.0 * x) - 2.0 * np.exp(-x)\n",
      "\n",
      "\n",
      "def rho_Konwent():\n",
      "    k = 1.0\n",
      "    return 0.25 * (2 * k + 1)**2\n",
      "def Konwent(x):\n",
      "    # potencjal Konwenta: v(x) = V_c * (alpha * cosh(C*x) - 1)**2\n",
      "    # bezwymiarowy potencjal Konwenta: V(x) = ( (b / (2*k+1)) * cosh(x) - 1 ) ** 2\n",
      "    k = 1.0\n",
      "    b = 0.03   \n",
      "    return  ( (b / (2.0 * k + 1.0)) * np.cosh(x) - 1) ** 2 \n",
      "\n",
      "\n",
      "def rho_Konwent2(m, V_c, C, h):\n",
      "    # 1/C - stala o wymiarze dlugosci\n",
      "    # m - masa czastki\n",
      "    # V_c - charakterystyczna energia\n",
      "    # h - stala Diraca\n",
      "    return 2.0 * m * V_c / (C * C * h * h)\n",
      "def Konwent2(x):\n",
      "    # potencjal Konwenta: v(x) = V_c * (alpha * cosh(C*x) - 1)**2\n",
      "    # bezwymiarowy potencjal Konwenta: V(x) = (apha*cosh(x) - 1)**2\n",
      "    return  (c * np.cosh(x) - 1) ** 2   \n",
      "\n",
      "\n",
      "def Coulomb(x):\n",
      "    \n",
      "    #l = 0.0\n",
      "    l = 1.0\n",
      "    return l * (l + 1.0) / (x ** 2)  - 2.0 / x\n",
      "    \n",
      "    "
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 116
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# rozmiar macierzy trojdiagonalnej:\n",
      "N = 200\n",
      "    \n",
      "# konce bezwymiarowego przedzialu obustronnie domknietego [x_min,x_max]:\n",
      "x_min = 10.0 ** (-4)\n",
      "x_max = 20.0\n",
      "\n",
      "# ilosc wartosci wlasnych i wektorow wlasnych, ktore chcemy wyznaczyc:\n",
      "N_eigvals = 9\n",
      "\n",
      "# wybor potencjalu:\n",
      "potential = LennardJones\n",
      "# opcjonalne argumenty wybranego potencjalu:\n",
      "args_potential = ()\n",
      "\n",
      "# wybor parametru rho (odpowiedni dla danego potencjalu):\n",
      "rho = rho_LennardJones2\n",
      "# opcjonalne argumety wejsciowe funkcji zwracajacej wartosc bezwymiarowej zmiennej rho\n",
      "args_rho = ()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 117
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "#pl.xlim(x_min, x_max)\n",
      "pl.xlim(0.0,150.0)\n",
      "pl.ylim(-1.1, 0.4)\n",
      "x = np.linspace(10.0 ** (-4),10.0,400)\n",
      "plt.plot(x ** -12  - 2 * x ** -6)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 118,
       "text": [
        "[<matplotlib.lines.Line2D at 0xf9a948c>]"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nNFQ2CwAAAABJRU5ErkJggg==\n",
       "text": [
        "<matplotlib.figure.Figure at 0xd4f4b6c>"
       ]
      }
     ],
     "prompt_number": 118
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "def EigenvalEigenvecProblem3(N, x_min, x_max, N_eigvals, potential, *args_potential):\n",
      "    \n",
      "    \"\"\"\n",
      "    funkcja 'EigenvalEigenvecProblem3' rozwiazuje algebraiczne zagadnienie wlasne \n",
      "    wykorzystujac trojpunktowa metode centralnych roznic skonczonych do przyblizenia \n",
      "    drugiej pochodnej.\n",
      "    \"\"\"\n",
      "    \n",
      "    # dyskretna siatka polozen, gdzie N - ilosc punktow siatki:\n",
      "    x = np.linspace(x_min, x_max, N)\n",
      "    \n",
      "    # krok dyskretnej siatki:\n",
      "    dx = (x_max - x_min) / (N - 1)\n",
      "    \n",
      "    # elementy na glownej diagonali macierzy trojdiagonalnej:\n",
      "    diagonal = 2.0 * np.ones(N) + dx * dx * rho(*args_rho) * potential(x, *args_potential)\n",
      "    # elementy na dwoch pozostalych diagonalach macierzy trojdiagonalnej:\n",
      "    diag_edge = -1.0 * np.ones(N - 1)\n",
      "    # tablica niezerowych element\u00f3w macierzy trojdiagonalnej:\n",
      "    tridiagonal = np.array([diag_edge, diagonal, diag_edge])\n",
      "    \n",
      "    # numery diagonali, gdzie 0 oznacza diagonale glowna, \n",
      "    # -1 -pierwsza diagonale dolna, 1 -pierwsza diagonale gorna:\n",
      "    offsets = [-1, 0, 1]\n",
      "    # macierz trojdiagonalna (hamiltonian) zapisana w postaci macierzy rzadkiej:\n",
      "    hamilton = sp.diags(tridiagonal, offsets)\n",
      "        \n",
      "    start = time()\n",
      "    \n",
      "    # wyznaczenie N_eigvals wartosci wlasnych i odpowiadajacych im wektorow wlasnych\n",
      "    eigvals, eigvecs = alg.eigsh(hamilton, k = N_eigvals, which = \"SM\", tol = 1.0E-4)\n",
      "    # Argument \"SM\" oznacza, \u017ce wyznaczone zostanie N_eigvals najmniejszych wartosci\n",
      "    # wlasnych i odpowiadajacych im wektorow wlasnych, a argument \"tol\" oznacza wzgledna \n",
      "    # dokladnosci, z jaka wyznaczone zostana wartosci wlasne.\n",
      "    \n",
      "    # !UWAGA! Argument 'eigvecs' stanowi macierz o 'N' wierszach i 'k' kolumnach,\n",
      "    # wiec i-ty wektor wlasny ma 'i' kolumn o dlugosci 'N'.\n",
      "    \n",
      "    print \"'alg.eigsh(...)' time: %.2fs\" % (time() - start)\n",
      "    \n",
      "    eigvals = eigvals / (dx * dx * rho(*args_rho))\n",
      "    \n",
      "    return eigvals, eigvecs"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 119
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "#EigenvalEigenvecProblem3(N, x_min, x_max, N_eigvals, potential, *args_potential)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "ename": "ArpackNoConvergence",
       "evalue": "ARPACK error -1: No convergence (2001 iterations, 8/9 eigenvectors converged)",
       "output_type": "pyerr",
       "traceback": [
        "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[1;31mArpackNoConvergence\u001b[0m                       Traceback (most recent call last)",
        "\u001b[1;32m<ipython-input-120-5fdd200808a6>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mEigenvalEigenvecProblem3\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mN\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mx_min\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mx_max\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mN_eigvals\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mpotential\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m*\u001b[0m\u001b[0margs_potential\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
        "\u001b[1;32m<ipython-input-119-08228dff131c>\u001b[0m in \u001b[0;36mEigenvalEigenvecProblem3\u001b[1;34m(N, x_min, x_max, N_eigvals, potential, *args_potential)\u001b[0m\n\u001b[0;32m     29\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     30\u001b[0m     \u001b[1;31m# wyznaczenie N_eigvals wartosci wlasnych i odpowiadajacych im wektorow wlasnych\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 31\u001b[1;33m     \u001b[0meigvals\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0meigvecs\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0malg\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0meigsh\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mhamilton\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mk\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mN_eigvals\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mwhich\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;34m\"SM\"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mtol\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;36m1.0E-4\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m     32\u001b[0m     \u001b[1;31m# Argument \"SM\" oznacza, \u017ce wyznaczone zostanie N_eigvals najmniejszych wartosci\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     33\u001b[0m     \u001b[1;31m# wlasnych i odpowiadajacych im wektorow wlasnych, a argument \"tol\" oznacza wzgledna\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
        "\u001b[1;32m/usr/local/lib/python2.7/dist-packages/scipy/sparse/linalg/eigen/arpack/arpack.pyc\u001b[0m in \u001b[0;36meigsh\u001b[1;34m(A, k, M, sigma, which, v0, ncv, maxiter, tol, return_eigenvectors, Minv, OPinv, mode)\u001b[0m\n\u001b[0;32m   1570\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1571\u001b[0m     \u001b[1;32mwhile\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[0mparams\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mconverged\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1572\u001b[1;33m         \u001b[0mparams\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0miterate\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m   1573\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1574\u001b[0m     \u001b[1;32mreturn\u001b[0m \u001b[0mparams\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mextract\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mreturn_eigenvectors\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
        "\u001b[1;32m/usr/local/lib/python2.7/dist-packages/scipy/sparse/linalg/eigen/arpack/arpack.pyc\u001b[0m in \u001b[0;36miterate\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m    562\u001b[0m                 \u001b[1;32mpass\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    563\u001b[0m             \u001b[1;32melif\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0minfo\u001b[0m \u001b[1;33m==\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 564\u001b[1;33m                 \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_raise_no_convergence\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    565\u001b[0m             \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    566\u001b[0m                 \u001b[1;32mraise\u001b[0m \u001b[0mArpackError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0minfo\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0minfodict\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0miterate_infodict\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
        "\u001b[1;32m/usr/local/lib/python2.7/dist-packages/scipy/sparse/linalg/eigen/arpack/arpack.pyc\u001b[0m in \u001b[0;36m_raise_no_convergence\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m    368\u001b[0m             \u001b[0mvec\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mzeros\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mn\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m0\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    369\u001b[0m             \u001b[0mk_ok\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;36m0\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 370\u001b[1;33m         \u001b[1;32mraise\u001b[0m \u001b[0mArpackNoConvergence\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mmsg\u001b[0m \u001b[1;33m%\u001b[0m \u001b[1;33m(\u001b[0m\u001b[0mnum_iter\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mk_ok\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mk\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mev\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mvec\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    371\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    372\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
        "\u001b[1;31mArpackNoConvergence\u001b[0m: ARPACK error -1: No convergence (2001 iterations, 8/9 eigenvectors converged)"
       ]
      }
     ],
     "prompt_number": 120
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# WYKRES ZALEZNOSCI ENERGII DLA KOLEJNYCH POZIOMOW ENERGETYCZNYCH:\n",
      "\n",
      "eigvals, eigvecs = EigenvalEigenvecProblem3(N, x_min, x_max, N_eigvals, potential, *args_potential)\n",
      "\n",
      "pl.plot(eigvals, \"o-\")"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "'alg.eigsh(...)' time: 0.29s\n"
       ]
      },
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 122,
       "text": [
        "[<matplotlib.lines.Line2D at 0xee07c8c>]"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\n",
       "text": [
        "<matplotlib.figure.Figure at 0xfc90aac>"
       ]
      }
     ],
     "prompt_number": 122
    },
    {
     "cell_type": "raw",
     "metadata": {},
     "source": [
      "Uwa\u017caj. 'alg.eigsh(...)' czasami daje funkcje odbite wzg. osi OY. Trzeba cierpliwie wywo\u0142a\u0107 kilka razy, \u017ceby da\u0142o ci poprawny wynik. Nie wiem czy to idzie naprawi\u0107:-P.."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "x = np.linspace(x_min, x_max, N)\n",
      "\n",
      "# WYKRES FUNKCJI FALOWEJ:\n",
      "\n",
      "pl.figure(figsize = (10, 6))\n",
      "\n",
      "shift = 0.6\n",
      "\n",
      "for idx in range(N_eigvals)[1:2]:\n",
      "    \n",
      "    psi = eigvecs[:,idx]\n",
      "    pl.plot(x, psi + idx * shift, label = \"$\\psi_{%d}(x)$\" % idx)\n",
      "    \n",
      "pl.legend(bbox_to_anchor=(1.16, 0.7))\n",
      "pl.xlabel(\"$x$\", {\"fontsize\": \"xx-large\"})\n",
      "pl.ylabel(\"$\\psi_i(x)$\", {\"fontsize\": \"xx-large\", \"rotation\": \"horizontal\"})\n",
      "pl.xlim(x_min, x_max)\n",
      "#pl.ylim(-shift, shift * N_eigvals)\n",
      "pl.xticks([x_min, 0.0, x_max], [\"$x_{min}$\", \"$0.0$\", \"$x_{max}$\"], size = 15)\n",
      "pl.yticks([])\n",
      "pl.show()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\n",
       "text": [
        "<matplotlib.figure.Figure at 0xfc9058c>"
       ]
      }
     ],
     "prompt_number": 123
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# WYKRES GESTOSCI PRAWDOPODOBIENSTWA:\n",
      "\n",
      "pl.figure(figsize = (10, 6))\n",
      "\n",
      "shift2 = shift**2\n",
      "\n",
      "for idx in range(N_eigvals)[3:4]:\n",
      "    \n",
      "    psi = eigvecs[:,idx]\n",
      "    pl.plot(x, psi**2 + idx * shift2, label = \"$P_{%d}(x)$\" % idx)\n",
      "    \n",
      "pl.legend(bbox_to_anchor=(1.16, 0.7))\n",
      "pl.xlabel(\"$x$\", {\"fontsize\": \"xx-large\"})\n",
      "pl.ylabel(\"$P_i(x)$\", {\"fontsize\": \"xx-large\", \"rotation\": \"horizontal\"})\n",
      "pl.xlim(x_min, x_max)\n",
      "#pl.ylim(-shift2, shift2 * N_eigvals)\n",
      "pl.xticks([x_min, 0.0, x_max], [\"$x_{min}$\", \"$0.0$\", \"$x_{max}$\"], size = 15)\n",
      "pl.yticks([])\n",
      "pl.show()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nAMTe/wNQgU5OyLd/ewAAAABJRU5ErkJggg==\n",
       "text": [
        "<matplotlib.figure.Figure at 0xb880b8c>"
       ]
      }
     ],
     "prompt_number": 207
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [],
     "language": "python",
     "metadata": {},
     "outputs": []
    }
   ],
   "metadata": {}
  }
 ]
}