Skip to content

Instantly share code, notes, and snippets.

@uranix
Created August 4, 2020 22:44
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 uranix/f02d00c796c42bb53f539392bee9c279 to your computer and use it in GitHub Desktop.
Save uranix/f02d00c796c42bb53f539392bee9c279 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"K = 6\n",
"n = 4"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"A = np.eye(n, k=1)\n",
"I = np.eye(n)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"M = np.zeros((K*n, K*n))\n",
"for i in range(K):\n",
" M[n*i:n*(i+1), n*i:n*(i+1)] = A\n",
" i1 = i + 1 if i + 1 < K else 0 \n",
" M[n*i:n*(i+1), n*i1:n*(i1+1)] = A.T\n",
" im1 = i - 1 if i > 0 else K - 1\n",
" M[n*i:n*(i+1), n*im1:n*(im1+1)] = I"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x7f4c10564250>"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 288x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.matshow(M)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"eM = np.linalg.eigvals(M)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"w = np.exp(1j * 2 * np.pi / K)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"lam = np.zeros((n, K), np.complex128)\n",
"for d in range(1, n+1):\n",
" for m in range(K):\n",
" lam[d-1, m] = w**(-m) + w**(m/2) * 2 * np.cos(np.pi * d / (n + 1))"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7f4c104d1c10>]"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.plot(lam.real, lam.imag, 'rx')\n",
"plt.plot(eM.real, eM.imag, 'b.')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"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.7.4"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment