Skip to content

Instantly share code, notes, and snippets.

@DBremen
Last active April 1, 2020 12:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save DBremen/d1fed338583dfba348c9b433fd7e29a4 to your computer and use it in GitHub Desktop.
Save DBremen/d1fed338583dfba348c9b433fd7e29a4 to your computer and use it in GitHub Desktop.
Complex numbers
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "import numpy as np\nimport sympy as sym\nfrom IPython.display import Math,display",
"execution_count": 15,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "# j is in python the imaginary operator\nprint(np.sqrt(-1))\nprint(np.sqrt(-1,dtype='complex'))\nprint(sym.I)",
"execution_count": 2,
"outputs": [
{
"output_type": "stream",
"text": "nan\n1j\nI\n",
"name": "stdout"
},
{
"output_type": "stream",
"text": "C:\\Users\\Dirk\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:2: RuntimeWarning: invalid value encountered in sqrt\n \n",
"name": "stderr"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "# Two ways to create complex numbers"
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "real_part = 1\nimaginary_part = -5\ncn1 = np.complex(real_part,imaginary_part)\ncn2 = real_part + 1j*imaginary_part\nprint(cn1)\nprint(cn2)",
"execution_count": 3,
"outputs": [
{
"output_type": "stream",
"text": "(1-5j)\n(1-5j)\n",
"name": "stdout"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "# Add and subtract complex numbers"
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "z1 = np.complex(4,5)\nz2 = np.complex(3,2)\nprint(z1)\nprint(np.real(z1))\nprint(np.imag(z1))\n\nz1 - z2\n",
"execution_count": 4,
"outputs": [
{
"output_type": "stream",
"text": "(4+5j)\n4.0\n5.0\n",
"name": "stdout"
},
{
"output_type": "execute_result",
"execution_count": 4,
"data": {
"text/plain": "(1+3j)"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "w = np.complex(2,4)\nz = np.complex(5,6)\nprint(w + z)\nprint(np.complex(np.real(w) + np.real(z), np.imag(w) + np.imag(z)))",
"execution_count": 5,
"outputs": [
{
"output_type": "stream",
"text": "(7+10j)\n(7+10j)\n",
"name": "stdout"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "# Conjungate and multiplying numbers"
},
{
"metadata": {
"trusted": false
},
"cell_type": "markdown",
"source": "Conjungate = sames number but the sign of the imaginary part is flipped"
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "z1 = np.complex(4,5)\nz2 = np.complex(6,-2)\nprint(z1*z2)",
"execution_count": 6,
"outputs": [
{
"output_type": "stream",
"text": "(34+22j)\n",
"name": "stdout"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "print(np.conj(z1))",
"execution_count": 7,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 7,
"data": {
"text/plain": "(4-5j)"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "display(Math('z\\\\times z^* = a^2 + b^2'))",
"execution_count": 16,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": "<IPython.core.display.Math object>",
"text/latex": "$\\displaystyle z\\times z^* = a^2 + b^2$"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true,
"scrolled": true
},
"cell_type": "code",
"source": "a,b = sym.symbols('a b',real=True)\nz = a + b * sym.I\nconjz = sym.conjugate(z)\nsym.expand(z * conjz)",
"execution_count": 13,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 13,
"data": {
"text/plain": "a**2 + b**2",
"text/latex": "$\\displaystyle a^{2} + b^{2}$"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "# Dividing complex numbers"
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "z = np.complex(4,2)\ndisplay(Math('\\\\frac{%s}{2} = %s' %(z,z/2)))",
"execution_count": 17,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": "<IPython.core.display.Math object>",
"text/latex": "$\\displaystyle \\frac{(4+2j)}{2} = (2+1j)$"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "z1 = np.complex(4,2)\nz2 = np.complex(2,-3)\ndisplay(Math('\\\\frac{%s}{%s} = \\\\frac{%s\\\\times %s}{%s\\\\times %s} = %s'\n %(z1,z2,\n z1,np.conj(z2),z2,np.conj(z2),\n z1/z2\n )))",
"execution_count": 22,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": "<IPython.core.display.Math object>",
"text/latex": "$\\displaystyle \\frac{(4+2j)}{(2-3j)} = \\frac{(4+2j)\\times (2+3j)}{(2-3j)\\times (2+3j)} = (0.15384615384615383+1.2307692307692308j)$"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "# Graphing complex numbers"
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "import matplotlib.pyplot as plt",
"execution_count": 23,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "z = np.complex(2,3)\nplt.plot(np.real(z), np.imag(z),'ro')\nplt.plot([0,np.real(z)],[0,np.imag(z)],'r')\nplt.xlabel('real')\nplt.ylabel('imaginary')\nplt.grid()\nplt.axis([-4,4,-4,4])",
"execution_count": 31,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 31,
"data": {
"text/plain": "[-4, 4, -4, 4]"
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": "<Figure size 432x288 with 1 Axes>",
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "z1 = np.complex(-3,1)\nz2 = np.complex(-1,1)\ncalc = z1 + z2\nplt.plot([0,np.real(z1)],[0,np.imag(z1)],label='z1')\nplt.plot([0,np.real(z2)],[0,np.imag(z2)],label='z2')\nplt.plot([0,np.real(calc)],[0,np.imag(calc)],label='z1+z2')\nplt.xlabel('real')\nplt.ylabel('imaginary')\nplt.axis('square')\nplt.legend()\nplt.grid()\nplt.axis([-5,5,-5,5])",
"execution_count": 35,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 35,
"data": {
"text/plain": "[-5, 5, -5, 5]"
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": "<Figure size 432x288 with 1 Axes>",
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "z1 = np.complex(-3,1)\nz2 = np.complex(-1,1)\ncalc = z1 * z2\nplt.plot([0,np.real(z1)],[0,np.imag(z1)],label='z1')\nplt.plot([0,np.real(z2)],[0,np.imag(z2)],label='z2')\nplt.plot([0,np.real(calc)],[0,np.imag(calc)],label='z1*z2')\nplt.xlabel('real')\nplt.ylabel('imaginary')\nplt.axis('square')\nplt.legend()\nplt.grid()\nplt.axis([-5,5,-5,5])",
"execution_count": 36,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 36,
"data": {
"text/plain": "[-5, 5, -5, 5]"
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": "<Figure size 432x288 with 1 Axes>",
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "",
"execution_count": null,
"outputs": []
}
],
"metadata": {
"kernelspec": {
"name": "python3",
"display_name": "Python 3",
"language": "python"
},
"language_info": {
"name": "python",
"version": "3.7.4",
"mimetype": "text/x-python",
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"pygments_lexer": "ipython3",
"nbconvert_exporter": "python",
"file_extension": ".py"
},
"toc": {
"nav_menu": {},
"number_sections": true,
"sideBar": true,
"skip_h1_title": false,
"base_numbering": 1,
"title_cell": "Table of Contents",
"title_sidebar": "Contents",
"toc_cell": false,
"toc_position": {},
"toc_section_display": true,
"toc_window_display": false
},
"gist": {
"id": "d1fed338583dfba348c9b433fd7e29a4",
"data": {
"description": "Complex numbers",
"public": true
}
},
"_draft": {
"nbviewer_url": "https://gist.github.com/d1fed338583dfba348c9b433fd7e29a4"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment