Created
June 23, 2015 17:39
-
-
Save xiangze/89f1bde5a9e145964b40 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"metadata": { | |
"name": "", | |
"signature": "sha256:5b9aa9939fa7a955d43c6f64847792d5f231b45531f6de21c4c7d2e3fab39c0b" | |
}, | |
"nbformat": 3, | |
"nbformat_minor": 0, | |
"worksheets": [ | |
{ | |
"cells": [ | |
{ | |
"cell_type": "heading", | |
"level": 1, | |
"metadata": {}, | |
"source": [ | |
"coupled Henon map" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"import numpy as np\n", | |
"%pylab inline\n", | |
"import pylab as plt " | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"stream": "stdout", | |
"text": [ | |
"Populating the interactive namespace from numpy and matplotlib\n" | |
] | |
} | |
], | |
"prompt_number": 5 | |
}, | |
{ | |
"cell_type": "heading", | |
"level": 2, | |
"metadata": {}, | |
"source": [ | |
"simple Henon map" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"http://mathworld.wolfram.com/HenonMap.html" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"def henon0(x,A,B=0.3):\n", | |
" return [1-A*x[0]**2+B*x[1], x[0]]\n", | |
"\n", | |
"def henon(num,x0,A=1.4,B=0.3):\n", | |
" xs=[x0]\n", | |
" for t in xrange(num):\n", | |
" xs.append(henon0(xs[-1],A,B))\n", | |
" return xs\n" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [], | |
"prompt_number": 1 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"xs=henon(1000,[0.3,0.3])" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [], | |
"prompt_number": 3 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"xt=zip(*xs)\n", | |
"plt.scatter(xt[0],xt[1])" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"metadata": {}, | |
"output_type": "pyout", | |
"prompt_number": 11, | |
"text": [ | |
"<matplotlib.collections.PathCollection at 0x94bda90>" | |
] | |
}, | |
{ | |
"metadata": {}, | |
"output_type": "display_data", | |
"png": "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\n", | |
"text": [ | |
"<matplotlib.figure.Figure at 0x93ddd30>" | |
] | |
} | |
], | |
"prompt_number": 11 | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"- http://journals.aps.org/prl/abstract/10.1103/PhysRevLett.110.220601\n", | |
"- http://journals.aps.org/prl/abstract/10.1103/PhysRevLett.86.2261" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"chaotic saddles?" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"def henon0(x,A,B=0.3):\n", | |
" return [A-x[0]**2+B*x[1], x[0]]\n", | |
"\n", | |
"def henon(num,x0,A,B=0.3,k=0.4):\n", | |
" xs=[x0]\n", | |
" for t in xrange(num):\n", | |
"# print xs[-1]\n", | |
" xs.append(henon0(xs[-1],A,B))\n", | |
" return xs" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [], | |
"prompt_number": 103 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"xs=henon(12000,[.2,.3],A=1)" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [], | |
"prompt_number": 99 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"#plt.plot(xs)\n", | |
"xt=zip(*xs)\n", | |
"plt.scatter(xt[0],xt[1])" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"metadata": {}, | |
"output_type": "pyout", | |
"prompt_number": 100, | |
"text": [ | |
"<matplotlib.collections.PathCollection at 0x57a8b30>" | |
] | |
}, | |
{ | |
"metadata": {}, | |
"output_type": "display_data", | |
"png": "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\n+PNARG22y6QAAAAASUVORK5CYII=\n", | |
"text": [ | |
"<matplotlib.figure.Figure at 0x56fff70>" | |
] | |
} | |
], | |
"prompt_number": 100 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"xs=henon(120,[.2,.3],A=3)" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"ename": "OverflowError", | |
"evalue": "(34, 'Result too large')", | |
"output_type": "pyerr", | |
"traceback": [ | |
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[1;31mOverflowError\u001b[0m Traceback (most recent call last)", | |
"\u001b[1;32m<ipython-input-102-23fdece61108>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mxs\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mhenon\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m120\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m.2\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;36m.3\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mA\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[0m", | |
"\u001b[1;32m<ipython-input-93-4fb59f45e1c8>\u001b[0m in \u001b[0;36mhenon\u001b[1;34m(num, x0, A, B, k)\u001b[0m\n\u001b[0;32m 6\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mt\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mxrange\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mnum\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 7\u001b[0m \u001b[1;31m# print xs[-1]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 8\u001b[1;33m \u001b[0mxs\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mhenon0\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mxs\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;33m-\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mA\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mB\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 9\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mxs\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", | |
"\u001b[1;32m<ipython-input-93-4fb59f45e1c8>\u001b[0m in \u001b[0;36mhenon0\u001b[1;34m(x, A, B)\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mhenon0\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mx\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mA\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mB\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;36m0.3\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 2\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[1;33m[\u001b[0m\u001b[0mA\u001b[0m\u001b[1;33m-\u001b[0m\u001b[0mx\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m**\u001b[0m\u001b[1;36m2\u001b[0m\u001b[1;33m+\u001b[0m\u001b[0mB\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0mx\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mx\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[0m\u001b[0;32m 3\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mhenon\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mnum\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mx0\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mA\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mB\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;36m0.3\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mk\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;36m0.4\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 5\u001b[0m \u001b[0mxs\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mx0\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", | |
"\u001b[1;31mOverflowError\u001b[0m: (34, 'Result too large')" | |
] | |
} | |
], | |
"prompt_number": 102 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"def henons0(x,A,B=0.3,k=0.4):\n", | |
" x=x+[(1.0,1.0)]\n", | |
" return [ (a-x[i][0]**2+B*x[i][1]+k*(x[i][0]-x[i+1][0]) , x[i][0]) for i,a in enumerate(A)]\n", | |
"\n", | |
"def henons(num,x0,A,B=0.3,k=0.4):\n", | |
" xs=[x0]\n", | |
" for t in xrange(num):\n", | |
" xs.append(henons0(xs[-1],A,B,k))\n", | |
" return xs" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [], | |
"prompt_number": 72 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"N=10\n", | |
"As=[ 3+2*float(i)/(N-1) for i in range(N)]" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [], | |
"prompt_number": 63 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"x0=np.random.uniform(size=N)*8-4\n", | |
"x0=zip(*[list(x0),[0]*N])\n", | |
"x0" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"metadata": {}, | |
"output_type": "pyout", | |
"prompt_number": 70, | |
"text": [ | |
"[(-3.9145261273312189, 0),\n", | |
" (-3.3603376221503254, 0),\n", | |
" (-1.6720062245752274, 0),\n", | |
" (-0.34362056861455326, 0),\n", | |
" (-1.2681034153947941, 0),\n", | |
" (-3.4428537265410659, 0),\n", | |
" (-2.372437539048903, 0),\n", | |
" (0.84504601641076071, 0),\n", | |
" (-0.43343543293378595, 0),\n", | |
" (0.96905760701506427, 0)]" | |
] | |
} | |
], | |
"prompt_number": 70 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"xss=henons(12,x0,As)" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"stream": "stderr", | |
"text": [ | |
"-c:3: RuntimeWarning: overflow encountered in double_scalars\n", | |
"-c:3: RuntimeWarning: invalid value encountered in double_scalars\n" | |
] | |
} | |
], | |
"prompt_number": 73 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [] | |
} | |
], | |
"metadata": {} | |
} | |
] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment