##// END OF EJS Templates
add '/' separator to keys in SSH engine dict...
add '/' separator to keys in SSH engine dict to prevent confusing with number-ending nodenames in log output.

File last commit:

r4637:d919e2ec
r5181:79a50b94
Show More
basic_quantum.ipynb
281 lines | 30.8 KiB | text/plain | TextLexer
Brian E. Granger
Converting notebooks to JSON format.
r4634 {
"worksheets": [
{
"cells": [
{
"source": "<h1>Basic Symbolic Quantum Mechanics</h1>",
"cell_type": "markdown"
},
{
"cell_type": "code",
"language": "python",
"outputs": [],
"collapsed": true,
"prompt_number": 18,
"input": "%load_ext sympyprinting"
},
{
"cell_type": "code",
"language": "python",
"outputs": [],
"collapsed": true,
"prompt_number": 19,
"input": "from sympy import sqrt, symbols, Rational\nfrom sympy import expand, Eq, Symbol, simplify, exp, sin\nfrom sympy.physics.quantum import *\nfrom sympy.physics.quantum.qubit import *\nfrom sympy.physics.quantum.gate import *\nfrom sympy.physics.quantum.grover import *\nfrom sympy.physics.quantum.qft import QFT, IQFT, Fourier\nfrom sympy.physics.quantum.circuitplot import circuit_plot"
},
{
"source": "<h2>Bras and Kets</h2>",
"cell_type": "markdown"
},
{
"source": "Create symbolic states",
"cell_type": "markdown"
},
{
"cell_type": "code",
"language": "python",
"outputs": [],
"collapsed": true,
"prompt_number": 20,
"input": "phi, psi = Ket('phi'), Ket('psi')\nalpha, beta = symbols('alpha beta', complex=True)"
},
{
"source": "Create a superposition",
"cell_type": "markdown"
},
{
"cell_type": "code",
"language": "python",
"outputs": [
{
"output_type": "pyout",
"latex": "$$\\alpha {\\left|\\psi\\right\\rangle } + \\beta {\\left|\\phi\\right\\rangle }$$",
"prompt_number": 21,
"png": "iVBORw0KGgoAAAANSUhEUgAAAF8AAAAXCAYAAABtR5P0AAAABHNCSVQICAgIfAhkiAAABHBJREFU\naIHt2VmsXWMUB/Dfvb0dqBYtjZCrWvdBOiDVlmpTLTW0UiSGkHjRpoZETSUkTQyJseaIGzFUESXE\nA0rwwJWK4UE0SjwgaFNqnkra4PKw9s7Zd9+99z2nd0By/y/nfGt9a531/771rW/tfRjE/xL3Y8y/\nHUQ/o185NvfCdjSGNTD/JgzNyS7HhF7E0FeYhnYR41pciyaNcbwUB+RklfxaGgyyNxiJP3Kyp7Ac\nVwxgHHksxV+4WMTXjC/wSYN+2vB5TlbJrzeZ3wjG4tsC+SbsgVG99D9tJ+2Ow59Yo5YYnfgNhzXg\np1lsYB6V/AZq8Y9CR4luNZb00v8dO2EzCvPxSE4+XmTx2w34mor3S3Sl/AZq8WcoJ/MWZg5gLCnO\nwmMF8hvxiigZ9WKu8uQq5VdU8ycmgbViHL7Glfgl0Tfh7wK7YTgPR2IDbsnohqod69vFxXRqRr8O\ni/FsCYH+wHjRzYzGQ9guYv8KRyvmmEUrVuB7nISDsAtuwKe5uXXxO1jUqUXJuBn3Jcbpzt2dfD6J\nfTK2l2CS2OXt2C2R76XrhbMav+d+t0VxFtaLjgbnj8rENEpswmqR7Z1YkOjyHFNchJexv1iXexP5\n4diie9fTI782setX5+QniiyYif0y+mxgQ3FX8n0FflDbrNNE2UkxVvfMgKtwSFWAFehocP4iwSeP\n4fhOcKN48c/BR2rJNQ3LMvrn8GCB70p+a8Xij8zJW8XiLxcLv29BYMPFxsBGcVpSXI8hmfEQkWV5\njFHLoEbR0eD8lbmYstiIV5Pv+cWfgB1YmJGtEImb4gHF91s3fmnNb8axeEG0WVlsTj6PEH3slwWO\nd4jjNhlTRM+coknXNmw6Hi7wkc4twwQ8o/hibhP3TB5bxMnNo0Vxa9iCA/FSSQwL8VNO36brM8F0\nvFNi34VfuviTRW3+oMSIaKeWVuhhjiC1PhnvLS7sLCbiiQLbc0XWlOEz5f18B+b1EFuK0UlcRThZ\nXJrrSvST8bHaZdwinhNStInkW1lg241fmkWbEof5hSJqW6fY7e0lQaXoxDa1rJqH1zL6Zblxihax\nue/14L8vMBfH636CWkQJWYPXS2zXq5Vd4kHs3eR7k+ia2vFige9u/NIAfhZH+vic0QLcKo7RuGT+\nKSWBwfOilp6QjCeJ0zQCq8SdsrXA7nQ8XeG3LzED14i2OK37acfyo64lM4914kn9zGQ8XyTTWHGa\nN+CyArtCftk+/2zcJi6ZzUlAb+IC0YLeI148PV4R3FZR867DLNFRrEp07aJ0FGFx8vsDgRGiuViK\nR0Xi7Yk3cL7q/n4bjhFNxGxRZsdgV9ys+N6hH/iV9cAppuLCOvzMUp1t9aCjznm7K67HZajiOESt\nva5CKb/+fKSfr75FWaK49WwE39Q5b644zX2BQ5W/z8milF9vFr9TcbuWYgo+7MFHq6izv/YiDjij\nznmzNfbCrIrjHFGqqtBX/Lqhp9fA7XX4GOg/Uxp9+1nF8c467P8rfxYNYhCDGAT8A+0w3Ws5danI\nAAAAAElFTkSuQmCC\n",
"text": "\u03b1\u22c5\u2758\u03c8\u27e9 + \u03b2\u22c5\u2758\u03c6\u27e9"
}
],
"collapsed": false,
"prompt_number": 21,
"input": "state = alpha*psi + beta*phi; state\n"
},
{
"source": "Dagger the superposition and multiply the original",
"cell_type": "markdown"
},
{
"cell_type": "code",
"language": "python",
"outputs": [
{
"output_type": "pyout",
"latex": "$$\\left(\\overline{\\alpha} {\\left\\langle \\psi\\right|} + \\overline{\\beta} {\\left\\langle \\phi\\right|}\\right) \\left(\\alpha {\\left|\\psi\\right\\rangle } + \\beta {\\left|\\phi\\right\\rangle }\\right)$$",
"prompt_number": 22,
"png": "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\n2Kc62Q7y4E4AAAAASUVORK5CYII=\n",
"text": "\u239b\u23bd \u23bd \u239e \n\u239d\u03b1\u22c5\u27e8\u03c8\u2758 + \u03b2\u22c5\u27e8\u03c6\u2758\u23a0\u22c5(\u03b1\u22c5\u2758\u03c8\u27e9 + \u03b2\u22c5\u2758\u03c6\u27e9)"
}
],
"collapsed": false,
"prompt_number": 22,
"input": "ip = Dagger(state)*state; ip\n"
},
{
"source": "Distribute",
"cell_type": "markdown"
},
{
"cell_type": "code",
"language": "python",
"outputs": [
{
"output_type": "pyout",
"latex": "$$\\alpha \\overline{\\alpha} \\left\\langle \\psi \\right. {\\left|\\psi\\right\\rangle } + \\alpha \\overline{\\beta} \\left\\langle \\phi \\right. {\\left|\\psi\\right\\rangle } + \\beta \\overline{\\alpha} \\left\\langle \\psi \\right. {\\left|\\phi\\right\\rangle } + \\beta \\overline{\\beta} \\left\\langle \\phi \\right. {\\left|\\phi\\right\\rangle }$$",
"prompt_number": 23,
"png": "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\nVapUevofz4SOwufiq5gAAAAASUVORK5CYII=\n",
"text": "\u23bd \u23bd \u23bd \u23bd \n\u03b1\u22c5\u03b1\u22c5\u27e8\u03c8\u2758\u03c8\u27e9 + \u03b1\u22c5\u03b2\u22c5\u27e8\u03c6\u2758\u03c8\u27e9 + \u03b2\u22c5\u03b1\u22c5\u27e8\u03c8\u2758\u03c6\u27e9 + \u03b2\u22c5\u03b2\u22c5\u27e8\u03c6\u2758\u03c6\u27e9"
}
],
"collapsed": false,
"prompt_number": 23,
"input": "qapply(expand(ip))\n"
},
{
"source": "<h2>Operators</h2>",
"cell_type": "markdown"
},
{
"source": "Create symbolic operators",
"cell_type": "markdown"
},
{
"cell_type": "code",
"language": "python",
"outputs": [],
"collapsed": true,
"prompt_number": 24,
"input": "A = Operator('A')\nB = Operator('B')\nC = Operator('C')"
},
{
"source": "Test commutativity",
"cell_type": "markdown"
},
{
"cell_type": "code",
"language": "python",
"outputs": [
{
"output_type": "pyout",
"prompt_number": 25,
"text": "False"
}
],
"collapsed": false,
"prompt_number": 25,
"input": "A*B == B*A\n"
},
{
"source": "Distribute A+B squared",
"cell_type": "markdown"
},
{
"cell_type": "code",
"language": "python",
"outputs": [
{
"output_type": "pyout",
"latex": "$$A B + \\left(A\\right)^{2} + B A + \\left(B\\right)^{2}$$",
"prompt_number": 26,
"png": "iVBORw0KGgoAAAANSUhEUgAAAMAAAAAZCAYAAABn7SHgAAAABHNCSVQICAgIfAhkiAAABONJREFU\neJzt2luoFVUcx/FP6jnZsdNNKzVFKLsX1EORpGYIKRkFRgRJD70oFBRFmlQv0ksPQUVYPYXRTcTq\nISqKouhCD0YSdCUKtItd0JJSuunpYe3N2U4ze681M/scOcwXDps9a83M//f/nTXrv9ZsGhoaGhI5\nEmdgyngH0tCTrl5NHttYJgQrsBLHYCOmYtu4RtRQRONVzQzgpdYnnI4RXDhuETUU0XjVB07An1jQ\ncewPrBmfcBq6EOVVag27EoPY3KXPRswraPsHO1vnf5B471QG8XdC/zxt2WvswbH4q/V9Po7Sfy1F\n9CPXMR7XTZFXKfr67tWJrYs+1qPfIM4XppvnMSQMtCmYg4dbbevKBhLBLKxO6F+k7V6jU2geW7E+\nLbRaqTvXsR7XSTevUvT13asnWjd7MaLvilbf63PaBvAz9gkCY0hZrE8SDEw5p0jbmXi84Jy1uCXh\nHt2oshlRZ65TPC6ibq9i9ZXyalJkoJcK08sIZkb0X9z6fDun7UDrOkdE3n8pbovo1+YmvN66Twzd\ntH0pJPi8zPFV+EyYogewMCG+LKn6stSV61SP8+iHV7H6dijhVcw/4BTch7uxW/wA+Bw/5bQtxUl4\nVlik9GJA/EwBNwir/xhitL3g0KfHdThHSPpVguFHJ8SXJVVfljpyXcbjPPrhVYq+vnh1u9GV8yfY\n36P/kPAkeTSnbaFQY24RXlDEsFx87XY83ozsS5y2IWGxBdPxPj7M/M1OuGeWFH15sdWR61SPi6jb\nq1R9yV712gWajauFkQY/4lxhdb234JwFwpPgZKPJGG4FvA/X4q0e9y3LqdgV2TdW234cFJ5su4VS\n4XChjlyX8bgOYrxK1ZfsVa8B8IAwLR5sfW9PQzMVJ6dds60VRmibrXgQG/AVvusVXAmmC4mJIUXb\nTmG3YkfVAGumjlyX8bgOYrwqoy/Jq25rgKXCXmvnvmlncopYhC/wDX7r+Nsu1HyL8HRMcCXYi7kR\n/VK1zcLv1ULrC1VzXdbjOojxqoy+JK+KZoBBYdW8HQ91HL+44yZ5DOASPFPQ/oMgYLEwlXUGukxY\ntGSZI7zVm5/T9h42dXzfKfzwqRup2gYxA7/2uG4v6tDXSZVcU95jxsarMvqSvSoaAHcKK+stmePf\nCnVZ0dPhIuFt27sF7WfjOGFUZw3ZJtRtWRYIiXoypy1bQ+4S6sBub4FTtZ0m1JkjBdeLpQ59nVTJ\nNeU9Zmy8KqMv2au8ATAPlwuj/GCmbWbmM0u7ZisK+sbW51M5bXscWue1mYFpwgo+hs3C1Ji3w1BG\n2xLFT6EU6tLXpkquq3jM2HhVRt8SFb0axjvCW7U85guja1NB+yuKF1yrW+c+JyQpltRtwiG85v+v\nxctom4FXhX3kflF2G7Rsrqt63I26vCJdXymv2jPAMO7BNThL2BPe4NBdgDXCCCM8PdbhZXyNm4VV\n/RXCNtp6/NsR2JWC2FvxSEqAJdgv7GqsFmrcKtpWCdqqlj91MVX5XFfJw6e1Kwlkvaqi7w4lvGqP\nlmFc1nF8BG8Y/SUdYbrMjtSP8Esr2KKRdwAfC4uWMizHBbg/8bxT8L1q2iYLNXE/SdE3oHyuq+Qh\n1ruqXlXRN1f/vRoXluGu8Q6ij0wkfRNJy2HDNP3fkx5PJpK+iaSloaGhoaGhoWGi8h+sZcLwhv0Q\nuwAAAABJRU5ErkJggg==\n",
"text": "2 2\nA\u22c5B + A + B\u22c5A + B"
}
],
"collapsed": false,
"prompt_number": 26,
"input": "expand((A+B)**2)"
},
{
"source": "Create a commutator",
"cell_type": "markdown"
},
{
"cell_type": "code",
"language": "python",
"outputs": [
{
"output_type": "pyout",
"latex": "$$\\left[A,B\\right]$$",
"prompt_number": 27,
"png": "iVBORw0KGgoAAAANSUhEUgAAAC4AAAAWCAYAAAC/kK73AAAABHNCSVQICAgIfAhkiAAAAkhJREFU\nSInt182LTWEcB/DPvOWlJpTGYLKwUFMzzYZmMzNJiWl2/gHFQlZm4yUbY4WtQsqUFRYiSoQ4aIpS\n8rKQRORdSZEMM1g8z+XOnXPmnntnZkG+dXvO/X3P7/v73t9znuc8l78UNSXfL+ArLuFAmdw9qMO2\nKuoOYC068QND+BK5RizB2Xjf+xjvx0o0oK9UMMlZuB3fcawK0wU0CGZPpXBtUf8eaku4REowD2qw\nD/VoriK/gOWYhYsp3ANcFhrUlpZcjfH1sdhnkzPeE8erGXwrRvE8j1hShp8XC9XjMT7kEc3AObzK\n4NbhpzCzpUjSElKDRTiEVfF6KIrPKOcwBbX4iOMl8dnYHLntxm8evz3WV1BshdDxK/H72zg241kF\nOtCBOZiLvTE2E6uFXW0NblUimGTEa3FN2KYKOCh0vLOSAhFbYu6yFG4jvmHDRB7zLs5Nwt5evFCK\nO14pevAOj1K4QbwWGtOYJZDnUWnCzlikqyjeEsdqjHfj+gT8J2F2l+JuHsEkJXYUvSnxPmG6d+UR\nLkJrzOvP4BdG/qkJFme5R6VLeIOdT+FexDGt44sm0Czs3zcy+IE4HhF+QC4kRdfteIMFGfcujsKn\nS+IdwvljMCPvpPDyqiuJN2E/RrAjp8cxwfnCGWE0Gnvoz/NcwAm8jPyw0L3CwacFT3Df2Kk+g5sx\nZyReJ/FzW3jNHzZ2HVVkfKqwewq1ipFQ3VklL6ZTe9rEe3FnmrQx3viI8Gcia6vKq9kt/Zw9GWwV\nvA1Pse5//Nv4Bfpvd5tNLRluAAAAAElFTkSuQmCC\n",
"text": "[A,B]"
}
],
"collapsed": false,
"prompt_number": 27,
"input": "comm = Commutator(A,B); comm\n"
},
{
"source": "Carry out the commutator",
"cell_type": "markdown"
},
{
"cell_type": "code",
"language": "python",
"outputs": [
{
"output_type": "pyout",
"latex": "$$A B - B A$$",
"prompt_number": 28,
"png": "iVBORw0KGgoAAAANSUhEUgAAAE4AAAASCAYAAAD15uiRAAAABHNCSVQICAgIfAhkiAAAAi5JREFU\nWIXt1ztoVEEYBeDPGEGLlQQMahQipBUF0SqYwmdhrCxFO+0F0UKxUVS0ELENaWOhQhorFfGBlY+g\nIppOgmDAKkrUqLGYQddk7u59JAFhDyx3ds4/c87ZuXPnLi2UwpKC9VcwiTMNagaxDZvwFU/wPXKr\n0InrOIepgvqNsBC6efI2xVb8xFCO2g2YwaUEty9yI1XMLIJukbyZaMPdKHw7R/2hWLsrgx+LpmpV\nTC2gbtO8bTkNHcUNTGNNjvp+YZs8TnA1rMcEPufUz4v50i2aN4ku4ddvwzg+5BjzFg8zuBPCSh4p\na2iBdcvkTWIIfbH9FD80vlNXR4NnZ/V3xL4JHC5rZhF0c+VtbzJJH5b6e+t/jN+7YjuF/njtxcXY\nrmEA7+KcY03tF8d86JbJOwfteIS1dX1DwqpubjDuGr5heYI7Lxzvu/OaKICqumXzzsExHJ/VdyFO\ntLfBuFHphzOsEB6474sYyYmquoXyZm3V7jjJG/8e7T3xmnXSdGAjLmfw08JdsU7YRpPCVjqdUZ/C\niBCoqm49yuadg2HsSPQfEFbgZMa4/ZEfyOC3R/5OXiM5UVW3cN7U6bgTn3AvwY3Ha9YK9Eeh1JZZ\nhlOxPZgxviyq6FbJ+wdbhNOjM4PvjQaHM/jneJno78FNfMHBZiZKoKxu1by68Qq/YuFr4b2oHreE\nl8EZ4U/0A+zBSmG1XkRuSjid7sfPKJ7hqvAcmi9U0a2St4UWWvh/8Bt1v8TG07AChQAAAABJRU5E\nrkJggg==\n",
"text": "A\u22c5B - B\u22c5A"
}
],
"collapsed": false,
"prompt_number": 28,
"input": "comm.doit()"
},
{
"source": "Create a more fancy commutator",
"cell_type": "markdown"
},
{
"cell_type": "code",
"language": "python",
"outputs": [
{
"output_type": "pyout",
"latex": "$$\\left[A B,B + C\\right]$$",
"prompt_number": 29,
"png": "iVBORw0KGgoAAAANSUhEUgAAAGAAAAAWCAYAAAA/45nkAAAABHNCSVQICAgIfAhkiAAAA3tJREFU\naIHt2E2sXVMUB/DfexqvUvr0QxXFQI2k8dn4at+A1wglkfiImRIhEhEDDBrVCNLGM2qjHRA6EMSE\ngfhIkSt9jU7E90cISaWEpBJaDarFYO3b3l7n3LPP6733Te5/ss/Za+3/XufstdZeezPAtGKo7f1N\n/ImteKpi7Docgwc76GzCpTgPf+H91MJcnISX8Sh+r2F3r3iPBiO4Idl1rviPI9iMl7AWD+FjXIb9\nRSSNzMmW4G+8kKG7EP9iQ4HsyiR7K3PefvBOBRfhc2zBFeLHS+3j2IjfMC6cfGYZUSNjsiG8Lj7w\n3Qz9m5LutSXyT5N8XgZXL3nn4YyaNhCevV95JhjCJP4QP/6oF2AV7sNefJGhvxEHMLtANjPx/ILh\nDK5e8l4vvqsObheLfEeF3hq8k56PWIAZNSecg1uxAveINFCFMXyIPQWyO3E87sU/NW3pFW8uzhbp\nbweeqdD9TjhLJRoV8s0ix8F2sfoj5epOxEFMtPWPCq/Yrdp7+sVbNwK2ie8fz9C9EIvT85QjYKmI\ngGbe/zm1C7GzZMxykQLOxPrUN0vk7Z1J/mUNG3rNm4s5uByf4O0M/Q9yiRsl/cN4z5Gb1CbhARd3\n4JsQoXdCgexh7MPKXON6zFsnAlaKb3+u5hy0RUDuBnWXOBt839LXGgFlGBN1794C2bo0/7P+fx6p\nQq94c9F0us8ydOfqUInlpKAFWI2vsaylf1FqyxZgFi5QfqA7KEqzBcnA3Rm2dIN3lWJPH8WxSd6O\n5/Fky3sz5f6YYe9qPJahh+IUtAVXF/Q3w3BtCdeKJL+xRL40ySdzjesxb50UdFaa44kKvcW4v62v\nVgpaJk68bxTIdqW2LALGUrutQDZDVCvwdMn4U3vE2w18K6rA6xTvQ8QirRF7ZTYaLc9L8BNOLtE9\nTXjBKyXyHfimoH8RXhRp4raSsc1T7gNd5u2EumXobLEIkzi9pX8Ut4hCoahEryxD54tS8xyHq59x\nhz2euFxanp6vEd64Po17TZRp54sLsu0iioj6vZkeLhEbaRF24QcRgRM4rku83cQeXCUOfRuEA3yF\nX0XBUuQ8lWh0ybhu4ZE+zjWVq4ipYEpl6HRgWHh1v7BP/66uD6HuXVA/cTde7eN8W/s41yG0R8AB\nESL9CMVOmC/y/kfTbEc3cbP4t6fo3QXhAAMMMEAd/Af3QOJHSnIYNwAAAABJRU5ErkJggg==\n",
"text": "[A\u22c5B,B + C]"
}
],
"collapsed": false,
"prompt_number": 29,
"input": "comm = Commutator(A*B,B+C); comm"
},
{
"source": "Expand the commutator",
"cell_type": "markdown"
},
{
"cell_type": "code",
"language": "python",
"outputs": [
{
"output_type": "pyout",
"latex": "$$\\left[A,B\\right] B + \\left[A,C\\right] B + A \\left[B,C\\right]$$",
"prompt_number": 30,
"png": "iVBORw0KGgoAAAANSUhEUgAAAN8AAAAWCAYAAABAHklQAAAABHNCSVQICAgIfAhkiAAABOVJREFU\neJztm0toXUUYx3+JCWnF+KrU+kYLYtHahY+gJKWIr9q6EVypFHRRxYAFn3RjXFnBjYKK1EgEURc+\nUNCIQh0fQVxpiwuRgO83ilItautj8c3h3hxnzpk58829t3J+EE4y38x3vu9/58ycOzOBlpaWvjBU\n+vtV4HfgdeChmrb3AocAdzS47wxwOTAB/A0sAPusbRw4GXjJ1vvBlm8DNgCjwCYlnzmI0RDSdCwY\nAq4EJoFzkfzHgOeAB4HVwAc2pkHXr446vXz6z5AvPw39MYE3WwvsB56KDLKbUST55x22s6z/PcBw\nyWYy+NTERNTV0PFUe895pAOM2/Jh4HrgSeBTYDogvkHQr4oQvUyFLUd+avp7DV0MAa8A/wC7IoIs\nc4H1caPHPm/tZ5fKTQafPo4GTgmsW2AC62nouAXYCzyKzAYuHrf3OCMgPm39oJmGLkL1MhU27fyS\n9G8ygm0BXgN+BVY1aF+w3l7f8NjXAH8Bn/fR54XA1RH3jyFVxylgFvngtyJ5uZgHvgI+CvCZ4zPR\n0lCj32nmp66/qbEfhQQ+AiwCPwUE6eNl4GuP7SpktLjPYTMZfPrYDNwWUR/CZr5UHY8EPkNyXV5T\n9xzgicD4tPWDZhqWidHLVNi08suiv9dgeQS4yP6+gAQ7VtPGxTDwM/B0qfxQ4CZru5P/LghVxZji\n00euhy9Vx522zXRdReAkZPapiy+HfqDz8MXoZTzlmvmp6D8S0LjgPGQEKt63v7PXVcgoEMM64Ahk\nBNlhy5YBlyArVZcB7w2Azxxo6LgZ+a6xM6DuF/anjkHVT6vfaeaXQ//KUeNNZDm24GHk6Z8IcVzi\nFtv2dIftBuBPZKUoJsYUnz60Zz4NHVfb+u9GxlVgPOU59IO0ma+JXsZTrpWfmv6hCy5bkT2K7i+i\n3SNQLOuB74GPHbZZ4BtE5HGHvZc+tdHQseh0HwbUHWNpx61iEPXT7Hda+anpH/LauRLYjgQ92VV+\nor02Xal7q8K+Fwn6NGB3D3xeB9zqaHM4IuC1DtszdF5fQtDSsXjV8i0cdHMzsukcQupnoq2hdr/T\n6nO59HdO2XPARkf5JmT6vTvUuWWNbbfNYz/O2j8hfMEl1acPzdfOOXR0HAV+Q05jVHEYcL+j3DjK\ncukHzV8752iml3GUaeanpn/da+cksus/77B9aa+uEej4Cp/FXsvbHvuMvT6GCBJCDp+aaOq4H5kx\nppCVNBcrkGNNDwTGN2j6NdXLR9P8eqU/sHTUWAt8CxzrqXuCDfSFUvk65GzbrKfds8hGaflEwEok\n4APAXYExavn0oTHz5dBxBOkAi8ixqILlwKXI0vyKwPggn34Qr2FTvQqMo6xJftn1d33nOwZZ1j2T\nzmrTxXRGHOg8+QBXICPKDmQT80fkLNv5yBRejCQvIoJOIKcBFpAlXpApepkt2wC84wm8TA6fWuTS\nEaSzXIOszm1HVvAWgV+QfKfxn7joZpD0S9XLRUp+vdB/CSa2QQX3KPrqxmTy6yLXJnsM2joaZX91\naGyyx2CU/WXTP+fp9H6dfNdkH/K60k8Odh0HQcMUsukfc8Ilho3A+5l895JdpP3nRir/Bx37rWEK\nWfUvP9UHkH0J35JsqM8p3P8zlcLtSGx/KPvVRkND0NfxYNEvlVb/lpaWlpaWlpaWlg7/Ap2JCsCY\nEBHmAAAAAElFTkSuQmCC\n",
"text": "[A,B]\u22c5B + [A,C]\u22c5B + A\u22c5[B,C]"
}
],
"collapsed": false,
"prompt_number": 30,
"input": "comm.expand(commutator=True)"
},
{
"source": "Carry out and expand the commutators",
"cell_type": "markdown"
},
{
"cell_type": "code",
"language": "python",
"outputs": [
{
"output_type": "pyout",
"latex": "$$A B C + A \\left(B\\right)^{2} - B A B - C A B$$",
"prompt_number": 31,
"png": "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\n",
"text": "2 \nA\u22c5B\u22c5C + A\u22c5B - B\u22c5A\u22c5B - C\u22c5A\u22c5B"
}
],
"collapsed": false,
"prompt_number": 31,
"input": "_.doit().expand()\n"
},
{
"source": "Take the dagger",
"cell_type": "markdown"
},
{
"cell_type": "code",
"language": "python",
"outputs": [
{
"output_type": "pyout",
"latex": "$$- B^{\\dagger} A^{\\dagger} B^{\\dagger} - B^{\\dagger} A^{\\dagger} C^{\\dagger} + \\left(B^{\\dagger}\\right)^{2} A^{\\dagger} + C^{\\dagger} B^{\\dagger} A^{\\dagger}$$",
"prompt_number": 32,
"png": "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\n",
"text": "2 \n \u2020 \u2020 \u2020 \u2020 \u2020 \u2020 \u239b \u2020\u239e \u2020 \u2020 \u2020 \u2020\n- B \u22c5A \u22c5B - B \u22c5A \u22c5C + \u239dB \u23a0 \u22c5A + C \u22c5B \u22c5A"
}
],
"collapsed": false,
"prompt_number": 32,
"input": "Dagger(_)"
}
]
}
Brian E. Granger
Implemented metadata for notebook format.
r4637 ],
"metadata": {
"name": "basic_quantum"
},
"nbformat": 2
Brian E. Granger
Converting notebooks to JSON format.
r4634 }