{ "metadata": { "name": "", "signature": "sha256:9eb421b5c64100b60b2a228d85af4c4839be103218ede378df2c27a586f50554" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Test boson and fermion commutators and anticommutators" ] }, { "cell_type": "code", "collapsed": false, "input": [ "from sympy import *\n", "init_printing()" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 1 }, { "cell_type": "code", "collapsed": false, "input": [ "from sympy.physics.quantum import *\n", "from sympy.physics.quantum.boson import *\n", "from sympy.physics.quantum.fermion import *\n", "from sympy.physics.quantum.operatorordering import *" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 2 }, { "cell_type": "markdown", "metadata": {}, "source": [ "These distinguishable single-mode boson/fermion operators, but do not in general need to be independent." ] }, { "cell_type": "code", "collapsed": false, "input": [ "a, b = BosonOp(\"a\"), BosonOp(\"b\")\n", "c, d = FermionOp(\"c\"), FermionOp(\"d\")" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 3 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Boson" ] }, { "cell_type": "code", "collapsed": false, "input": [ "Commutator(a, Dagger(a)).doit()" ], "language": "python", "metadata": {}, "outputs": [ { "latex": [ "$$1$$" ], "metadata": {}, "output_type": "pyout", "png": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAPBAMAAAArJJMAAAAAJFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAADHJj5lAAAAC3RSTlMAzRAiu5mrdu/dZmiL4QAAAAAJcEhZcwAA\nDsQAAA7EAZUrDhsAAAAjSURBVAgdY2BgEGJgYDDZxMCgEgYkGNhJJVgzdmYB9TEwAACPpQrvlUCH\ncAAAAABJRU5ErkJggg==\n", "prompt_number": 4, "text": [ "1" ] } ], "prompt_number": 4 }, { "cell_type": "code", "collapsed": false, "input": [ "AntiCommutator(a, Dagger(a)).doit()" ], "language": "python", "metadata": {}, "outputs": [ { "latex": [ "$${{a}^\\dagger} {a} + {a} {{a}^\\dagger}$$" ], "metadata": {}, "output_type": "pyout", "png": "iVBORw0KGgoAAAANSUhEUgAAAFUAAAAVBAMAAADFg78FAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAIquJdjLdEETvu2aZ\nVM0GsGrEAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABN0lEQVQoFZWRPUvDQByHfybi1ZhI6OIqWMFF\nqKB0DYjoWBc/gAiuh0txalZHV0XpB9DaydnFQRfrJ9BBHBxCQcRJ8F56/97Fy2CH3HP3PHfkUkD/\nVsZj5RDkpP7TtmhXBYTciP7VhUH/GH08DMeGt2ibv2Vhh8QyUQUEbRLXRBUQmVcA3Jalf3ZY7aoj\nk8yZykkwOdf9vr42FxumlrYOgXsiATCtdvX1PY5Y3u0kjUbAGpHdKlc7xQ0Qiiuwc8Q9YJvIarU7\nHuARmOZA/I2ZDJiQ1Wr3xHEgThLrsz1029IThUXxflkUd2blDOxLBeg28SJPhUXmbsp1PpGM5Kmi\nGKKfpC5RK93CD6LXZ9XOZ3P7YYlMq90bbhebqmCNjfpOiUyr3dHmbiNXhfdh/guvLC3WBqUFNf0F\nrsBN1BM5mj4AAAAASUVORK5CYII=\n", "prompt_number": 5, "text": [ " \u2020 \u2020\n", "a \u22c5a + a\u22c5a " ] } ], "prompt_number": 5 }, { "cell_type": "code", "collapsed": false, "input": [ "normal_ordered_form(AntiCommutator(a, Dagger(a)).doit())" ], "language": "python", "metadata": {}, "outputs": [ { "latex": [ "$$1 + 2 {{a}^\\dagger} {a}$$" ], "metadata": {}, "output_type": "pyout", "png": "iVBORw0KGgoAAAANSUhEUgAAAEwAAAAVBAMAAAAeOBUnAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAzRAiu5mrdu/dZlSJ\nRDLkM64aAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABHklEQVQoFWNgwAfYLuCThcsRqYxHAa4DD4NF\nJGIDHmmYFBOPEozJwCCEYIJZzKEuD6BCbDAGA4PJJ6gYjFJj4PkLZbPA7VQJgyljMoBIJjEwdGAo\nY2CHKeMugEh2MjDkP4Aw2eCmYSqTV0AouwA1lgFTGVBmvgKD2fGXCgysIFPBLGzKeP8w8DYz+DMw\n8ACdC2FhU8bpwKCxgCEEaJMCA5SFTRlQQbwCw3QGBiagnRAWVBmPoKBko6BgAFCcgT2BgaGFgekf\niA1nYQQIw1YGZqM/DNwfQGYxMEFZGMr4AhjYjX4zsAhsBiuDsjCUWZ45mskgzrAy4QBIGZTFmvEz\nC8xlgMWC/P//PxnUah6nQ8IWwUJVBuHhJHkX4JRiAACNP0xWaf/ChQAAAABJRU5ErkJggg==\n", "prompt_number": 6, "text": [ " \u2020 \n", "1 + 2\u22c5a \u22c5a" ] } ], "prompt_number": 6 }, { "cell_type": "markdown", "metadata": {}, "source": [ "In general, different boson operators do not commute, and we do not know anything about the commutation and anticommutation relations:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "Commutator(a, b).doit()" ], "language": "python", "metadata": {}, "outputs": [ { "latex": [ "$${a} {b} - {b} {a}$$" ], "metadata": {}, "output_type": "pyout", "png": "iVBORw0KGgoAAAANSUhEUgAAAEEAAAAOBAMAAACC12zPAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAIquJdjLdEETvu2aZ\nVM0GsGrEAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAxUlEQVQYGWNgAIOqaRAaTmIIMDyCy0EZGAJ/\n0VWgC3B8R1OBIcCcgKYCWYBR2TWdgU/F5wKKGrAAWIqBoVOA6wND/XOGjygqwAJgKQb22Qw8Cxju\nFzB8RlEBEoBIMfB8Z2BzYDjHwA5SUZcGAk+BLJAARIqBcwFDfQDDGwYOVO+BBCBSDPUGDPcZCn6D\nzEIGIAGIFEP9BYZ1vAI/GCo3ICtgAAlApBj4HLiTmBm0GdagKAALQKQY2FVMhTwYapxQjQALQKQA\nvhFEEKnjnJwAAAAASUVORK5CYII=\n", "prompt_number": 7, "text": [ "a\u22c5b - b\u22c5a" ] } ], "prompt_number": 7 }, { "cell_type": "code", "collapsed": false, "input": [ "AntiCommutator(a, b).doit()" ], "language": "python", "metadata": {}, "outputs": [ { "latex": [ "$${a} {b} + {b} {a}$$" ], "metadata": {}, "output_type": "pyout", "png": "iVBORw0KGgoAAAANSUhEUgAAAEEAAAAQBAMAAAC7Cw8kAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAIquJdjLdEETvu2aZ\nVM0GsGrEAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAA6UlEQVQoFWNgAIOqaRAaTmIIMDyCy0EZGAJ/\nYSoKoQy4AJTP8R2m4gqEgRCASjAnQBkMUBUIAQYGRmXXdAY+FZ8LEDVQFWABsBQDQ6cA1weG+ucM\nH1FUgAXAUgzssxl4FjDcL2D4jKICJACRYuD5zsDmwHCOgR1VBUgAIsXAuYChPoDhDQMHyHt2795l\nvnv3BsgCCUCkGOoNGO4zFPwGmQUGUJeCBCBSDPUXGNbxCvxgqNyAogIkAJFi4HPgTmJm0GZYA1EA\nCw+QAESKgV3FVMiDocYJagRMBUgAIgXViaCg7kAIYLC60UUAYUFQEoaexGAAAAAASUVORK5CYII=\n", "prompt_number": 8, "text": [ "a\u22c5b + b\u22c5a" ] } ], "prompt_number": 8 }, { "cell_type": "markdown", "metadata": {}, "source": [ "But often different bosons are independent and do commute. We can use the `independent=True` hint to `doit` method in this situation:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "Commutator(a, b).doit(independent=True)" ], "language": "python", "metadata": {}, "outputs": [ { "latex": [ "$$0$$" ], "metadata": {}, "output_type": "pyout", "png": "iVBORw0KGgoAAAANSUhEUgAAAAoAAAAOBAMAAADkjZCYAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEJmJdjLNVN0iZu+7\nq0QgoRR7AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAVklEQVQIHWNgEDJRZWBgSGeQmMDAtYGBOYGB\n5wID+0cG/gsMfN8Z5BUY+L4wzDdgYP0MJeUNQCL8Cgzs3xk4DjBwfWRg2cDAlMDA0M4gHcDAIOxy\nlQEA9FISlFfRJtkAAAAASUVORK5CYII=\n", "prompt_number": 9, "text": [ "0" ] } ], "prompt_number": 9 }, { "cell_type": "code", "collapsed": false, "input": [ "AntiCommutator(a, b).doit(independent=True)" ], "language": "python", "metadata": {}, "outputs": [ { "latex": [ "$$2 {a} {b}$$" ], "metadata": {}, "output_type": "pyout", "png": "iVBORw0KGgoAAAANSUhEUgAAAB0AAAAOBAMAAAAh/woJAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAIpm7MhCriUTv3c12\nVGZoascqAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAwklEQVQIHWNgVDJ2YAADVssFQDqMgf0HhM/A\nnQBkpDIwzITy+S8AGbMYGPIdIAL9AUB6fwCcXwURZlgfwCBW4xXAsO2MLkiE4zsDx0QGewbW3wH8\nAkA+lwFD5AMGZQberwz8BUC+MgODfgDDGgamDQzxQD5PAgPDZAbWLwzcCgz9FxgYLjEwin5n4P3A\nyv8ApI5FgYFH9C8D84aL/A2s8xgYpMqLshj2MLxKKGB7wKwAdM///78Ywo475jSw6uQxMAAAszgt\nzYyZsNMAAAAASUVORK5CYII=\n", "prompt_number": 10, "text": [ "2\u22c5a\u22c5b" ] } ], "prompt_number": 10 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Fermion" ] }, { "cell_type": "code", "collapsed": false, "input": [ "AntiCommutator(c, Dagger(c)).doit()" ], "language": "python", "metadata": {}, "outputs": [ { "latex": [ "$$1$$" ], "metadata": {}, "output_type": "pyout", "png": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAPBAMAAAArJJMAAAAAJFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAADHJj5lAAAAC3RSTlMAzRAiu5mrdu/dZmiL4QAAAAAJcEhZcwAA\nDsQAAA7EAZUrDhsAAAAjSURBVAgdY2BgEGJgYDDZxMCgEgYkGNhJJVgzdmYB9TEwAACPpQrvlUCH\ncAAAAABJRU5ErkJggg==\n", "prompt_number": 11, "text": [ "1" ] } ], "prompt_number": 11 }, { "cell_type": "code", "collapsed": false, "input": [ "Commutator(c, Dagger(c)).doit().expand()" ], "language": "python", "metadata": {}, "outputs": [ { "latex": [ "$$- {{c}^\\dagger} {c} + {c} {{c}^\\dagger}$$" ], "metadata": {}, "output_type": "pyout", "png": "iVBORw0KGgoAAAANSUhEUgAAAFwAAAAVBAMAAAA5lpTPAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEM3dMol2IlTvq5m7\nZkT3Gyx5AAAACXBIWXMAAA7EAAAOxAGVKw4bAAABJUlEQVQoFWNgQAZcD5B5GOx1aCIkKmcVQNOP\nyg1E5fLo7GxAFUHhHTo9A4XPyCqIwkfjCASiWc7lgKYClbsElcvA04AmgMo9gcpFUy6OJsuArpyr\nAVlFGzIHxF6BJoAa7hjKkaOJNSyFgdsBqB/EAAOYcrBAaJoDwxaIOIhkt2BQYmAtgDKQlYNlihuY\nFBjCEco5A4BOYwMGLJiBrBwsMJUB6K9EBgYhYxBQYdgPigJGIAYzkJWDBLg/gkRASqBgDhojSEnJ\nUklJGygKkuE8AJOG0IxfoXw4g4EB4lWwgHwAqnKGvwwMHGAhOAOqHCzDf4GBoQFZxy4GRkg4wRkw\n5SAB7gUM0g7Iylljr0G4cAZMOVgg9G4CsmpsbFg0YZPDIvYWUwwA8Io7hSRiaCIAAAAASUVORK5C\nYII=\n", "prompt_number": 12, "text": [ " \u2020 \u2020\n", "- c \u22c5c + c\u22c5c " ] } ], "prompt_number": 12 }, { "cell_type": "markdown", "metadata": {}, "source": [ "In general different fermion operators do not commute (if they are dependent):" ] }, { "cell_type": "code", "collapsed": false, "input": [ "Commutator(c, d).doit()" ], "language": "python", "metadata": {}, "outputs": [ { "latex": [ "$${c} {d} - {d} {c}$$" ], "metadata": {}, "output_type": "pyout", "png": "iVBORw0KGgoAAAANSUhEUgAAAEEAAAAOBAMAAACC12zPAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAiXYyIt1Uze+rmRC7\nZkTTotXTAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAyElEQVQYGWNggII3XTAWjMYQ+QaTgdNoIny/\n4TJQBroIYwC6CnQR9gXoKhAigkoGDJ5C9gmoKiAiIDkG1wT2Ar4WhvMbUFRAREByDAyNDJwJOy4w\nLEdRwAARAckxcIH8sH4DQyBIxfZQECiGiYDlGDgOAPk9DNz/gBQSAIuA5Rj2CzAwcH9kYPvAjSQP\nFQHJMTDwX2BgyP7GwFOQgqICLAKSA7pjAsMugyKGqxPA6uGqwCJgOQYGwbsKDDsVTSY9gMuCGBAR\nkBwAN28+4jo7MJcAAAAASUVORK5CYII=\n", "prompt_number": 13, "text": [ "c\u22c5d - d\u22c5c" ] } ], "prompt_number": 13 }, { "cell_type": "markdown", "metadata": {}, "source": [ "And we do not know their anticommutator:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "AntiCommutator(c, d).doit()" ], "language": "python", "metadata": {}, "outputs": [ { "latex": [ "$${c} {d} + {d} {c}$$" ], "metadata": {}, "output_type": "pyout", "png": "iVBORw0KGgoAAAANSUhEUgAAAEEAAAAQBAMAAAC7Cw8kAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAiXYyIt1Uze+rmRC7\nZkTTotXTAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAA5UlEQVQoFWWQPw/BQBiHfxZFpf4sVnyCDnaT\nwcZmbMRmaSyX2CQmMTQ+gc2ogwEL30AXo8QHIGHpIhF97/pW2t5y1+d5cr07IByPBa94ThGfTTQn\niPFRZhcFTBhkemo1ZAAmDLR1smACVJomutW2FS8UIYeOpdnGHBc3VihCDpghb+09bFSA8ByKkEOB\n7rB10Y8XkkiH3DlQS+hfKmpCDISYMpEOpzKgv5F96ZQg/Isi5ICSB4x9FO0RfUWFJOSCczg4mhNc\nHdlzAUmkC57jVseh0Vrd5RZ8F0XIpcb/1VMqBM+k+AHB0ESrsAQx6QAAAABJRU5ErkJggg==\n", "prompt_number": 14, "text": [ "c\u22c5d + d\u22c5c" ] } ], "prompt_number": 14 }, { "cell_type": "markdown", "metadata": {}, "source": [ "But if we know that they are independent we can indicate this with the `independent=True` hint: " ] }, { "cell_type": "code", "collapsed": false, "input": [ "Commutator(c, d).doit(independent=True)" ], "language": "python", "metadata": {}, "outputs": [ { "latex": [ "$$0$$" ], "metadata": {}, "output_type": "pyout", "png": "iVBORw0KGgoAAAANSUhEUgAAAAoAAAAOBAMAAADkjZCYAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEJmJdjLNVN0iZu+7\nq0QgoRR7AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAVklEQVQIHWNgEDJRZWBgSGeQmMDAtYGBOYGB\n5wID+0cG/gsMfN8Z5BUY+L4wzDdgYP0MJeUNQCL8Cgzs3xk4DjBwfWRg2cDAlMDA0M4gHcDAIOxy\nlQEA9FISlFfRJtkAAAAASUVORK5CYII=\n", "prompt_number": 15, "text": [ "0" ] } ], "prompt_number": 15 }, { "cell_type": "markdown", "metadata": {}, "source": [ "and in this case the anticommutator is:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "AntiCommutator(c, d).doit(independent=True)" ], "language": "python", "metadata": {}, "outputs": [ { "latex": [ "$$2 {c} {d}$$" ], "metadata": {}, "output_type": "pyout", "png": "iVBORw0KGgoAAAANSUhEUgAAAB0AAAAOBAMAAAAh/woJAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAIpm7MhCriUTv3c12\nVGZoascqAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAuUlEQVQIHWNgVDJ2YIACDksFhjAG9h8wPgP/\nBYZUBoaZcH5/AMMsBoZ8B5hAFQPD/gAk/iawxPoABvaaIwyM6Uf+gvgc3xkY1zLsZugUYP4K4nMZ\nMHAWMOSyzmNg2gDiKzMw6AcwMDB9ZeAqAHJ5EhgYJgNpTgOG+AYgfYmBUfQ7kI4vYLjPEMDAosDA\nI/CPgYE3/gKDNa8Ag1R5URaDGgOrCvcBvmXsQPf8//+Lgb3uDQNrTonYCQYAy3spH8FnWFYAAAAA\nSUVORK5CYII=\n", "prompt_number": 16, "text": [ "2\u22c5c\u22c5d" ] } ], "prompt_number": 16 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Mix of fermion and boson operators" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Boson and fermion operators commute:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "Commutator(a, c).doit()" ], "language": "python", "metadata": {}, "outputs": [ { "latex": [ "$$0$$" ], "metadata": {}, "output_type": "pyout", "png": "iVBORw0KGgoAAAANSUhEUgAAAAoAAAAOBAMAAADkjZCYAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEJmJdjLNVN0iZu+7\nq0QgoRR7AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAVklEQVQIHWNgEDJRZWBgSGeQmMDAtYGBOYGB\n5wID+0cG/gsMfN8Z5BUY+L4wzDdgYP0MJeUNQCL8Cgzs3xk4DjBwfWRg2cDAlMDA0M4gHcDAIOxy\nlQEA9FISlFfRJtkAAAAASUVORK5CYII=\n", "prompt_number": 17, "text": [ "0" ] } ], "prompt_number": 17 }, { "cell_type": "markdown", "metadata": {}, "source": [ "So their anticommutator is this one:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "AntiCommutator(a, c).doit()" ], "language": "python", "metadata": {}, "outputs": [ { "latex": [ "$$2 {c} {a}$$" ], "metadata": {}, "output_type": "pyout", "png": "iVBORw0KGgoAAAANSUhEUgAAAB0AAAAOBAMAAAAh/woJAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAIpm7MhCriUTv3c12\nVGZoascqAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAArUlEQVQIHWNgVDJ2YEACYQzsP5C4DKkMDDOR\n+bMYGPIdkAT2B6DygVLrAxjYa44wMKYfWQpSyPGdgXEtw26GTgHmDyA+lwEDZwFDLus8BiYDEF+Z\ngUE/gIGB6SsD1wEglyeBgWEykOY0YIh3ANKXGBhFvwPp+AKG+wwBDCwKDDwC/xgYeOMvMFjzCjBI\nlRdlMagxsKpwH+Bbxs7AsP///18M7HVvGFhzSsROMAAAL3UlB3AAQt0AAAAASUVORK5CYII=\n", "prompt_number": 18, "text": [ "2\u22c5c\u22c5a" ] } ], "prompt_number": 18 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Versions" ] }, { "cell_type": "code", "collapsed": false, "input": [ "%reload_ext version_information\n", "\n", "%version_information sympy" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
SoftwareVersion
Python3.4.1 (default, May 21 2014, 01:39:38) [GCC 4.2.1 Compatible Apple LLVM 5.1 (clang-503.0.40)]
IPython2.1.0
OSposix [darwin]
sympy0.7.4.1-git
Thu Jun 05 15:27:54 2014 JST
" ], "json": [ "{ \"Software versions\" : [{ \"module\" : \"Python\", \"version\" : \"3.4.1 (default, May 21 2014, 01:39:38) [GCC 4.2.1 Compatible Apple LLVM 5.1 (clang-503.0.40)]\" }, { \"module\" : \"IPython\", \"version\" : \"2.1.0\" }, { \"module\" : \"OS\", \"version\" : \"posix [darwin]\" }, { \"module\" : \"sympy\", \"version\" : \"0.7.4.1-git\" } ] }" ], "latex": [ "\\begin{tabular}{|l|l|}\\hline\n", "{\\bf Software} & {\\bf Version} \\\\ \\hline\\hline\n", "Python & 3.4.1 (default, May 21 2014, 01:39:38) [GCC 4.2.1 Compatible Apple LLVM 5.1 (clang-503.0.40)] \\\\ \\hline\n", "IPython & 2.1.0 \\\\ \\hline\n", "OS & posix [darwin] \\\\ \\hline\n", "sympy & 0.7.4.1-git \\\\ \\hline\n", "\\hline \\multicolumn{2}{|l|}{Thu Jun 05 15:27:54 2014 JST} \\\\ \\hline\n", "\\end{tabular}\n" ], "metadata": {}, "output_type": "pyout", "prompt_number": 19, "text": [ "Software versions\n", "Python 3.4.1 (default, May 21 2014, 01:39:38) [GCC 4.2.1 Compatible Apple LLVM 5.1 (clang-503.0.40)]\n", "IPython 2.1.0\n", "OS posix [darwin]\n", "sympy 0.7.4.1-git\n", "\n", "Thu Jun 05 15:27:54 2014 JST" ] } ], "prompt_number": 19 } ], "metadata": {} } ] }