{ "metadata": { "name": "", "signature": "sha256:9e30b4353144ef34efd3c4b9ab05157aa3de69cd80af680c66504804f1dc7010" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "
\n", "This doesn't go with any particular section of the notes. It just\n", "demonstrates the use of the a few of the functions from \"sglib.\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n",
"You've already been using the col()
and row()
\n",
"functions to create column vectors and row vectors:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"col(1,2,3)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"latex": [
"$$\\left[\\begin{matrix}1\\\\2\\\\3\\end{matrix}\\right]$$"
],
"metadata": {},
"output_type": "pyout",
"png": "iVBORw0KGgoAAAANSUhEUgAAABoAAABLCAMAAABZRmeuAAAAPFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAo1xBWAAAAE3RSTlMA\nMquZdlQQQOkwRM0iu+/dZolsKH0JNQAAATZJREFUOBHtldmawyAIRt2SaROXOLz/u1ZAzUdCbudm\n6kVqOeDyC2osUHNmtsIWYyz40NoyiTnwvwNE9rSeveOK9nXAC4oJdLQm7x5QGyp80VTeuwzFHSzw\nRd6hOv5+0bMa0fuURioLoVasiAobxwrkKHNzVlAuaHT9jETUTqmrIh6o9NwWUYQ2qOxyRyUxuZ+y\nH4TQz+vdHVsRncX++xK1vPjmFCN5yrksEhMUFEut1Tva+CXZdr5JNERTzI+ca5qx8+9RbPKmcQcL\nNSKeyQLaDRAAI0BTfsstp1fYUVxNXn1Act4pCe5RtpZBlPOquReYWDwNaHLmV0AgTsBEW7isEKhG\nUt+ziMqU7wWUFD1QogUCzymizObbFdCrXFk8h7SvjJpm7Pw9enyyV3ygQxj7wcWxxXwADY4Zi0gr\naeYAAAAASUVORK5CYII=\n",
"prompt_number": 4,
"text": [
"\u23a11\u23a4\n",
"\u23a2 \u23a5\n",
"\u23a22\u23a5\n",
"\u23a2 \u23a5\n",
"\u23a33\u23a6"
]
}
],
"prompt_number": 4
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"row(4,5,6)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"latex": [
"$$\\left[\\begin{matrix}4 & 5 & 6\\end{matrix}\\right]$$"
],
"metadata": {},
"output_type": "pyout",
"png": "iVBORw0KGgoAAAANSUhEUgAAAFIAAAAZBAMAAABQnWQHAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAu90iMpl272bNiRBU\nq0QwBS8SAAABFUlEQVQ4EWMQUjJgIAz4lLQYFAgrA6uwJVWlK4rB0za4PkAW4Fq2hIEBaqYisgRD\n/f9vyHzueQyRMJVshcgyDLOuoXiScwGDIEylxUQUlRdQeAz9YH0Q2xfgVSkO1ghWyWGAqvJGWwiy\nqT+9Uh9Abd/GgKpSmsEeKAUD3D8bGGqgKhegqWRgYFSAqWNg4P6/gSF8AziUeBwwVLJ+Rqhk+MTA\n0P8ArHIXA6pK3gkMXP+QVFYCVTaAVZ69e/f7NSQZ9gkMrL+R+EC/Q80EChYiSTCwMjAwTUASOA90\nJ9RHDAwfkSQYmAMY2pEjiXEBN8zvDAv/30BWaro2GpnLsDTWAW4migR2DsnpE7sxKKJDx0wlIvO7\nLgAZp0F1A5wKvwAAAABJRU5ErkJggg==\n",
"prompt_number": 5,
"text": [
"[4 5 6]"
]
}
],
"prompt_number": 5
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"I've added one more\n",
"\"creation\" function, mat()
which will create square\n",
"matrices:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"mat(1,0,0,-1)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"latex": [
"$$\\left[\\begin{matrix}1 & 0\\\\0 & -1\\end{matrix}\\right]$$"
],
"metadata": {},
"output_type": "pyout",
"png": "iVBORw0KGgoAAAANSUhEUgAAAEYAAAAyBAMAAAATs7BgAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMA74lUMhDNIruZq3bd\nZkRVk0nZAAABRUlEQVQ4EWOQ//+JAR/Q//+RQdjFFZ8ShhAXQwYRvCpAko4QNWwB6CpZJ+10gIpB\n1LD3Y6hhM2A9jqyGtXM9hpqLDAxqyGoYGPZjqOliYLCHCkLdg6nmFwPDewOIQbjUsP4EqtmAXw07\nMGD9FShXwwo0h5BdDED32BNwM8MJBob7hPy+kYFhGsTJsPjCDB8eA1ZYbEPCZ5b8qQtQTTCKVXuX\nA6o5MBmsNDScscrBBEfVwEICO018+ERqT8FuRCpIGGJOMkNMATZFFV/hangFGJgSsKiJmIVQw7GA\ngRnMQ1fHjVDDv4CB7zO6PIiPpCZ+AgPfbwJq6hUYWLAWZkjmEKMmXgHVrrAzIJCC4h7+CQzMhNzM\n08DAS8jv3AIMnAkE/MVwmCHQgZCaoN1LsCnhXPhnLVCc+LSBzRCE2OAzh5i6iYg6DgCd12cy9umd\nxwAAAABJRU5ErkJggg==\n",
"prompt_number": 6,
"text": [
"\u23a11 0 \u23a4\n",
"\u23a2 \u23a5\n",
"\u23a30 -1\u23a6"
]
}
],
"prompt_number": 6
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"mat(1,2,3,4,5,6,7,8,9)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"latex": [
"$$\\left[\\begin{matrix}1 & 2 & 3\\\\4 & 5 & 6\\\\7 & 8 & 9\\end{matrix}\\right]$$"
],
"metadata": {},
"output_type": "pyout",
"png": "iVBORw0KGgoAAAANSUhEUgAAAFgAAABLCAMAAADDCbAzAAAAPFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAo1xBWAAAAE3RSTlMA\nMquZdlQQQOkwRM0iu+/dZolsKH0JNQAAA21JREFUWAntmW2D5BAMgBV1e0OV8///6yXxMtURu53b\n20/1oaPUI4IkjFgSJSm+Ke2ZJ8SSlIa0fhNXBKTJhODlu5hPTjiBrXnWveScUtvGC+FijFsddw92\nW5qADc5CTI+XDnOBU/C7ppDfjmCzKTkDS+rUewasE0qb9lcwlOgZ2FMbyc3Iw8NYTLLXwZZ6ZcEE\nHKriM4mzKPtsUMKiojEddQyvU1VQg0eK9Dt6LHGv3OvgfRshW1n0ZTlelVjNuUJ4nxfsRbCeGBTn\nUO6NFt1VHa+owgxog2+ZRLO6lR1ySeKFpkaTZI3XMp60tKdcfQXsdjAGSpat1YA1E3Azr0nn9w6s\npE+7LJu9fv/8tdnOcmDxUGCkqiXpwE/Gv+ducNPhrYpbFU0DLfNzqyJbsNZxl7HaiEVVa9BV5ZcY\ndRx7ECFmrsejFSrWa4A1FvpUY/cvdLaqg2ZQZKPkjDE2sOhmt+K7Tjp2wU6c2sQvATIUE499vLim\nKN4Hb13s1Usc3BwcglZstJnsEnWb2g5sYGJmEm/g2R0XbULUhr7Hlzi2A6PyZ2DUndgY12Syl1aD\nuGLFUX4KVt0cUV/5kQPYUEaEEv/6+I1VhoKyCVjSEmUjb0/VocQVfz7aGWSVmJKX3BbILRUXbeZV\ncZS4O9xMNkiOJPeytQ5KyNmVelRl0XWThx8kfoPQISN4JhCCaQVdmuGqgKPLlhIfsTgVpZqcfqJS\nsi7zF4lfRvhmwQ1uirtVcauiaaBlfmRVLLtUcC6KZJdb14eM0To2p3YoL1mjwOdVE3WUOORTUWK9\nPNlNWS9nzmTjwee5avyO4NIby13poOY4eyzJEstBwJJVUIOvs0BoU7HMMM5U5LuVWBzMUWJCPTjH\nJMQjof+PzAHTZBehD860c028AxFCphQ4LkQUxdfmjs8S8+1wPCol/mIugsOH8KGEoyewoUr8YJSC\nWmzCu6pxsqDFNTLXCtyUIyrgegmphDoDOFxqLnF8ETILu0UmLqXlAIxF9UqwV4XhNwfe1WUW78Wx\n3pZt0IPhwjc3Hj7Lptrqrj19RBHHUiO7HrxOwQ9aEYFb6BqqDYWy2GMPdjWOOQlTXhcwUhMjBPFK\nu2A5gce8t0p7id9CjBvd4KaX/6wK8kms52hSfDHT/mABH4mJtVpf5LXP6A8WrcVff08pOplyZhwA\nAAAASUVORK5CYII=\n",
"prompt_number": 7,
"text": [
"\u23a11 2 3\u23a4\n",
"\u23a2 \u23a5\n",
"\u23a24 5 6\u23a5\n",
"\u23a2 \u23a5\n",
"\u23a37 8 9\u23a6"
]
}
],
"prompt_number": 7
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"I've also \"predefined\" a number of vectors and matrices that we care about:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"sigma_x, sigma_y, sigma_z"
],
"language": "python",
"metadata": {},
"outputs": [
{
"latex": [
"$$\\begin{pmatrix}\\left[\\begin{matrix}0 & 1\\\\1 & 0\\end{matrix}\\right], & \\left[\\begin{matrix}0 & - i\\\\i & 0\\end{matrix}\\right], & \\left[\\begin{matrix}1 & 0\\\\0 & -1\\end{matrix}\\right]\\end{pmatrix}$$"
],
"metadata": {},
"output_type": "pyout",
"png": "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\n",
"prompt_number": 8,
"text": [
"\u239b\u23a10 1\u23a4, \u23a10 -\u2148\u23a4, \u23a11 0 \u23a4\u239e\n",
"\u239c\u23a2 \u23a5 \u23a2 \u23a5 \u23a2 \u23a5\u239f\n",
"\u239d\u23a31 0\u23a6 \u23a3\u2148 0 \u23a6 \u23a30 -1\u23a6\u23a0"
]
}
],
"prompt_number": 8
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"pX, mX, pY, mY, pZ, mZ"
],
"language": "python",
"metadata": {},
"outputs": [
{
"latex": [
"$$\\begin{pmatrix}\\left[\\begin{matrix}\\frac{\\sqrt{2}}{2}\\\\\\frac{\\sqrt{2}}{2}\\end{matrix}\\right], & \\left[\\begin{matrix}\\frac{\\sqrt{2}}{2}\\\\- \\frac{\\sqrt{2}}{2}\\end{matrix}\\right], & \\left[\\begin{matrix}\\frac{\\sqrt{2}}{2}\\\\\\frac{\\sqrt{2} i}{2}\\end{matrix}\\right], & \\left[\\begin{matrix}\\frac{\\sqrt{2}}{2}\\\\- \\frac{\\sqrt{2} i}{2}\\end{matrix}\\right], & \\left[\\begin{matrix}1\\\\0\\end{matrix}\\right], & \\left[\\begin{matrix}0\\\\1\\end{matrix}\\right]\\end{pmatrix}$$"
],
"metadata": {},
"output_type": "pyout",
"png": "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\n",
"prompt_number": 9,
"text": [
"\u239b\u23a1 ___\u23a4 \u23a1 ___ \u23a4 \u23a1 ___ \u23a4 \u23a1 ___ \u23a4 \u239e\n",
"\u239c\u23a2\u2572\u2571 2 \u23a5 \u23a2 \u2572\u2571 2 \u23a5 \u23a2 \u2572\u2571 2 \u23a5 \u23a2 \u2572\u2571 2 \u23a5 \u239f\n",
"\u239c\u23a2\u2500\u2500\u2500\u2500\u2500\u23a5, \u23a2 \u2500\u2500\u2500\u2500\u2500 \u23a5, \u23a2 \u2500\u2500\u2500\u2500\u2500 \u23a5, \u23a2 \u2500\u2500\u2500\u2500\u2500 \u23a5, \u23a11\u23a4, \u23a10\u23a4\u239f\n",
"\u239c\u23a2 2 \u23a5 \u23a2 2 \u23a5 \u23a2 2 \u23a5 \u23a2 2 \u23a5 \u23a2 \u23a5 \u23a2 \u23a5\u239f\n",
"\u239c\u23a2 \u23a5 \u23a2 \u23a5 \u23a2 \u23a5 \u23a2 \u23a5 \u23a30\u23a6 \u23a31\u23a6\u239f\n",
"\u239c\u23a2 ___\u23a5 \u23a2 ___ \u23a5 \u23a2 ___ \u23a5 \u23a2 ___ \u23a5 \u239f\n",
"\u239c\u23a2\u2572\u2571 2 \u23a5 \u23a2-\u2572\u2571 2 \u23a5 \u23a2\u2572\u2571 2 \u22c5\u2148\u23a5 \u23a2-\u2572\u2571 2 \u22c5\u2148 \u23a5 \u239f\n",
"\u239c\u23a2\u2500\u2500\u2500\u2500\u2500\u23a5 \u23a2\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u23a5 \u23a2\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u23a5 \u23a2\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u23a5 \u239f\n",
"\u239d\u23a3 2 \u23a6 \u23a3 2 \u23a6 \u23a3 2 \u23a6 \u23a3 2 \u23a6 \u23a0"
]
}
],
"prompt_number": 9
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"
\n", "As you can see above, when you simply put the name of an object\n", "in a cell and execute it, python displays the object. But the way\n", "it's displayed, is not always the way we would like to see\n", "it. For example, in the vectors above the denominators are \"rationalized\"\n", "instead of leaving the $\\sqrt{2}$ in the denominator.\n", "
\n", "\n",
"Here's a function called sg_print()
which will attempt\n",
"to display vectors and matrices in a way that is similar to what we do\n",
"on the board. It works pretty well, but it is not always successful.\n",
"
sg_print()
can also do decimal approximations, which can\n",
"be handy when you're deailing with an object too complicated in its\n",
"exact format:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"M2 = M/(1+sqrt(3))\n",
"M2"
],
"language": "python",
"metadata": {},
"outputs": [
{
"latex": [
"$$\\left[\\begin{matrix}\\frac{\\sqrt{2}}{2 + 2 \\sqrt{3}} & \\frac{\\sqrt{2}}{2 + 2 \\sqrt{3}}\\\\\\frac{\\sqrt{2}}{2 + 2 \\sqrt{3}} & - \\frac{\\sqrt{2}}{2 + 2 \\sqrt{3}}\\end{matrix}\\right]$$"
],
"metadata": {},
"output_type": "pyout",
"png": "iVBORw0KGgoAAAANSUhEUgAAAKMAAABCBAMAAADJWnuUAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMARM1UEHaJu2Yimasy\n3e/JfTDcAAAETUlEQVRYCaWYP2hTURTGT9K0TdKkBgpdFBIiFhe1EIpjH4i4laDQtVk62A526OTS\njMVBAw6OrSLWUYqLWxB0LQgdOjgojoItdtApnnP/vdxzz3t9D+/Ql3POd3/vNWm/+xGAYE2OcJ0G\nbamxRtJg0ByNWn5z3i9TqkKPD3dGo0VodjoNf7ANG48jv5VQTUdTB6+92VxnGZFeC4uJ7tRgpsW7\nYr0ED+GQTWYFZBHqg9pfJpTLFpzA0cCfSchdmG1UznydXJX78A322NsmIVu4f+JchvjdIpXLkd/k\nyOcAk4soqXd9XVhVUPaA2sdsxpCFRxHcI8kG04Xl/DmUtrA9tc9mDAnFHrxESZnr2DYqF6DawMsT\nPuLIwnmFbj0PV7gyqJvRC+wVeoWhP+JIWJgZANSudrZ9nVAVex+w+7FzO/KHAbJ5GQWzWf7FC2fv\nUPor+BcPkMVsf+P0YLfw9xFWgKx1BZXc+iS3A6Qsy9O1SLI9eXHaJVmG3VMttUi+8T/qVCQ9j7n1\nBbdQj240acjQshPB4+eAQ8Y+7nx6OlrfjEKKm6MTWPPfnlp9b5UWaXy8gX3n00vVfnXLCuOrnhew\n4cx/ovsWDqzCIo2PE8H5dKvaKwtvpZ5Po9KZfxHewDOOND5OSOvTaNlQbVlhfNVzQjrz38XilVXY\npzQ+rn9P7dNk2StDKxy/0pyQzvxbAKWfqoE/YmS9i6VGHoOx7LvXrM67ko9rJG7S50DpPm1XK0Yq\nH1dI9Glr2dLHo31cIzfAnQMHARJ9fKbd/t6+rn3aWHbttxWOXdHHD9s32+2+Mn9zDsDRopG4p9Q+\nTk+pfFpZ9sqw8mcMZV5qH1dPSZvUOYDv5F7fzC3S+DghlU8ry64Pyj+MbuyifZyQepM6B07gaWQ0\nFml8nJDKp5Vl19Y3B0Y3dtE+Tki9SZ0Dn1fp1FDLIk1JSL0SLNuOzSdOJT8HGHLfbUmwbDevulf8\nHGBIrcsRWWnDGpmgu8PYn3rcw1M8z+IeKD5l9shKt+axVULmiKyE5LFVQuaIrITksVVCZo+sRAxi\nq4RsoTBbZCUkeaAXWzkye2QlkhhbGdJZlbI62pW6rAd6sZUh80RWupkUWzkyR2QlpBRbOTJHZCWk\nFFsDZPbISkgptgZIblW0MWUJHhgguVWl4GgkeGCATEOUbnzF9WWYponPcbI8eUn7U2NrrqeU6GEv\nFUmPfRruSejYsyANye06AWXb9ixwSJc+wUXShMhKCKcZj62gE65F5oishBRjq0m4FpkjshJSjK0m\n4VpkjshKyITYqhKuReaKrASVYqtOuDGy3kWhDjAXRVZCCrEVdMKNkdkjKxGVj6tAiN9ZuLNAJVyH\nzBFZCSnHVpVwHTJ7ZCWiFFvxnVQJl5D0NV6OyEpIMbaqhLtDX+Pdoa/xckRWQoqxVSXcuU5nQAq3\n9CdOpWDXTmVf6I+HqpSzYN+qJbt2M/siKbb+A9SK0FgZIIWoAAAAAElFTkSuQmCC\n",
"prompt_number": 13,
"text": [
"\u23a1 ___ ___ \u23a4\n",
"\u23a2 \u2572\u2571 2 \u2572\u2571 2 \u23a5\n",
"\u23a2\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u23a5\n",
"\u23a2 \u239b ___\u239e \u239b ___\u239e\u23a5\n",
"\u23a22\u22c5\u239d1 + \u2572\u2571 3 \u23a0 2\u22c5\u239d1 + \u2572\u2571 3 \u23a0\u23a5\n",
"\u23a2 \u23a5\n",
"\u23a2 ___ ___ \u23a5\n",
"\u23a2 \u2572\u2571 2 -\u2572\u2571 2 \u23a5\n",
"\u23a2\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u23a5\n",
"\u23a2 \u239b ___\u239e \u239b ___\u239e\u23a5\n",
"\u23a32\u22c5\u239d1 + \u2572\u2571 3 \u23a0 2\u22c5\u239d1 + \u2572\u2571 3 \u23a0\u23a6"
]
}
],
"prompt_number": 13
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"sg_print(M, exact=False, ndigs=3)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"$\\left[\\begin{matrix}0.707 & 0.707\\\\0.707 & -0.707\\end{matrix}\\right]$"
],
"metadata": {},
"output_type": "display_data",
"text": [
"\n", "If you set the \"exact\" parameter to False, then you will get a decimal\n", "approximation. Note that python requires \"True\" and \"False\" to begin with\n", "a capital \"T\" and \"F.\" The \"ndigs\" parameter tells how many \"digits\n", "of accuracy\" you want. In many cases, this will end up meaning the number\n", "of digits after the decimal point. There is a limit to how many digits\n", "you can get, but we are mainly interested in making the number small, so\n", "that things print out in a readable way.\n", "
\n", "\n",
"The reason I used the name sg_print()
is because python\n",
"already has a print()
function:\n",
"
\n",
"The print_eigenvectors()
function finds the eigenvalues and\n",
"eigenvectors of an operator (a matrix) and prints them out in a readable\n",
"format:\n",
"
find_eigenvectors()
function:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"eval, evec = find_eigenvectors(sigma_y)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 17
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n", "\"eval\" and \"evec\" are just variables. You can name them anything you\n", "want. The first variable will end up with a list of all the eigenvalues,\n", "and the second one will end up with a list of all the eigenvectors.\n", "You can get a specific one by supplying an index in square \n", "brackets. Note that python, like most computer languages, uses zero for\n", "the first index, rather than one.\n", "
" ] }, { "cell_type": "code", "collapsed": false, "input": [ "eval" ], "language": "python", "metadata": {}, "outputs": [ { "latex": [ "$$\\begin{bmatrix}-1, & 1\\end{bmatrix}$$" ], "metadata": {}, "output_type": "pyout", "png": "iVBORw0KGgoAAAANSUhEUgAAAEkAAAAZBAMAAACP0x4YAAAALVBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAOrOgAAAADnRSTlMAu90iEM0ymat272ZEieIx\nuvsAAAB6SURBVCgVYxBSMmDADw4pXWBQwK8EJMvcQI6qEAyDWR0wzDJ8gq6KWQ5DlWMFuioW8T4M\nVQyc6KoYGOYNelWuSiAQxjCoXe8XgBJLmKHK3vWom4EJJfwr1mlswJpyDqOYBeJgS18biFHFQpQq\nbgyjsNpIc1VKROTHBgCD+TIQNJw1owAAAABJRU5ErkJggg==\n", "prompt_number": 18, "text": [ "[-1, 1]" ] } ], "prompt_number": 18 }, { "cell_type": "code", "collapsed": false, "input": [ "eval[0]" ], "language": "python", "metadata": {}, "outputs": [ { "latex": [ "$$-1$$" ], "metadata": {}, "output_type": "pyout", "png": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAPBAMAAAAMihLoAAAAJ1BMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAilU6eAAAADHRSTlMAEM3dMiK7mat272a9noTYAAAALklE\nQVQIHWNggANFOIuBIewggiNWgcRh4CSTI2QMAioMZBsAcxB71+FuGBtMAwDSnw2AS5zPhQAAAABJ\nRU5ErkJggg==\n", "prompt_number": 19, "text": [ "-1" ] } ], "prompt_number": 19 }, { "cell_type": "code", "collapsed": false, "input": [ "eval[1]" ], "language": "python", "metadata": {}, "outputs": [ { "latex": [ "$$1$$" ], "metadata": {}, "output_type": "pyout", "png": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAPBAMAAAArJJMAAAAAJFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAADHJj5lAAAAC3RSTlMAzRAiu5mrdu/dZmiL4QAAAAAjSURBVAgd\nY2BgEGJgYDDZxMCgEgYkGNhJJVgzdmYB9TEwAACPpQrvlUCHcAAAAABJRU5ErkJggg==\n", "prompt_number": 20, "text": [ "1" ] } ], "prompt_number": 20 }, { "cell_type": "code", "collapsed": false, "input": [ "evec" ], "language": "python", "metadata": {}, "outputs": [ { "latex": [ "$$\\begin{bmatrix}\\left[\\begin{matrix}\\frac{\\sqrt{2}}{2}\\\\- \\frac{\\sqrt{2} i}{2}\\end{matrix}\\right], & \\left[\\begin{matrix}\\frac{\\sqrt{2}}{2}\\\\\\frac{\\sqrt{2} i}{2}\\end{matrix}\\right]\\end{bmatrix}$$" ], "metadata": {}, "output_type": "pyout", "png": "iVBORw0KGgoAAAANSUhEUgAAAK4AAAA/BAMAAACLGO47AAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMARM1UEHaJu2Yimasy\n3e/JfTDcAAADuElEQVRYCbWYv2sUQRTH395dNjlzFw+CAVG4BSGV4I9FJIVkMYWFQg7stMgVNkmj\nRWxsTClWBxEsPUGwDRaCXRAsrLSxsLAQ/wATc43VOu/N7MzsZfe9SeEr3s7efPdzc/vje9876Od5\nAqA7VNbTPL9cMRHl+Z/pl2fz/AiAej9Ne4pLfVqm9xfT1UruUXpl+oAoTRWXep/mdHeymVzVQbG/\nUMm100q2gXqS/zK9mrtUIGkrcqOh1fPcbdh6klmtyJ3N4rdvtJzlNgfxaD4J516DTXgXwG1Ad9T5\nG85N4Dt8GZGeXe8zWOi1D4O5czvwE171ZG6iJM1JMLeBytWM9LXr3QWYwfuqOyAdNu66tZX2Loq+\nYQOo40YPM7iFgi1sujju0gRaj5QsHmttHRcaQ3itJHNGh2qOC8twqqc0z1GoqpYbTdr4/ktwnnTY\nWG4/e6kk0TDaR2k9F5bnRwCdC+k26bCx3Mbwg5J8TK9nKGW4/XNqesGzB54bHe4p/W9jDwy34R4I\nXIAqdr1wSX08V7XnFzoDp9IjnvupJK/nlmS0w3PL+jouGqkpewDDPV2Ii+tRx7Uwb8BwPZUeclxr\npuYoiet7Nce1ZhrGLXk1x7VmGsYteTXHtWYaxi15Nce1ZhrGLXk1zzVmGsrtukeJ5cZjQ9Qb6X7w\nvZrlFmYauF7fqzmuNdNAru/VHNeaaRi35NUc15ppGLfk1RyXcBvoKBosXTc/JUpcL8oJvo7fha4k\nroly9/AIab06Jc6MUStxTZT7jFrNXU9wbCs6KIYmJXbo+0jielHOcLsuWCHRcUspUeD6Ua44D2eL\nBdLWcUspUeCaKHdmDxnm/O4Qr2iOm6iXmpPoPs0wXC/KPaDPrrmtHTqwaJrrUmK8nuEUw3VRrr32\nFbWaO4dDV8T1UuKLGzTHcL0oNztAsTkPjokjvV4vJT6meY7rotz6HRQzXJcSW5N91HJcF+Wuxqhl\nuC4lNpMhajmui3K3N1HLcW1KbL2Xn4tylGO50ymRWy+UoxzLnU6JLBc/vFfcefBkNDzOvfkD6yJ4\nUU458IFS13PRo10h+DiX3q6y1XOPyyWun/0kbmjuw1X42U/gBuc+5PrZT+AG5z7k+tlP4J4g9yHZ\n/JBWI4F7gtyHXJf9RG6XbA8Pku+zeEw6bCLX+40u3Wf2h3QANzT34Rr97CetNzT3IdfPfgI3OPch\n189+AvdkuQ/hpgRuIaOtvW7/6X/PNfrHU/fSG9udxTSlbxj7gh600sr/PVfUJU/TlX/Tl8clN/vA\n1QAAAABJRU5ErkJggg==\n", "prompt_number": 21, "text": [ "\u23a1\u23a1 ___ \u23a4 \u23a1 ___ \u23a4\u23a4\n", "\u23a2\u23a2 \u2572\u2571 2 \u23a5 \u23a2 \u2572\u2571 2 \u23a5\u23a5\n", "\u23a2\u23a2 \u2500\u2500\u2500\u2500\u2500 \u23a5, \u23a2 \u2500\u2500\u2500\u2500\u2500 \u23a5\u23a5\n", "\u23a2\u23a2 2 \u23a5 \u23a2 2 \u23a5\u23a5\n", "\u23a2\u23a2 \u23a5 \u23a2 \u23a5\u23a5\n", "\u23a2\u23a2 ___ \u23a5 \u23a2 ___ \u23a5\u23a5\n", "\u23a2\u23a2-\u2572\u2571 2 \u22c5\u2148 \u23a5 \u23a2\u2572\u2571 2 \u22c5\u2148\u23a5\u23a5\n", "\u23a2\u23a2\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u23a5 \u23a2\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u23a5\u23a5\n", "\u23a3\u23a3 2 \u23a6 \u23a3 2 \u23a6\u23a6" ] } ], "prompt_number": 21 }, { "cell_type": "code", "collapsed": false, "input": [ "sg_print(evec[0])\n", "sg_print(evec[1])" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "$\\frac{1}{\\sqrt{2}}\\left[\\begin{matrix}1\\\\- i\\end{matrix}\\right]$" ], "metadata": {}, "output_type": "display_data", "text": [ "