{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"-----\n",
"### TOC\n",
"\n",
"\n",
"* [NumpyOPT](#numpyopt)\n",
"* [Differential Evolution](#evo)\n"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# This line configures matplotlib to show figures embedded in the notebook, \n",
"# instead of opening a new window for each figure. More about that later. \n",
"# If you are using an old version of IPython, try using '%pylab inline' instead.\n",
"%matplotlib inline\n",
"%load_ext snakeviz\n",
"\n",
"import numpy as np\n",
"from scipy.optimize import minimize\n",
"from scipy.optimize import rosen, differential_evolution\n",
"from scipy.special import expit\n",
"import matplotlib.pyplot as plt\n",
"import scipy\n",
"\n",
"from matplotlib.lines import Line2D\n",
"\n",
"import timeit\n",
"\n",
"import pandas as pd\n",
"\n",
"import plotly.plotly as py\n",
"from plotly.graph_objs import *\n",
"import plotly.tools as tls"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# Here are the initial values\n",
"\n",
"\n",
"# For test use\n",
"array12 = np.asarray(np.split(np.random.rand(1,60)[0],12))"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# Here is the activation function\n",
"\n",
"def act(x):\n",
" return expit(x)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# Density matrix in the forms that I wrote down on my Neutrino Physics notebook\n",
"# x is a real array of 12 arrays.\n",
"\n",
"init = np.array([1.0,0.0,0.0,0.0])\n",
"\n",
"def rho(x,ti,initialCondition):\n",
" \n",
" elem = np.ones(4)\n",
" \n",
" for i in np.linspace(0,3,4):\n",
" elem[i] = np.sum(ti*x[i*3]*act(ti*x[i*3+1] + x[i*3+2]) )\n",
" \n",
" return init + elem "
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"array([ 1., 0., 0., 0.])"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"rho(array12,0,init)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[-0.41614684 0.90929743 0.90929743 -0.41614684]\n"
]
}
],
"source": [
"# Hamiltonian of the problem, in terms of four real components\n",
"\n",
"hamil = np.array( [ np.cos(2.0),np.sin(2.0) , np.sin(2.0),np.cos(2.0) ] )\n",
"#hamil = 1.0/2*np.array( [ -np.cos(2.0),np.sin(2.0) , np.sin(2.0),np.cos(2.0) ] )\n",
"print hamil"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# Cost function for each time step\n",
"\n",
"def rhop(x,ti,initialCondition):\n",
" \n",
" rhoprime = np.zeros(4)\n",
" \n",
" for i in np.linspace(0,3,4):\n",
" rhoprime[i] = np.sum(x[i*3] * (act(ti*x[i*3+1] + x[i*3+2]) ) ) + np.sum( ti*x[i*3]* (act(ti*x[i*3+1] + x[i*3+2]) ) * (1.0 - (act(ti*x[i*3+1] + x[i*3+2]) ) )* x[i*3+1] )\n",
" \n",
" return rhoprime\n",
"\n",
"\n",
"\n",
"## This is the regularization\n",
"\n",
"regularization = 0.0001\n",
"\n",
"def costi(x,ti,initialCondition):\n",
" \n",
" rhoi = rho(x,ti,initialCondition)\n",
" rhopi = rhop(x,ti,initialCondition)\n",
" \n",
" costTemp = np.zeros(4)\n",
" \n",
" costTemp[0] = ( rhopi[0] - 2.0*rhoi[3]*hamil[1] )**2\n",
" costTemp[1] = ( rhopi[1] + 2.0*rhoi[3]*hamil[1] )**2\n",
" costTemp[2] = ( rhopi[2] - 2.0*rhoi[3]*hamil[0] )**2\n",
" costTemp[3] = ( rhopi[3] + 2.0*rhoi[2]*hamil[0] - hamil[1] * (rhoi[1] - rhoi[0] ) )**2\n",
" \n",
" return np.sum(costTemp)# + 2.0*(rhoi[0]+rhoi[1]-1.0)**2\n",
"\n",
" \n",
"# return np.sum(costTemp) + regularization*np.sum(x**2)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"15.207712841852992"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"costi(array12,0,init)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def cost(x,t,initialCondition):\n",
" \n",
" costTotal = map(lambda t: costi(x,t,initialCondition),t)\n",
" \n",
" return 0.5*np.sum(costTotal)"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"91.171908432261404"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"cost(array12,np.array([0,1,2]),init)\n",
"#cost(xresult,np.array([0,4,11]),init)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"-----\n",
"## NUMPY OPT"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false,
"scrolled": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"29.0142710209\n",
" status: 9\n",
" success: False\n",
" njev: 101\n",
" nfev: 6309\n",
" fun: 0.54986503002143661\n",
" x: array([-8.92058678, -0.13492851, -3.10941404, 2.19527238, -0.15759464,\n",
" -1.55261971, 1.60513912, -0.31253223, -1.75685996, -4.0134798 ,\n",
" -1.44660797, -1.40727698, 2.34579259, -1.4181895 , -1.20672898,\n",
" 1.63251151, -2.1915661 , -2.01251504, 1.68690961, 1.27759708,\n",
" 0.44283011, -1.56722276, 1.23812704, -0.69068384, -1.90243599,\n",
" -0.53131647, 0.53973357, 1.07152732, 1.03052607, 2.07195604,\n",
" 1.00096812, -2.20206403, 2.41427559, -0.25938366, 0.59837747,\n",
" -2.39353717, -0.59077064, -0.41344543, -2.0255061 , -0.87488353,\n",
" 0.42200697, 1.71708869, -0.13074538, -0.28937053, -0.21290055,\n",
" -0.82239556, 1.83856369, -1.42455788, 0.25667742, -2.35525549,\n",
" -1.97730218, -0.11343628, 0.78372443, 0.89597664, 1.06860755,\n",
" 1.85481695, 1.36804639, -2.16455287, -0.42619305, -1.76387092])\n",
" message: 'Iteration limit exceeded'\n",
" jac: array([ 0.00025084, -0.00299339, -0.00226416, -0.00105266, -0.00668124,\n",
" -0.0025664 , -0.0012297 , -0.00267243, -0.00213507, 0.00186877,\n",
" -0.00875118, -0.00752775, 0. , 0. , 0. ,\n",
" 0. , 0. , 0. , 0. , 0. ,\n",
" 0. , 0. , 0. , 0. , 0. ,\n",
" 0. , 0. , 0. , 0. , 0. ,\n",
" 0. , 0. , 0. , 0. , 0. ,\n",
" 0. , 0. , 0. , 0. , 0. ,\n",
" 0. , 0. , 0. , 0. , 0. ,\n",
" 0. , 0. , 0. , 0. , 0. ,\n",
" 0. , 0. , 0. , 0. , 0. ,\n",
" 0. , 0. , 0. , 0. , 0. , 0. ])\n",
" nit: 101\n"
]
}
],
"source": [
"# with ramdom initial guess. TO make it more viable, I used (-5,5)\n",
"\n",
"initGuess = np.asarray(np.split( 5.0*(np.random.rand(1,60)[0] - 0.5),12))\n",
"#initGuess = np.split(np.zeros(60),12)\n",
"endpoint = 4\n",
"tlin = np.linspace(0,endpoint,11)\n",
"\n",
"costF = lambda x: cost(x,tlin,init)\n",
"\n",
"start = timeit.default_timer()\n",
"costvFResult = minimize(costF,initGuess,method=\"SLSQP\",tol=1e-20)\n",
"stop = timeit.default_timer()\n",
"\n",
"print stop - start\n",
"\n",
"print costvFResult"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"- **Should think about the eps(stepsize)**"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"scrolled": false
},
"outputs": [],
"source": [
"xmid = costvFResult.get(\"x\")\n",
"\n",
"start = timeit.default_timer()\n",
"#costvFResult = minimize(costF,xmid,method=\"SLSQP\",tol=1e-30,options={\"ftol\":1e-30,\"maxiter\":100000})\n",
"costvFResult = minimize(costF,xmid,method='Nelder-Mead',tol=1e-15,options={\"ftol\":1e-15, \"maxfev\": 10000000,\"maxiter\":1000000})\n",
"stop = timeit.default_timer()\n",
"\n",
"print stop - start\n",
"\n",
"print costvFResult"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [],
"source": [
"xresult = costvFResult.get(\"x\")\n",
"#xresult = np.array([-0.01486401, 2.25493868, -1.84543911, -0.07335087, 2.2548026 ,\n",
"# -1.84421662, 0.10454078, -1.64040244, 2.99923129, 0.01486399,\n",
"# 2.2549433 , -1.84544286, 0.61994826, 0.96756294, 0.60929092,\n",
"# 0.23839364, 0.45364599, 0.18426882, 0.30242425, 0.96719724,\n",
"# 0.13016584, 0.9192801 , 0.116001 , 0.46777053, 0.17497595,\n",
"# 0.96035958, 0.21763616, 0.73997804, 0.88071662, 0.1620245 ,\n",
"# 0.66904538, 0.66084959, 0.89772078, 0.49020208, 0.67802378,\n",
"# 0.53307714, 0.59867975, 0.16864478, 0.4257949 , 0.5364126 ,\n",
"# 0.78476644, 0.4910997 , 0.834945 , 0.45061367, 0.16736545,\n",
"# 0.42579168, 0.16877594, 0.98282177, 0.08852038, 0.12633737,\n",
"# 0.50922379, 0.93146299, 0.66505978, 0.33157336, 0.05408186,\n",
"# 0.04504323, 0.27311737, 0.27651656, 0.47313653, 0.12806564])\n",
"#xresult = np.array([-1.37886409, 2.81454922, -0.3571002 , 0.02582831, -1.05414931,\n",
"# -1.52308153, -2.24747468, 0.33947049, -0.32310112, -1.43887103,\n",
"# 0.81176258, 0.05139705, -1.02669705, -0.97236805, -0.27536667,\n",
"# 0.34860447, -1.06962772, 0.89978175, 2.39662887, -1.45165477,\n",
"# -1.54636469, -2.79921374, -1.30335793, -0.62844367, -3.04440811,\n",
"# -2.74566393, -2.16222918, -1.60535643, -0.77298204, 0.13848754,\n",
"# -0.36544212, 1.23901581, -0.80586367, -0.30212561, -1.02818302,\n",
"# -2.82928373, -0.80776632, -2.90056107, -2.42432246, -2.87572658,\n",
"# -0.8645904 , -0.59526987, -1.87029203, -1.60957508, -1.83106839,\n",
"# 1.07020356, -0.84892132, -0.97053555, -0.2005098 , -0.72422578,\n",
"# -3.32948549, -4.99349947, -3.46242765, -3.52481528, -3.36820222,\n",
"# -4.1848837 , -1.90748847, -2.09206645, -4.10831718, 2.76094325])\n",
"\n",
"print xresult"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"rho(xresult,2,init)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"plttlin=np.linspace(0,endpoint,100)\n",
"pltdata11 = np.array([])\n",
"for i in plttlin:\n",
" pltdata11 = np.append(pltdata11 ,rho(xresult,i,init)[0] )\n",
" \n",
"print pltdata11"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"scrolled": false
},
"outputs": [],
"source": [
"#MMA_optmize_Vac_pltdata = np.genfromtxt('./assets/homogen/MMA_optmize_Vac_pltdata.txt', delimiter = ',')\n",
"\n",
"plt.figure(figsize=(16,9.36))\n",
"plt.ylabel('P')\n",
"plt.xlabel('Time')\n",
"#plt.plot(np.linspace(0,15,4501),MMA_optmize_Vac_pltdata,\"r-\",label=\"MMAVacrho11\")\n",
"plt.plot(np.linspace(0,2,10),1-(np.sin(2.0)**2)*(np.sin(0.5*np.linspace(0,2,10)) )**2,\"r-\")\n",
"plt.plot(plttlin,pltdata11,\"b4-\",label=\"vac_rho11\")\n",
"plt.show()\n",
"#py.iplot_mpl(plt.gcf(),filename=\"MMA-rho11-Vac-80-60\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.15.1\n"
]
}
],
"source": [
"print scipy.__version__"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"\n",
"-----\n",
"## Test Differential Evolution"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"11998.9440718\n",
" nfev: 1701061\n",
" success: True\n",
" fun: 0.50220275532735592\n",
" x: array([-0.38533032, -1.64831529, 4.38168257, 0.38533177, -1.64830245,\n",
" 4.38164573, 0.2341858 , -1.24310539, 2.7120793 , -1.17805166,\n",
" -2.02416497, 0.58760437, -1.3433545 , -0.83102552, -1.87713645,\n",
" 1.56420419, 4.00351989, 1.59243772, 0.21001786, -3.2407917 ,\n",
" -0.21969595, -1.73653359, -0.20812335, -2.54570885, -2.22593135,\n",
" -1.29257834, 3.92793899, -2.36899476, 4.07210649, 2.49986995,\n",
" 1.79095183, 2.27666122, -4.01403399, 2.6457365 , -2.00015276,\n",
" -2.41416953, -0.86537594, 2.60821781, -3.30716236, -2.00846314,\n",
" 0.5856739 , -1.31974757, 4.97549085, 0.85912326, 0.16231823,\n",
" 4.78895253, -0.894443 , -3.69719569, 0.49323922, 2.90520738,\n",
" -1.49061519, 0.28778316, 1.9116826 , -4.82550174, -3.78757261,\n",
" 1.78348816, -2.56329151, -3.4732061 , 2.09031887, 0.17996168])\n",
" message: 'Optimization terminated successfully.'\n",
" nit: 1889\n"
]
}
],
"source": [
"# with ramdom initial guess\n",
"%%snakeviz\n",
"\n",
"devoendpoint = 2\n",
"devotlin = np.linspace(0,devoendpoint,11)\n",
"\n",
"devocostF = lambda x: cost(x,devotlin,init)\n",
"\n",
"bounds=np.zeros([3*4*5,2])\n",
"for i in range(3*4*5):\n",
" bounds[i,0]=-5\n",
" bounds[i,1]=5\n",
"#print bounds\n",
"\n",
"startdevo = timeit.default_timer()\n",
"devo = differential_evolution(devocostF,bounds,strategy='best1bin',tol=1e-10,maxiter=10000,polish=True)\n",
"stopdevo = timeit.default_timer()\n",
"\n",
"print stopdevo - startdevo\n",
"\n",
"print devo\n"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"7.17289209366\n",
" nfev: 1861\n",
" success: True\n",
" fun: 0.50220275532735592\n",
" x: array([ 1.24025196, -1.88835977, 4.12070508, 3.11592914, 4.42746631,\n",
" -4.19707414, 3.41163435, 0.39575733, -1.36370922, 0.10272485,\n",
" -2.50074836, -0.87324897, 2.5963044 , 4.9221439 , 3.10923979,\n",
" 3.94014244, -4.62658608, -1.89053953, -2.26800682, -3.20219453,\n",
" 2.64633316, 2.66767086, 4.1280028 , 1.2258348 , 1.24287907,\n",
" 4.58866753, -0.45173114, -1.03266506, -0.16861406, 1.93959417,\n",
" -0.96305919, -4.15124674, 3.31256891, -0.26546418, 1.66579996,\n",
" -4.49053607, -0.82588613, 2.02271267, -4.28116946, 3.91625742,\n",
" -1.35224539, -3.730362 , 4.52091474, 3.26261582, 3.07828013,\n",
" -2.58320648, 0.9280175 , 4.66541153, 4.14676708, 0.62891694,\n",
" -4.81911323, 2.70865828, 1.01728352, -4.96619298, 0.70850557,\n",
" 2.2863048 , 2.16242189, 2.20548228, 0.70093172, -4.88308632])\n",
" message: 'Optimization terminated successfully.'\n",
" nit: 1\n"
]
}
],
"source": [
"devoxmid = devo.x\n",
"\n",
"devocostFmid = lambda x: cost(devoxmid,devotlin,init)\n",
"\n",
"\n",
"startdevo = timeit.default_timer()\n",
"devo = differential_evolution(devocostFmid,bounds,strategy='best1bin',tol=1e-10,maxiter=10000,polish=True)\n",
"stopdevo = timeit.default_timer()\n",
"\n",
"print stopdevo - startdevo\n",
"\n",
"print devo"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"devoxresult=devo.get(\"x\")"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[ 1. 1.02464006 1.04924836 1.0738231 1.09836243 1.12286438\n",
" 1.14732688 1.17174779 1.19612485 1.2204557 1.24473788 1.2689688\n",
" 1.29314577 1.31726596 1.34132643 1.36532411 1.38925577 1.41311807\n",
" 1.43690751 1.46062044 1.48425305 1.50780138 1.53126131 1.55462852\n",
" 1.57789856 1.60106676 1.62412828 1.64707808 1.66991095 1.69262145\n",
" 1.71520394 1.73765259 1.75996132 1.78212387 1.80413371 1.82598413\n",
" 1.84766816 1.86917859 1.890508 1.91164869 1.93259274 1.953332\n",
" 1.97385804 1.9941622 2.01423557 2.03406899 2.05365307 2.07297816\n",
" 2.09203437 2.11081158 2.12929944 2.14748738 2.16536459 2.18292007\n",
" 2.20014261 2.21702082 2.23354313 2.2496978 2.26547295 2.28085656\n",
" 2.2958365 2.31040055 2.32453642 2.33823177 2.35147422 2.36425142\n",
" 2.37655103 2.38836078 2.39966849 2.41046211 2.42072975 2.43045971\n",
" 2.43964053 2.44826103 2.45631032 2.46377789 2.47065362 2.47692783\n",
" 2.48259131 2.48763538 2.49205196 2.49583354 2.49897329 2.50146509\n",
" 2.50330352 2.50448398 2.50500268 2.50485668 2.50404394 2.50256332\n",
" 2.50041466 2.49759878 2.49411749 2.48997363 2.48517107 2.47971475\n",
" 2.47361065 2.46686584 2.45948841 2.45148755]\n"
]
}
],
"source": [
"devoplttlin=np.linspace(0,devoendpoint,100)\n",
"devopltdata11 = np.array([])\n",
"for i in devoplttlin:\n",
" devopltdata11 = np.append(devopltdata11 ,rho(devoxresult,i,init)[0] )\n",
" \n",
"print devopltdata11"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": [
"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\n",
"fzv3uJmiDJ5oAAAAAElFTkSuQmCC\n"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(16,9.36))\n",
"plt.ylabel('MMArho11')\n",
"plt.xlabel('Time')\n",
"plt.plot(devoplttlin,1-(np.sin(2.0)**2)*(np.sin(0.5*devoplttlin) )**2)\n",
"plt.plot(devoplttlin,devopltdata11,\"b4-\",label=\"devo_vac_rho11\")\n",
"plt.show()\n",
"#py.iplot_mpl(plt.gcf(),filename=\"MMA-rho11-Vac-80-60\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"scrolled": false
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"print scipy.__version__"
]
},
{
"cell_type": "code",
"execution_count": 80,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[-0.95067917 -0.09074367 -4.82398457 -0.7615439 -0.27515522]\n",
" [-3.33365998 -1.4162127 -2.8632105 -2.7298333 -0.62978916]\n",
" [-2.52407383 -2.57476616 -4.88282221 -4.65025538 -1.49872754]\n",
" [-3.15147754 -0.06354641 -2.3908632 -0.86447528 -2.33229558]\n",
" [-0.5739389 -4.61810188 -0.13228954 -2.58397247 -4.33343592]\n",
" [-4.83035004 -3.06425551 -0.45936255 -2.91194388 -2.87745423]\n",
" [-3.93824244 -2.08182497 -3.05850129 -1.92361242 -3.81654995]\n",
" [-4.19771673 -0.53177727 -3.9155934 -0.04361043 -4.73211585]\n",
" [-3.68483106 -1.71179777 -1.13691215 -4.794143 -0.47377443]\n",
" [-3.66788546 -2.8080668 -0.33475682 -4.81757391 -1.18803969]\n",
" [-3.05637085 -3.98693405 -1.00737055 -2.01300012 -4.43150289]\n",
" [-2.6875922 -4.52969243 -0.0724917 -3.63840275 -0.79722408]]\n"
]
}
],
"source": [
"print initGuess"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"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.6"
}
},
"nbformat": 4,
"nbformat_minor": 0
}