{
 "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",
      "import math\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": 1
    },
    {
     "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",
      "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"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 2
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "x = np.linspace(-7.0, 7.0, 300)\n",
      "pl.plot(x, x ** 2)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 3,
       "text": [
        "[<matplotlib.lines.Line2D at 0xb568d8c>]"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nTkSuQmCC\n",
       "text": [
        "<matplotlib.figure.Figure at 0xb4e6cec>"
       ]
      }
     ],
     "prompt_number": 3
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# rozmiar macierzy pieciodiagonalnej:\n",
      "N = 1000\n",
      "    \n",
      "# konce bezwymiarowego przedzialu obustronnie domknietego [x_min,x_max]:\n",
      "x_min = -7.0\n",
      "x_max = 7.0\n",
      "\n",
      "# ilosc wartosci wlasnych i wektorow wlasnych, ktore chcemy wyznaczyc:\n",
      "N_eigvals = 4\n",
      "\n",
      "# wybor potencjalu:\n",
      "potential = harmonic\n",
      "# opcjonalne argumenty wybranego potencjalu:\n",
      "args_potential = ()\n",
      "\n",
      "# wybor parametru rho (odpowiedni dla danego potencjalu):\n",
      "#rho = rho_Konwent\n",
      "rho = rho_harmonic\n",
      "# opcjonalne argumety wejsciowe funkcji zwracajacej wartosc bezwymiarowej zmiennej rho\n",
      "args_rho = ()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 3
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "def EigenvalEigenvecProblem5(N, x_min, x_max, N_eigvals, potential, *args_potential):\n",
      "    \n",
      "    \"\"\"\n",
      "    funkcja 'EigenvalEigenvecProblem5' rozwiazuje algebraiczne zagadnienie wlasne \n",
      "    wykorzystujac pieciopunktowa 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 pentadiagonalnej:\n",
      "    diagonal = 30.0 * np.ones(N) + 12.0 * dx * dx * rho(*args_rho) * potential(x, *args_potential)\n",
      "    # elementy na pierwszych diagonalach macierzy pentadiagonalnej:\n",
      "    diag_edge1 = -16.0 * np.ones(N - 1)\n",
      "    # elementy na drugich diagonalach macierzy pentadiagonalnej:\n",
      "    diag_edge2 = 1.0 * np.ones(N - 2)\n",
      "    # tablica niezerowych element\u00f3w macierzy pentadiagonalnej:\n",
      "    pentadiagonal = np.array([diag_edge2, diag_edge1, diagonal, diag_edge1, diag_edge2])\n",
      "    \n",
      "    # numery diagonali, gdzie 0 oznacza diagonale glowna, \n",
      "    # -1 -pierwsza diagonale dolna, 1 -pierwsza diagonale gorna,\n",
      "    # -2 -druga diagonale dolna, 2 - druga diagonale gorna:\n",
      "    offsets = [-2, -1, 0, 1, 2]\n",
      "    # macierz trojdiagonalna (hamiltonian) zapisana w postaci macierzy rzadkiej:\n",
      "    hamilton = sp.diags(pentadiagonal, 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",
      "    # dokladnosc, 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 / (12.0 * dx * dx * rho(*args_rho))\n",
      "    \n",
      "    return eigvals, eigvecs"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 4
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# DYSKUSJA BLEDOW\n",
      "\n",
      "eigvals_a, eigvecs_a = EigenvalEigenvecProblem5(N, x_min, x_max, N_eigvals, potential, *args_potential)\n",
      "\n",
      "print eigvals_a\n",
      "\n",
      "N_list = range(100, 400, 100)\n",
      "measures = 5\n",
      "\n",
      "# blad wzgledny:\n",
      "time_list = []\n",
      "digits_list = []\n",
      "\n",
      "for N in N_list:\n",
      "    eigvals_num, eigvecs_num = EigenvalEigenvecProblem5(N, x_min, x_max, N_eigvals, potential, *args_potential)\n",
      "    \n",
      "    time_start = time()\n",
      "    for m in xrange(measures):\n",
      "        EigenvalEigenvecProblem5(N, x_min, x_max, N_eigvals, potential, *args_potential)\n",
      "    exec_time = (time() - time_start) / measures\n",
      "    \n",
      "    time_list.append( exec_time )\n",
      "    digits = [-math.log10( abs( (e_num - e_a) / e_a ) )\n",
      "                  for e_num, e_a in zip(eigvals_num, eigvals_a) ]\n",
      "    digits_list.append(digits)\n",
      "    \n",
      "for idx in xrange(N_eigvals):\n",
      "    \n",
      "    digit_data = [digit[idx] for digit in digits_list]\n",
      "    pl.plot(N_list, digit_data, \".-\", label = \"$\\widetilde{E}_{%d}$\" % idx)\n",
      "    \n",
      "pl.xlabel(\"$N_{}^2$\", {\"fontsize\": \"xx-large\"})\n",
      "pl.ylabel(\"$l_n$\", {\"fontsize\": \"xx-large\", \"rotation\": \"horizontal\"})\n",
      "pl.xlim(None,1000)\n",
      "pl.show()\n",
      "\n",
      "for idx in xrange(N_eigvals):\n",
      "    \n",
      "    digit_data = [digit[idx] for digit in digits_list]\n",
      "    pl.plot(time_list, digit_data, \".-\")\n",
      "    \n",
      "pl.xlabel(\"$t$\", {\"fontsize\": \"xx-large\"})\n",
      "pl.ylabel(\"$l_n$\", {\"fontsize\": \"xx-large\", \"rotation\": \"horizontal\"})\n",
      "#pl.xlim(None,1000)\n",
      "pl.show()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "[ 1.          2.99999999  4.99999998  6.99999996]\n"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\n",
       "text": [
        "<matplotlib.figure.Figure at 0x9b43dcc>"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nhHgBAAAAAElFTkSuQmCC\n",
       "text": [
        "<matplotlib.figure.Figure at 0x9b34d8c>"
       ]
      }
     ],
     "prompt_number": 5
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# WYKRES ZALEZNOSCI ENERGII DLA KOLEJNYCH POZIOMOW ENERGETYCZNYCH:\n",
      "\n",
      "N_eigvals = 4\n",
      "\n",
      "eigvals, eigvecs = EigenvalEigenvecProblem5(N, x_min, x_max, N_eigvals, potential, *args_potential)\n",
      "\n",
      "fig, ax1 = pl.subplots(figsize = (8, 5))\n",
      "ax1.set_yticklabels([])\n",
      "ax1.set_ylabel(\"$\\psi_n$\", {\"fontsize\": \"xx-large\", \"rotation\": \"horizontal\"})\n",
      "\n",
      "ax2 = ax1.twinx()\n",
      "\n",
      "num_x = len(eigvecs)\n",
      "dx = (x_max - x_min) / (num_x - 1) \n",
      "x_list = [x_min + i * dx for i in xrange(num_x)]\n",
      "print len(x_list)\n",
      "h_list = [potential(x_i) for x_i in x_list]\n",
      "ax2.plot(x_list, h_list, color = \"black\")\n",
      "\n",
      "#ax2.plot((eigvals), \"o-\")\n",
      "for i in xrange(N_eigvals):\n",
      "    ax2.plot([x_min, x_max], [eigvals[i],eigvals[i]], color = \"orange\")\n",
      "    ax2.plot(x_list, eigvecs[:,i] + eigvals[i], color = \"green\")\n",
      "#plt.savefig(\"num_har_E.png\")\n",
      "\n",
      "ax2.set_xticks([x_min, x_max])\n",
      "ax2.set_xticklabels([\"$x_{min}$\", \"$x_{max}$\"])\n",
      "ax2.set_xlim(x_min, x_max)\n",
      "ax2.set_yticks(eigvals)\n",
      "ax2.set_yticklabels([\"$n = %d$\" % i for i in range(0,len(eigvals))])\n",
      "ax2.set_ylim(None, eigvals[-1] + 1)\n",
      "\n",
      "pl.show()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "300\n"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\ns7N5ZUO6JRw6oEDHUEBBg0MIdKsYCijQMRRQ0GAoGJhbcsNsN6PD1oFWayvarG2wu+yiy5KlkpIS\nzJw5U3QZRF6jkCRJEl3E1RQKBWRWEgWIsrIyPPDAAzh16pToUnzK5XbhTMsZnG45jXOt53Cu9Ryq\n2qpwueOyJwRoVVqolWqoleqekOAwQwEFInWRSDQkIsmQhLSINGTGZXqWxPBEKBQK0T+ez5jNZsTF\nxaGtrQ0hISGiy6EA4422z+Fw4O2334bNZkN7ezteeumlmz5GPaoVEMnY1KlTUVNTg87OThiNRtHl\neE2dqQ6FlwpRXFeM4rpiHK0/iviweGTGZWJi9ERMi5+Gv5vydxgbMRax+lhE6aKgUWmuex67y45W\nayvqTfWo76rH+bbzqGyuxP+e+l9UNFWg29mNWcmzMDd1LualzMPslNmI1EUK+Il949ixY8jOzmYg\nIL/x2Wef4ZFHHkF0dDQeeOABHD58GLNnzx70MQwFFDTUajVuu+02HD16FHl5eaLLGTUdtg7su7QP\nBRcKsPv8btSb6rEobRFmJc/CxoUbMTNpJqJDo4f9vFqVFmPCx2BM+BjMwIzr7m80N+JwzWEU1RTh\ndwd+h5K6EqRHpWN5+nIsS1+GRWmLoNfoR+NHlIXi4mLk5uaKLoNoyE6fPo329nb88z//M9LT01FT\nU3PTUCC74QP7XxUwufvfdm0H5S3vKwa5z4uvdbPjb/W5KTh0u4FDNqDACuy2AGXdwBwdsFQPLNMD\nM0IAlYD/Gw4JOGID8i09y9FuIFcHLO+ta6agumhwkgS40btcvT3I8QPePthrDPP2kT7GnxyoBA5c\nNZL5+//FdcMHhYWF2Lp1KxYvXgwAKC8vx8aNG4f8GjabDW63G3q9HitWrMC7776L5OTkQR8ju56C\nkBeB6Cd/+Kvm2jdJuua/xK3c783nHu79w33sUCiuiRHXjv8Odv/NHqtWqqFRaqBRafptX71WK9X9\nbgtRhUCv0SNMGwa9Rt+zrem/Ha4NR1RoFKJ0UYgOjUZUaBSMIUYoFaMzJ3bTpk3Yvn07Pvnkk1F5\nPl9wS26UNpSi4EIBCi4U4ED1AUyOnYxlmcvw0vhlmJc6D6GaUNFlQgNgTu/yawBd9i7su7gPuy/s\nxuNV+ahrqkPeuDwsS1+GpeOXYlLMJL+ak5CRkYFt27YhKytrVJ7P6XaizdqGVmsrWq2taLe1o8ve\n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\nAABJRU5ErkJggg==\n",
       "text": [
        "<matplotlib.figure.Figure at 0x9e7170c>"
       ]
      }
     ],
     "prompt_number": 6
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "x = np.linspace(x_min, x_max, N)\n",
      "eigvals, eigvecs = EigenvalEigenvecProblem5(N, x_min, x_max, N_eigvals, potential, *args_potential)\n",
      "\n",
      "# WYKRES FUNKCJI FALOWEJ:\n",
      "\n",
      "fig, ax1 = pl.subplots()\n",
      "ax2 = ax1.twinx()\n",
      "\n",
      "#ax1.set_figure(figsize = (10, 6))\n",
      "\n",
      "\n",
      "for idx in range(N_eigvals)[0:4]:\n",
      "    \n",
      "    psi = eigvecs[:,idx]\n",
      "    ax2.plot(x, psi + eigvals[idx], label = \"$\\psi_{%d}(x)$\" % idx)\n",
      "    \n",
      "#pl.legend(bbox_to_anchor=(1.16, 0.7))\n",
      "ax1.set_ylabel(\"$\\psi_n(x)$\", {\"fontsize\": \"xx-large\", \"rotation\": \"horizontal\"})\n",
      "ax1.set_yticks([])\n",
      "ax2.set_xlabel(\"$x$\", {\"fontsize\": \"xx-large\"})\n",
      "ax2.set_xlim(x_min, x_max)\n",
      "#pl.ylim(-shift, shift * N_eigvals)\n",
      "ax2.set_xticklabels([x_min, x_max], [\"$x_{min}$\", \"$x_{max}$\"], size = 15)\n",
      "\n",
      "ax2.set_yticks(eigvals)\n",
      "ax2.set_yticklabels([\"$n = %d$\" % i for i in range(0,len(eigvals))])\n",
      "\n",
      "#plt.savefig(\"num_harr_psi3.png\")\n",
      "pl.show()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nMayIiEh4/weyQHdhaun66gAAAABJRU5ErkJggg==\n",
       "text": [
        "<matplotlib.figure.Figure at 0xcdd396c>"
       ]
      }
     ],
     "prompt_number": 92
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "x = np.linspace(x_min, x_max, N)\n",
      "eigvals, eigvecs = EigenvalEigenvecProblem5(N, x_min, x_max, N_eigvals, potential, *args_potential)\n",
      "\n",
      "\n",
      "# WYKRES FUNKCJI FALOWEJ:\n",
      "\n",
      "pl.figure(figsize = (10, 6))\n",
      "\n",
      "shift = 0.3\n",
      "\n",
      "for idx in range(N_eigvals)[0:3]:\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_n(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",
      "#plt.savefig(\"num_harr_psi3.png\")\n",
      "pl.show()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\n",
       "text": [
        "<matplotlib.figure.Figure at 0xcd808ec>"
       ]
      }
     ],
     "prompt_number": 9
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "pl.figure(figsize = (10, 6))\n",
      "x = np.linspace(-3.0, 9.0, 300)\n",
      "pl.ylim(0.0,2.0)\n",
      "#pl.xlim(0.0, 200.0)\n",
      "pl.plot(x, (1.0 - np.exp(-x)) ** 2)\n",
      "#plt.plot(np.exp(-2.0 * x) - 2.0 * np.exp(-x))"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 10,
       "text": [
        "[<matplotlib.lines.Line2D at 0xbcd582c>]"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\n13333aeLL75YF110kZKSkvS9733PdFmeU1paWnODXXJycr02LI/q7/TBgwerd+/eZx2rVq3SvHnz\nNGvWrJpz+Rfb2er6/E5fezFnzhw1b95ct956q8FK3Y8RS3RUVFRo+PDhevrpp9Wahx7W2+rVq9Wp\nUydlZGTwZ10DHT9+XFu3btWdd96prVu3KiEhoV7jFlg+/vhj/epXv1JhYaEOHDigiooK/eEPfzBd\nlqeFQqF6/Z0S8S6/hlqzZs05f/3DDz/Uvn37lJ6eLslqhffv31+bN29Wp06dolmCp9X1+Z20ZMkS\n5eTkaN26dQ5V5F312UMNkVVVVWnYsGEaNWqUhg4darocT9m4caNWrVqlnJwcHT16VF9//bVGjx5d\ns8UM6paamqrU1FRdeeWVkqThw4cTqBpgy5Yt+ud//md16NBBknTTTTdp48aNuu222wxX5i3Jycn6\n/PPP1blzZ3322Wf1yiqO9KJ79eql0tJS7du3T/v27VNqaqq2bt1KmGqA3NxcPfHEE1q5cqVatmxp\nuhzXq88eaqhbOBzW+PHj1aNHD02fPt10OZ4zd+5cFRUVad++fVq+fLmuu+46wlQ9de7cWWlpadqz\nZ48kae3aterZs6fhqryjW7duys/P15EjRxQOh7V27Vr16NHDdFmek52drRdeeEGS9MILL9TrH5VR\n7VDVF+OYhps6daoqKys1ePBgSdLAgQP129/+1nBV7lXXHmqonw0bNmjZsmXq06ePMjIyJFm3Yv/g\nBz8wXJk38Wdew/z617/WbbfdpsrKypptYlA/6enpGj16tAYMGKCYmBj169dPEydONF2Wq40cOVLr\n169XWVmZ0tLS9Mgjj+j+++/XzTffrN///vc12yacj+P7UAEAAPgNt58AAAA0EYEKAACgiQhUAAAA\nTUSgAgAAaCICFQAAQBMRqAAAAJro/wERsQL8ycUTjwAAAABJRU5ErkJggg==\n",
       "text": [
        "<matplotlib.figure.Figure at 0xbcd506c>"
       ]
      }
     ],
     "prompt_number": 10
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# WYKRES GESTOSCI PRAWDOPODOBIENSTWA:\n",
      "\n",
      "pl.figure(figsize = (10, 6))\n",
      "\n",
      "#shift2 = shift**2\n",
      "shift2 = 0.012\n",
      "\n",
      "for idx in range(N_eigvals)[0: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.savefig(\"num_harr_P3.png\")\n",
      "pl.show()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "ename": "ValueError",
       "evalue": "x and y must have same first dimension",
       "output_type": "pyerr",
       "traceback": [
        "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[1;31mValueError\u001b[0m                                Traceback (most recent call last)",
        "\u001b[1;32m<ipython-input-11-73ec2a18dac3>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m      9\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     10\u001b[0m     \u001b[0mpsi\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0meigvecs\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0midx\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 11\u001b[1;33m     \u001b[0mpl\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mx\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mpsi\u001b[0m\u001b[1;33m**\u001b[0m\u001b[1;36m2\u001b[0m \u001b[1;33m+\u001b[0m \u001b[0midx\u001b[0m \u001b[1;33m*\u001b[0m \u001b[0mshift2\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mlabel\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;34m\"$P_{%d}(x)$\"\u001b[0m \u001b[1;33m%\u001b[0m \u001b[0midx\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m     12\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     13\u001b[0m \u001b[0mpl\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mlegend\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mbbox_to_anchor\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m1.16\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m0.7\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
        "\u001b[1;32m/usr/lib/pymodules/python2.7/matplotlib/pyplot.pyc\u001b[0m in \u001b[0;36mplot\u001b[1;34m(*args, **kwargs)\u001b[0m\n\u001b[0;32m   2465\u001b[0m         \u001b[0max\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mhold\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mhold\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   2466\u001b[0m     \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 2467\u001b[1;33m         \u001b[0mret\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0max\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m   2468\u001b[0m         \u001b[0mdraw_if_interactive\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   2469\u001b[0m     \u001b[1;32mfinally\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
        "\u001b[1;32m/usr/lib/pymodules/python2.7/matplotlib/axes.pyc\u001b[0m in \u001b[0;36mplot\u001b[1;34m(self, *args, **kwargs)\u001b[0m\n\u001b[0;32m   3891\u001b[0m         \u001b[0mlines\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m[\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   3892\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 3893\u001b[1;33m         \u001b[1;32mfor\u001b[0m \u001b[0mline\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_get_lines\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\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   3894\u001b[0m             \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0madd_line\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mline\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   3895\u001b[0m             \u001b[0mlines\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mline\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
        "\u001b[1;32m/usr/lib/pymodules/python2.7/matplotlib/axes.pyc\u001b[0m in \u001b[0;36m_grab_next_args\u001b[1;34m(self, *args, **kwargs)\u001b[0m\n\u001b[0;32m    320\u001b[0m                 \u001b[1;32mreturn\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    321\u001b[0m             \u001b[1;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mremaining\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m<=\u001b[0m \u001b[1;36m3\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 322\u001b[1;33m                 \u001b[1;32mfor\u001b[0m \u001b[0mseg\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_plot_args\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mremaining\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mkwargs\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    323\u001b[0m                     \u001b[1;32myield\u001b[0m \u001b[0mseg\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    324\u001b[0m                 \u001b[1;32mreturn\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
        "\u001b[1;32m/usr/lib/pymodules/python2.7/matplotlib/axes.pyc\u001b[0m in \u001b[0;36m_plot_args\u001b[1;34m(self, tup, kwargs)\u001b[0m\n\u001b[0;32m    298\u001b[0m             \u001b[0mx\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0marange\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0my\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mshape\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdtype\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mfloat\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    299\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 300\u001b[1;33m         \u001b[0mx\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0my\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_xy_from_xy\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mx\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0my\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    301\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    302\u001b[0m         \u001b[1;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcommand\u001b[0m \u001b[1;33m==\u001b[0m \u001b[1;34m'plot'\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
        "\u001b[1;32m/usr/lib/pymodules/python2.7/matplotlib/axes.pyc\u001b[0m in \u001b[0;36m_xy_from_xy\u001b[1;34m(self, x, y)\u001b[0m\n\u001b[0;32m    238\u001b[0m         \u001b[0my\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0matleast_1d\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0my\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    239\u001b[0m         \u001b[1;32mif\u001b[0m \u001b[0mx\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mshape\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m!=\u001b[0m \u001b[0my\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mshape\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[1;32m--> 240\u001b[1;33m             \u001b[1;32mraise\u001b[0m \u001b[0mValueError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"x and y must have same first dimension\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    241\u001b[0m         \u001b[1;32mif\u001b[0m \u001b[0mx\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mndim\u001b[0m \u001b[1;33m>\u001b[0m \u001b[1;36m2\u001b[0m \u001b[1;32mor\u001b[0m \u001b[0my\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mndim\u001b[0m \u001b[1;33m>\u001b[0m \u001b[1;36m2\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    242\u001b[0m             \u001b[1;32mraise\u001b[0m \u001b[0mValueError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"x and y can be no greater than 2-D\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
        "\u001b[1;31mValueError\u001b[0m: x and y must have same first dimension"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\n59lhMvt3uddeey02b948HaNxHZP9u9fb2zv+mxG8V272mMz+DQ4Oxr/+9a/YsGFDrF69On79619P\n95hcw2T2r6OjIz799NNYsmRJtLS0xK9+9avpHpMpmGqzpCVz1juvmBn/yT588MEH8frrr8dHH310\nEydisiazd88991y89NJLUSqVoigK75abRSazf6Ojo3Ho0KF4//3348KFC7Fu3bp48MEHo6GhYRom\npJLJ7N+LL74Yq1atinK5HJ999lk88sgjcfjw4bjjjjumYUJuxFSaJS2svPNqbpvM/kVEHDlyJDo6\nOqKvr6/iLVSmz2T27uOPP4729vaI+OpB2j179kR1dfUVr09h+k1m/+rq6mLRokUxb968mDdvXjz8\n8MNx+PBhYTULTGb/9u3bFz//+c8jImLZsmVx7733xvHjx2P16tXTOiv/mSk3S8oTYEVRjI6OFvfd\nd19x8uTJ4osvvrjuw+v79+/38PMsMpn9++tf/1osW7as2L9//wxNydVMZu8u98Mf/rD4/e9/P40T\nUslk9u/YsWPFt771reLSpUvFv//976K5ubn49NNPZ2hiLjeZ/fvxj39cdHV1FUVRFH//+9+Lmpqa\n4p///OdMjMvXnDx5clIPr/8nzZJ2x8o7r+a2yezfCy+8EGfPnh1/Tqe6ujoGBgZmcmxicnvH7DWZ\n/WtsbIxNmzbFypUr47bbbouOjo5YsWLFDE9OxOT27/nnn48tW7ZES0tLfPnll/Hyyy/HwoULZ3hy\nnnzyyfjwww9jZGQk6urqoru7O0ZHRyPixpqlVBQetgAAyJD2rwIBAG51wgoAIImwAgBIIqwAAJII\nKwCAJMIKACDJ/wCmruOzjR1NoAAAAABJRU5ErkJggg==\n",
       "text": [
        "<matplotlib.figure.Figure at 0xbcd5c2c>"
       ]
      }
     ],
     "prompt_number": 11
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "g = lambda x: x**2\n",
      "x = 1\n",
      "result = %timeit -o g(x)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": []
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "aaa = 1\n",
      "b = print aaa"
     ],
     "language": "python",
     "metadata": {},
     "outputs": []
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "%timeit EigenvalEigenvecProblem5"
     ],
     "language": "python",
     "metadata": {},
     "outputs": []
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "%timeit EigenvalEigenvecProblem5(N, x_min, x_max, N_eigvals, potential, *args_potential)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": []
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "print eigvals\n",
      "print [\"n = %d\" % i for i in range(0,eigvals)]"
     ],
     "language": "python",
     "metadata": {},
     "outputs": []
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [],
     "language": "python",
     "metadata": {},
     "outputs": []
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [],
     "language": "python",
     "metadata": {},
     "outputs": []
    }
   ],
   "metadata": {}
  }
 ]
}