{ "metadata": { "name": "", "signature": "sha256:550db1d45033e35a32fa4759048c9cbd5b59d9ce889ceb53707ab7f53c297107" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "A lists of some issues with sympy.physics.quantum that needs fixing..." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Robert Johansson" ] }, { "cell_type": "code", "collapsed": false, "input": [ "from sympy import *\n", "init_printing()\n", "\n", "from sympy.physics.quantum import *" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 1 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Innerproducts of tensor products are not evaluated" ] }, { "cell_type": "code", "collapsed": false, "input": [ "ket1 = FermionFockKet(0)\n", "ket2 = FermionFockKet(1)\n", "\n", "tp = TensorProduct(ket1, ket2)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 2 }, { "cell_type": "code", "collapsed": false, "input": [ "p = Dagger(tp) * tp\n", "\n", "p, p.doit() # Does not evaluate" ], "language": "python", "metadata": {}, "outputs": [ { "latex": [ "$$\\begin{pmatrix}{{\\left\\langle 0\\right|}}\\otimes {{\\left\\langle 1\\right|}} {{\\left|0\\right\\rangle }}\\otimes {{\\left|1\\right\\rangle }}, & {{\\left\\langle 0\\right|}}\\otimes {{\\left\\langle 1\\right|}} {{\\left|0\\right\\rangle }}\\otimes {{\\left|1\\right\\rangle }}\\end{pmatrix}$$" ], "metadata": {}, "output_type": "pyout", "png": "iVBORw0KGgoAAAANSUhEUgAAAVAAAAAaBAMAAAATchlUAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAMkS7zRCZdiKJ71Rm\nq90icBAQAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEtklEQVRYCc1Wz4scRRh9M7vdM5uZTIKeBCWD\nhL1JFkQRRJxLICDCQMKEiLhtMHGCBMaDK4hiQ9RrxiCsgx7Gv8A5ieIhc1MEccSbCq6IIoiI4vqD\nxeD7vq+qunrHTjzux251zfe+eu9VdXV1A7gNBz5G4rC2waZtXlu5XYt2bl0CDnOVRQXet/4ycBPa\nQs9LOqGCN6a9R9KrfTZ3WcFa166hrS0C4LB0fwmuWckyUE0b6XnJ80HTdWLatTmTTwtwHsmlraPw\noySloeonIQD/BttPwlv3FVCjnO0yUE1LPSDQqrRbqgra74HmrmA7WJ0lPy4b7RC7wgoz+gieyMEx\n5eDUmw/ztiwB1bTUi2hVuiM3No4S7RYtZERbY3wCvOGNnr00ec7GfACcvuyNtqdY6+FFQ5KtybZx\nX0Ny/zfsOsBgbStpCRS0Jt2Y28CgXaK9ChyasWAlx0PA9b7d+voF4JykgQf43/BGVxZo7eKMAljv\nI3lLu7KZXqZRBxisbSUtgYLWpJOeDim0S7SdOY5RAq8A/wAnZmb0eA4kD8q4Zo9NMHpkgfqeTIpR\nP8XmtM7GMxogoI8qWtEraE1a1wQ4nnvtEm26IesOvI3kDxodmdHFEBikMgF92oLRzQz1P2WbMA6n\nOZKMS28Pk6yoAZLxUUVLvcioSYO7jFFoe6NK25jiKYF30PwbODZWo+08zZMsGTEvz1Ix9atj1Fi2\nI8mPMcQAZ6XrGQ2QjI8qWq0M8zdp04q0S7T1XdxL1noWG02B4QCQhVsXycDojOqJlyF9NcOa4IFR\nAcm4qKQlENE6o2mXyUi7RFv7FY8K3EXCpXK3nuppZkZVOhjdHMutt8Oa07jIrcHBhdH9R2ElrXoK\ntCZt53CkHYwKbfM3/MBLYw5wj163h4mzGnCXZgT0xAmMRzK09mCbKUNyMZcFiIzaLpOURSWtAMWN\nMmnb4pF2MCq0zT1d0aQHfAd81tc9mvIpSXM1qidOMNrZQJtHlRxZRAfcpWWjCgjoopJWgMioSttp\nEmkHo0LLFZVbL9ovgM+VGq13XwPerM2ZX8nZBKONKdIemhvM4e4md2h+p3Q9owGS8VFFWz6eTRpX\nZFSkXaKt/YUvBOfqdmbJO+7NNMy4+3TD2dHgD3z8hMf4PTCTESkng9cX0vWMBJLfJRGiilZ3T5i/\nScPeHoV2RMsJ7Mp09BhKtl/yHyVn+kydUrkdWvryxtcyA/6de/5zd2QhOUl8NWcjRi+/+/Ncz5df\nZGgInm7/TUsgotUa7OiwQjumRXuKE0KddrXKrWjyDPBerhl97Nkzo5pa1xaDGVpD7crUJQSo59Lz\nUUkbAWTW0COLEwvaMS34ZjokhfrxzKsbVZtMJMu43S6xUS6qxh0TR+UZBSh/PVfSRoA3evio0Qbt\nmBarI6RjKZAbyfCj7Bdb/ao2wGFJL4Cu4xgVeLwMVtFGel5y6ZMmpsUmv3enwv2RCfhR9ottexQA\nh/lMKNGHyZfOi7T0qmgjwEu60mK8M2p6nzL/lWBuPg23/qFcl4m/CDhspR9A13nWrstANW2k5yXv\nuyntt0SX1nz/iAPwuy37s5UdACe3sKAvA3x4i6oDAF84AB7+r4V/ARe3dbaAzETGAAAAAElFTkSu\nQmCC\n", "prompt_number": 3, "text": [ "(\u27e80\u2758\u2a02 \u27e81\u2758\u22c5\u27580\u27e9\u2a02 \u27581\u27e9, \u27e80\u2758\u2a02 \u27e81\u2758\u22c5\u27580\u27e9\u2a02 \u27581\u27e9)" ] } ], "prompt_number": 3 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Qubits does not work with TensorProduct" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The Qubit class has its own way of managing composite quantum systems (tensorproducts)..." ] }, { "cell_type": "code", "collapsed": false, "input": [ "from sympy.physics.quantum.qubit import *" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 4 }, { "cell_type": "code", "collapsed": false, "input": [ "q1 = Qubit(\"0\")\n", "q2 = Qubit(\"1\")" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 5 }, { "cell_type": "code", "collapsed": false, "input": [ "p = Dagger(q1) * q2\n", "\n", "p, p.doit() # OK" ], "language": "python", "metadata": {}, "outputs": [ { "latex": [ "$$\\begin{pmatrix}\\left\\langle 0 \\right. {\\left|1\\right\\rangle }, & 0\\end{pmatrix}$$" ], "metadata": {}, "output_type": "pyout", "png": "iVBORw0KGgoAAAANSUhEUgAAAGMAAAAaBAMAAABROP+vAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAMkS7zRCZdiKJ71Rm\nq90icBAQAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACDUlEQVQ4EY1TsWoUURQ9u5vZ2WTWyWIv2T/I\nggg2wjZiIcKCQVDETGJALAQrBUEYiP1OIaQwxfoH04pFtpPYOGKXWAQECUQwhRpCMOScN3lvZ8IE\nPbBvzj33nnfv3mEAXMT/wzeltR4fbecK4pyOnVIk9UzR1IDHJadPd3O67JQSWVf0SMcyvMfPOmLG\ncr14iVThztoSELJB67fCHUyl3q6YLKvUlCvjJh7E8COW8IcgwUfgtUpouf2EFn+sqID2CNN9tPaB\nmZRyI8Y1YEMXq4tPi9dnUEQjQ0D9BzCnulfAX2BebmvB1WI9+WyG+hHwEBoIWIf3h5anpM7yTokC\nFiPUD4AXwIrUHbQO2TAhdZawUC46TFBj0fwAlxnVowpLs6vCCU4tcx3cosispwtKg9WySbnYYmIG\nG3bxnZEWyv+ykZK7wbj4EmYjBPz7w9R00UK/AZ8GRUsjLjkQ9tDmktlFg2mhdhOuy2rZAX+EZp87\nivFFGS40TL23os7yhq/zlxSLPdzrmI3xdtYzvfaSgrE0t46/avHAT41qcff5Z1K+R+7ZrMwm1EXg\n4nnEPMrg25/pUjKfWZ6ylgvqOfny8iTPG2yQKOIHcgprWVB836ru6XFptZHCD06zFqOMnWxJOyPb\nVmTuNLKvgYgr+ePsGSo9qT6broo3JQZRVeocrdUziffnpKvk5qBK/ad2Aik0b1nZ0BSSAAAAAElF\nTkSuQmCC\n", "prompt_number": 6, "text": [ "(\u27e80\u27581\u27e9, 0)" ] } ], "prompt_number": 6 }, { "cell_type": "code", "collapsed": false, "input": [ "tp = TensorProduct(Qubit(\"0\"), Qubit(\"1\")); tp" ], "language": "python", "metadata": {}, "outputs": [ { "latex": [ "$${{\\left|0\\right\\rangle }}\\otimes {{\\left|1\\right\\rangle }}$$" ], "metadata": {}, "output_type": "pyout", "png": "iVBORw0KGgoAAAANSUhEUgAAAEUAAAAWBAMAAABkuUxDAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAVCKJRHYyEJnN3Wbv\nu6uKc90MAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABhklEQVQoFXWSsUvDUBDGvzRJExtai/4Db9Ol\nWGnq7ODQ0UURXAqOghREiGIxFNFOUl266uQqgnv/hOLimslFlyJScPK7vDRNi97wvXv3frm7dy9Y\nQmyeXqZqKO0/cfG1627qNVUzCVwyQiaoXyEfpafaiZk+cKSZW5wpPP7BVMZAoSV5vAHMHvY14+zV\n6owCzNO+IWOzIR/FCMYYp5pptOCsJwxsMk5PmMUI1ghFJSfWHaVdpkg/wuBVmIsQ1jeMKvcouQpO\neE0vZZaFWasi/wXcC/OMDgKcZJlChpFBIIS7EsLMMpwca1WlVjwIsGCXdbJMPpKeQxgjgHUlj9NV\ncLMMG/VRGMLjBdi/MAE7mmF4YR/2AG4PuaEwWzl2ow7ppfeqSM94wHkTpgwF7iplI6KkDCdK5njn\nne/COKfapywoChn38+cjnknyb6DBOC0ow+iII3nErDDOQw9gqtgOavqrCVNqpow83YxNGHnrpJa3\nPUNMa70wvqvPiq05xm7qwNtc/J/tL54dU2TYiQV5AAAAAElFTkSuQmCC\n", "prompt_number": 7, "text": [ "\u27580\u27e9\u2a02 \u27581\u27e9" ] } ], "prompt_number": 7 }, { "cell_type": "code", "collapsed": false, "input": [ "p = Dagger(tp) * tp\n", "\n", "p, p.doit() # Does not work. " ], "language": "python", "metadata": {}, "outputs": [ { "latex": [ "$$\\begin{pmatrix}{{\\left\\langle 0\\right|}}\\otimes {{\\left\\langle 1\\right|}} {{\\left|0\\right\\rangle }}\\otimes {{\\left|1\\right\\rangle }}, & {{\\left\\langle 0\\right|}}\\otimes {{\\left\\langle 1\\right|}} {{\\left|0\\right\\rangle }}\\otimes {{\\left|1\\right\\rangle }}\\end{pmatrix}$$" ], "metadata": {}, "output_type": "pyout", "png": "iVBORw0KGgoAAAANSUhEUgAAAVAAAAAaBAMAAAATchlUAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAMkS7zRCZdiKJ71Rm\nq90icBAQAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEtklEQVRYCc1Wz4scRRh9M7vdM5uZTIKeBCWD\nhL1JFkQRRJxLICDCQMKEiLhtMHGCBMaDK4hiQ9RrxiCsgx7Gv8A5ieIhc1MEccSbCq6IIoiI4vqD\nxeD7vq+qunrHTjzux251zfe+eu9VdXV1A7gNBz5G4rC2waZtXlu5XYt2bl0CDnOVRQXet/4ycBPa\nQs9LOqGCN6a9R9KrfTZ3WcFa166hrS0C4LB0fwmuWckyUE0b6XnJ80HTdWLatTmTTwtwHsmlraPw\noySloeonIQD/BttPwlv3FVCjnO0yUE1LPSDQqrRbqgra74HmrmA7WJ0lPy4b7RC7wgoz+gieyMEx\n5eDUmw/ztiwB1bTUi2hVuiM3No4S7RYtZERbY3wCvOGNnr00ec7GfACcvuyNtqdY6+FFQ5KtybZx\nX0Ny/zfsOsBgbStpCRS0Jt2Y28CgXaK9ChyasWAlx0PA9b7d+voF4JykgQf43/BGVxZo7eKMAljv\nI3lLu7KZXqZRBxisbSUtgYLWpJOeDim0S7SdOY5RAq8A/wAnZmb0eA4kD8q4Zo9NMHpkgfqeTIpR\nP8XmtM7GMxogoI8qWtEraE1a1wQ4nnvtEm26IesOvI3kDxodmdHFEBikMgF92oLRzQz1P2WbMA6n\nOZKMS28Pk6yoAZLxUUVLvcioSYO7jFFoe6NK25jiKYF30PwbODZWo+08zZMsGTEvz1Ix9atj1Fi2\nI8mPMcQAZ6XrGQ2QjI8qWq0M8zdp04q0S7T1XdxL1noWG02B4QCQhVsXycDojOqJlyF9NcOa4IFR\nAcm4qKQlENE6o2mXyUi7RFv7FY8K3EXCpXK3nuppZkZVOhjdHMutt8Oa07jIrcHBhdH9R2ElrXoK\ntCZt53CkHYwKbfM3/MBLYw5wj163h4mzGnCXZgT0xAmMRzK09mCbKUNyMZcFiIzaLpOURSWtAMWN\nMmnb4pF2MCq0zT1d0aQHfAd81tc9mvIpSXM1qidOMNrZQJtHlRxZRAfcpWWjCgjoopJWgMioSttp\nEmkHo0LLFZVbL9ovgM+VGq13XwPerM2ZX8nZBKONKdIemhvM4e4md2h+p3Q9owGS8VFFWz6eTRpX\nZFSkXaKt/YUvBOfqdmbJO+7NNMy4+3TD2dHgD3z8hMf4PTCTESkng9cX0vWMBJLfJRGiilZ3T5i/\nScPeHoV2RMsJ7Mp09BhKtl/yHyVn+kydUrkdWvryxtcyA/6de/5zd2QhOUl8NWcjRi+/+/Ncz5df\nZGgInm7/TUsgotUa7OiwQjumRXuKE0KddrXKrWjyDPBerhl97Nkzo5pa1xaDGVpD7crUJQSo59Lz\nUUkbAWTW0COLEwvaMS34ZjokhfrxzKsbVZtMJMu43S6xUS6qxh0TR+UZBSh/PVfSRoA3evio0Qbt\nmBarI6RjKZAbyfCj7Bdb/ao2wGFJL4Cu4xgVeLwMVtFGel5y6ZMmpsUmv3enwv2RCfhR9ottexQA\nh/lMKNGHyZfOi7T0qmgjwEu60mK8M2p6nzL/lWBuPg23/qFcl4m/CDhspR9A13nWrstANW2k5yXv\nuyntt0SX1nz/iAPwuy37s5UdACe3sKAvA3x4i6oDAF84AB7+r4V/ARe3dbaAzETGAAAAAElFTkSu\nQmCC\n", "prompt_number": 8, "text": [ "(\u27e80\u2758\u2a02 \u27e81\u2758\u22c5\u27580\u27e9\u2a02 \u27581\u27e9, \u27e80\u2758\u2a02 \u27e81\u2758\u22c5\u27580\u27e9\u2a02 \u27581\u27e9)" ] } ], "prompt_number": 8 }, { "cell_type": "code", "collapsed": false, "input": [ "TensorProduct(Qubit(\"10\"), Qubit(\"10\")) # not working properly either" ], "language": "python", "metadata": {}, "outputs": [ { "latex": [ "$${{\\left|10\\right\\rangle }}\\otimes {{\\left|10\\right\\rangle }}$$" ], "metadata": {}, "output_type": "pyout", "png": "iVBORw0KGgoAAAANSUhEUgAAAFoAAAAWBAMAAACyHJYmAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAVCKJRHYyzRC7mavv\n3WYouEVCAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABZUlEQVQoFX2PMUvDQBiG37YxXgNNi25OmV0s\ntu7dBKcuipO6u0R/QaBIoSitji7GKiK4ZHK1/0DdBJf+hSJCR7/vck0uH8Ubcu/L89zlO6whX34e\nTZK0bRlexyo6Ssp9NQIGO09wk2W2Tcku35F9hqsAX0vsAm1D3b5F8CeohDgy9sVD61BHSXmS4wjV\nBKU5+qntPAO9BmdJTa8ncGaoBlrfpU1dc5TU9GEM5xelpraTMb3ai3I7o8beasL9AT7Y9gMvULHq\n5nZGi/Yj2x4wHgD8H0kXkzR5EpyyXaEDccEeLqix6zFKM2Cdbbp7QJPTgcXdGTV2bQR/Dtyktoq9\nwLYzauyVCbwQ5RHbTmcT2HanFCU1HZ+4PEGlwTbGMQ2vnyAp9Zf37yl6+69ATcvoR7Sfc5aUT2dr\nL03qHtgIOEta6HS9Xm6r1dFBUrurMJXzr6R297u5lyZJDyyhGllFx/+ptEX/Aw5cd3jW8gCCAAAA\nAElFTkSuQmCC\n", "prompt_number": 9, "text": [ "\u275810\u27e9\u2a02 \u275810\u27e9" ] } ], "prompt_number": 9 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "TensorProducts of bra's and ket's is printed with double vertical bars" ] }, { "cell_type": "code", "collapsed": false, "input": [ "bra = Bra(\"psi\")\n", "ket = Ket(\"phi\")" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 10 }, { "cell_type": "code", "collapsed": false, "input": [ "bra * ket # OK" ], "language": "python", "metadata": {}, "outputs": [ { "latex": [ "$$\\left\\langle \\psi \\right. {\\left|\\phi\\right\\rangle }$$" ], "metadata": {}, "output_type": "pyout", "png": "iVBORw0KGgoAAAANSUhEUgAAADMAAAAWBAMAAACf7rmcAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAZjKrmUTdVIm7Is12\nEO9EeINyAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABSElEQVQoFW1QsUrEUBCcnMkll+QkjY2cELAQ\nu/uEs1BBLA4R6xR+QAoLtTHYWAknWAnCsxIr/QALba4TUwpaWNraWjmzF04Rl7ezszvsvn0PQIYf\nC13DrdjqW5YbRkOFGFhV9C1DJY6JFAGLytoC/JXaNWv7psSZhUnXG5Aqv7Ca535JW0D3jlfSaRxv\nYSis6OyI2PmySWmsoga28o1Du0dbVEe4xnPdSOtxljhtt82Z5RoWMNt0dTLPRX29iW/r4oPj/UYa\nc7hfgD/xyErwRYkb2127lJIRwgqvKhRxidNG+sQVbkt0nA78kVeHtjY3vMc8zoEbqBHBe4o5NWn5\nHVSdAXDCrKDvHfQcg0mtlbNjsoJu379EItOT44wkGBCW6XgS0CR5jmQmJyQ1oaLLJNl3anF4DwS5\nTFIq0hPo+6eW5g29nJb+I9/3+jsa5A0iAgAAAABJRU5ErkJggg==\n", "prompt_number": 11, "text": [ "\u27e8\u03c8\u2758\u03c6\u27e9" ] } ], "prompt_number": 11 }, { "cell_type": "code", "collapsed": false, "input": [ "TensorProduct(bra, bra) * TensorProduct(ket, ket) # Double vertical bars" ], "language": "python", "metadata": {}, "outputs": [ { "latex": [ "$${{\\left\\langle \\psi\\right|}}\\otimes {{\\left\\langle \\psi\\right|}} {{\\left|\\phi\\right\\rangle }}\\otimes {{\\left|\\phi\\right\\rangle }}$$" ], "metadata": {}, "output_type": "pyout", "png": "iVBORw0KGgoAAAANSUhEUgAAAJsAAAAWBAMAAAAlYfO5AAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAZjKrmUTdVIm7Is12\nEO9EeINyAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACm0lEQVQ4EZWUy4oTQRSG//R0Jp1LS6+DQsSN\n7vIILcwQDQhBRjeCZuEDZKEgs2oGW4O4cEAQBKEGhMGF6FoUoogLQehFL5SZhY+gDyD4n1N9q4wb\nC6b69PlOfVVdVRkAEYq2WwbVs4lKWuXKqo4pIiXeWN48/qVFuno4SGkP2K5wEQQzCUri61vAzAmd\ng5Sy7FxhqR5WV5JNzf9T56BSt5lVIhtUOiX3NHnA3q4u/Lx8XIxwkNJjYBBZy/Gl5TeNrK4kzzU3\nrHQ7GcKHdoSDVHcVCN8qbF8Bvi8ktLqC9CxNmNcB7XeMfmidi5RKmZ3khqH5GV8LXcKIJIgQ3l8h\nGcytbsM3CGNOvY6o80bTXcBuwXgK5H4mZbMG4XYHnV+9xeCP1Q0xRQ7uBOAi6ia9qG8kDbSMb8I4\nXDEUXUV2gEN/3srw0+pi+K9jyEHDRSm6UcsEY+j18YFpDiRWV5NtIDuVcHhsdSzY4owskwvbQCm+\nMO3PoZebBX5c6WrykeNumQBcNz9HrOGWAScHXJTiNnX9J+gkZCzIuXsxQ35sTY6YeIBDBFmpy7l7\nqnNRit84wJsFuoZDfJ4XDy1mSF1NBF7GGdyF1V3rcefMWZbpuBqleI8hngKvhLVnL4FHXsSQuprI\n0m9i1eLx6Mf6LMPemJ1+VY1SXEfSjQF7x6eMAv39Utcgc46b7H/lcNWFHxjxOkibN1EK7+L+ns2y\nP8rYyZWX1TUIzw/eQvKqQ75Ah5sszUGkvYjJdiwI4QS4YySirkEuMDOQqQodzi+tF3AQky3Dqo0R\nOzZvuaSHTXQ16VOl16zUaY12DqJOy+S8nSa6mrRWXJ3yclFVsYNItex0hYtAdDUp/uGQfVovdFBJ\nX6xXDUZF5gRZr/zv97+PtLurdfqdEAAAAABJRU5ErkJggg==\n", "prompt_number": 12, "text": [ "\u27e8\u03c8\u2758\u2a02 \u27e8\u03c8\u2758\u22c5\u2758\u03c6\u27e9\u2a02 \u2758\u03c6\u27e9" ] } ], "prompt_number": 12 }, { "cell_type": "code", "collapsed": false, "input": [ "type(bra * ket)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 13, "text": [ "sympy.physics.quantum.innerproduct.InnerProduct" ] } ], "prompt_number": 13 }, { "cell_type": "code", "collapsed": false, "input": [ "type(TensorProduct(bra, bra) * TensorProduct(ket, ket)) # not recognized as an InnerProduct" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 14, "text": [ "sympy.core.mul.Mul" ] } ], "prompt_number": 14 }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Nonsense tensorproducts" ] }, { "cell_type": "code", "collapsed": false, "input": [ "bra = Bra(\"psi\")\n", "ket = Ket(\"phi\")" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 15 }, { "cell_type": "code", "collapsed": false, "input": [ "TensorProduct(bra, ket)" ], "language": "python", "metadata": {}, "outputs": [ { "latex": [ "$${{\\left\\langle \\psi\\right|}}\\otimes {{\\left|\\phi\\right\\rangle }}$$" ], "metadata": {}, "output_type": "pyout", "png": "iVBORw0KGgoAAAANSUhEUgAAAEsAAAAWBAMAAAB6cHzwAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAZjKrmUTdVIm7Is12\nEO9EeINyAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABvklEQVQoFX2SsUojURSG/5mMyWQyI1OLC1ls\ndrs8wghKMCAEUUudYh8gzYKkGsKqKSwUrAThCoJYLGstClHEwmqKNLIW+wjrAwj7n3vuLCwsDjnn\n/ufcj3/uPRMAKdwzrISuDeNqC/gdqXzGrmu7JeyLiIBlWQNbhVT/xbixIFhdEt7D6iWBHYudMatb\n8jA+kD70pS9AnLI6kRbmGIqtl0j2paXYGpBc8YgMPgXDYjPXVM8DJsVkg05hiuTbBEWcK1YLDJJs\n1WF+uze05+INwsbvaBC/KTaHHqbgiaxbN0pbRm65DlwEuVfil2IZgu+ZvThf2kw9E3ZkZstAOVtw\nHpliPMsSndTtkSLIwS9wx8a2CZFMKrdkySBQ7Aux1iEaBX6ysYcLhGWFTXk6h73iDD8GaBr5YQUf\n8BWKbUQ8mfmobjec5zFwCTHEFiZe32HBOYlRR7FNFM0MkGnnRLtHT1R2vMktFYdgB+IvHo2ocgav\nCl+mrhimAzR6UspXiFKKmYzpMyMumRyGT2NrazHPsF9rM7WIyJj+YlYziZvdkGHAm9BNROVmNZNg\ndmNeOvI30ee+ErrGbVef/tt/p/oDE5RbUXZvbKEAAAAASUVORK5CYII=\n", "prompt_number": 16, "text": [ "\u27e8\u03c8\u2758\u2a02 \u2758\u03c6\u27e9" ] } ], "prompt_number": 16 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 16 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }