Skip to content

Instantly share code, notes, and snippets.

@jhrmnn
Last active September 1, 2016 15:22
Show Gist options
  • Save jhrmnn/e2cf20ce16317cbb9b9928e4006370ee to your computer and use it in GitHub Desktop.
Save jhrmnn/e2cf20ce16317cbb9b9928e4006370ee to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import numpy as np\n",
"from math import pi\n",
"import matplotlib.pyplot as plt\n",
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x1156440b8>]"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nYcaMaLepCVGSNAp5Sa1ahLzG5CVpFPKSWuvXRz9cM2NG+OUhkhQKeUmtWg3XtLVBd3e02xWpFYW8\npJJ7bUJ+2DA46iiNy0tyKOQllTZtChf5GD06+m3PnBmGgkSSQCEvqVSLXnzBscfCunW12bZI1BTy\nkkq1OOhaoJ68JIlCXlJJPXmRQCEvqVTLkJ85UyEvyaGQl1Sq5XCNTqOUJFHIS+q4h552rUJ++HCd\nRinJUVXIm1mLma02s7VmdlUf7eaZWbeZfTK6EkX6Z/NmMIMjj6zdexx7rA6+SjJUDHkzGwLcBJwL\nzAEuNrPZvbS7Fngg6iJF+mPVKpg9OwR9rWhcXpKimp78fGCdu7/m7t3AYmBBmXZXAncAb0RYn0i/\nrV4dQr6WjjsO1qyp7XuIRKGakJ8MtBU9bs8/9w4zOwq4wN2/B9Sw/yRS2erVcPzxtX2P448P3xhE\nGl1UB16/AxSP1SvoJTb16Mm/5z2wcmVt30MkCkOraNMBTC163Jx/rtgpwGIzM2AccJ6Zdbv7ktKN\nLVq06J37uVyOXC7Xz5JF+laPkG9uhh07oKsLxoyp7XtJ9rS2ttLa2hrJtszd+25g1gSsAc4GOoGn\ngYvdveyXVTO7Fbjb3e8q85pXej+Rwdi5E8aOhd/+FoZW04UZhPnz4frr4fTTa/s+ImaGuw9ohKTi\ncI279wBXAEuBl4DF7r7KzBaa2eXl/spAChGJwtq1YaZrrQMeNC4vyVDVfwV3vx+YVfLcD3pp+7kI\n6hIZkHoM1RRoXF6SQDNeJVXqcWZNgXrykgQKeUmVlSvVkxcpppCXVHnhBTjppPq81/Tp8MYb8Pbb\n9Xk/kYFQyEtq7NoVFg2bNati00g0NYWZr6tX1+f9RAZCIS+psXJlWDhs2LD6veecOfDii/V7P5H+\nUshLarzwApx4Yn3fc+5cWLGivu8p0h8KeUmN55+v33h8gUJeGp1CXlIjzp68JnJLo1LIS2rE0ZOf\nODEcgO0oXc1JpEEo5CUVNm2CvXth8uTKbaNkBiefDMuX1/d9RaqlkJdUKJwfX8urQfVG4/LSyBTy\nkgrLl9d/qKZAIS+NTCEvqfDrX8Mpp8Tz3gp5aWQKeUmFZ56JL+Rnz4a2Ni1vII1JIS+Jt307bNxY\nv4XJSh10EJxwAjz3XDzvL9IXhbwk3rPPhiGTpqb4apg/H5Yti+/9RXqjkJfEi3M8vmDePHj66Xhr\n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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x1149025f8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"x = np.linspace(-.5, .5, 3000)\n",
"f = np.exp(-20*np.abs(x))\n",
"plt.plot(x, f)"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"u = np.linspace(-50, 50, 3000)\n",
"FT = np.exp(1j*2*pi*np.outer(u, x))*(x[1]-x[0])\n",
"iFT = np.exp(-1j*2*pi*np.outer(x, u))*(u[1]-u[0])"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x11527af60>"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nIin+P8HP+QRh3iqaAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x11552fb70>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"F = FT@f\n",
"plt.plot(u, F.real, label=\"Re\")\n",
"plt.plot(u, F.imag, label=\"Im\")\n",
"plt.legend()"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nq+BgMDOzCv8fcupDBXeisDkAAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x1153479e8>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x114f140b8>"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x114f80898>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"F = FT@f\n",
"F[0:len(F)//2] = 0\n",
"fp = iFT@F\n",
"plt.plot(u, F.real, label=\"Re\")\n",
"plt.plot(u, F.imag, label=\"Im\")\n",
"plt.legend()\n",
"plt.show()\n",
"plt.plot(x, fp.real, label=\"Re\")\n",
"plt.plot(x, fp.imag, label=\"Im\")\n",
"plt.plot(x, f.real/2, label=\"f/2\")\n",
"plt.legend()"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x11faf3198>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x11f5b0d68>"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x1097ceef0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"F = FT@f\n",
"F.imag = F.real/10*np.sign(u)\n",
"fp = iFT@F\n",
"plt.plot(u, F.real, label=\"Re\")\n",
"plt.plot(u, F.imag, label=\"Im\")\n",
"plt.legend()\n",
"plt.show()\n",
"plt.plot(x, fp.real, label=\"Re\")\n",
"plt.plot(x, fp.imag, label=\"Im\")\n",
"plt.plot(x, f.real, label=\"f\")\n",
"plt.legend()"
]
}
],
"metadata": {
"anaconda-cloud": {},
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.5.2"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment