Created
December 16, 2020 20:19
-
-
Save arsenovic/a9fa9412f2da63fd734e294b9d039013 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
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 60, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 432x288 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"from clifford import Cl,MVArray\n", | |
"from pylab import * \n", | |
"\n", | |
"# make a hyperbolic space \n", | |
"l,b = Cl(2,1)\n", | |
"locals().update(b)\n", | |
"\n", | |
"# up/down projections \n", | |
"up = lambda x: x^e3 \n", | |
"down = lambda X: -(X*e3)\n", | |
"\n", | |
"# quick sanity check \n", | |
"z = l.randomV()(e12)\n", | |
"assert(down(up(z))==z)\n", | |
"\n", | |
"\n", | |
"# make a circle \n", | |
"x = []\n", | |
"for theta in linspace(0,pi,101):\n", | |
" R = e**(theta*e12)\n", | |
" x.append( R*e1*~R)\n", | |
"\n", | |
"# here is ourspinor \n", | |
"S = .8*e**(.1*e13 +.7*e23+.2*e12)\n", | |
"\n", | |
"# up project x, apply spinor S, downproject\n", | |
"y=[]\n", | |
"for k in x:\n", | |
" y.append(down(S*up(k)*~S))\n", | |
"\n", | |
"#plot it \n", | |
"def plotit(z,**kw):\n", | |
" out = np.array([[k[e1],k[e2]] for k in z])\n", | |
" plot(out[:,0],out[:,1],**kw)\n", | |
" axis('equal')\n", | |
"\n", | |
"\n", | |
"plotit(x)\n", | |
"plotit(y)\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Python 3", | |
"language": "python", | |
"name": "python3" | |
}, | |
"language_info": { | |
"codemirror_mode": { | |
"name": "ipython", | |
"version": 3 | |
}, | |
"file_extension": ".py", | |
"mimetype": "text/x-python", | |
"name": "python", | |
"nbconvert_exporter": "python", | |
"pygments_lexer": "ipython3", | |
"version": "3.7.3" | |
}, | |
"toc": { | |
"nav_menu": {}, | |
"number_sections": true, | |
"sideBar": true, | |
"skip_h1_title": false, | |
"toc_cell": false, | |
"toc_position": {}, | |
"toc_section_display": "block", | |
"toc_window_display": false | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 4 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment