Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save goerz/cd369b9d02a8c1dbd0b2a95bd9fd5545 to your computer and use it in GitHub Desktop.
Save goerz/cd369b9d02a8c1dbd0b2a95bd9fd5545 to your computer and use it in GitHub Desktop.
Generating Random Matrices with Normalized Spectral Ranges (Girko Circular Law)
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Generating Random Matrices with Normalized Spectral Ranges"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"ExecuteTime": {
"end_time": "2021-08-28T20:06:15.041087Z",
"start_time": "2021-08-28T20:06:14.272920Z"
}
},
"outputs": [],
"source": [
"import numpy as np\n",
"import scipy.sparse\n",
"import scipy.sparse.linalg\n",
"import matplotlib.pylab as plt"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"For benchmarking purposes, it can be useful to generate random matrices of varying size $N$ and a specified spectral radius $\\rho$.\n",
"\n",
"For example, for [a polynomial evaluation](https://github.com/qucontrol/newtonprop) of $\\phi = \\exp(-i H dt)[\\Psi]$, the runtime will depend both on the size `N` of `H` (due to the scaling with `N` of the underlying matrix-vector operations), and the spectral radius of `H dt` (due to the larger order of the polynomial required for convergence). We will want to analyze these two effects separately. Therefore, we will need to generate random matrices of size $N$ with a fixed spectral radius $\\rho = 1$ and benchmark them with a fixed value of $dt$. Second, for a fixed size $N$, we can explore a varying spectral radius by keeping $H$ constant with $\\rho=1$ and only changing $dt$: since in general the spectral radius is linear, $\\rho(\\lambda A) = \\lambda \\rho(A)$, the spectral radius of $H dt$ is proportional to $dt$.\n",
"\n",
"The key to generating a random matrix with a specified spectral radius $\\rho$ is the [Girko-Ginibri circular law](https://en.wikipedia.org/wiki/Circular_law), which states that for a random matrix of size $N$ with entries drawn independently from a distribution with mean 0 and variance $1/N$, the eigenvalues are approximately contained in the unit disc of the complex plane.\n",
"\n",
"In the following, we define functions that generate a complex matrix, real matrix, and Hermitian real matrix of specified size $N$ and spectral radius $\\rho$, based on random numbers drawn from a Normal distribution."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Dense matrices"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"ExecuteTime": {
"end_time": "2021-08-28T20:06:15.053239Z",
"start_time": "2021-08-28T20:06:15.043471Z"
}
},
"outputs": [],
"source": [
"def random_complex_matrix(N, ρ):\n",
" \"\"\"Return a random complex matrix with spectral radius ≈ ρ.\"\"\"\n",
" σ = 1/np.sqrt(N)\n",
" H = (\n",
" np.random.normal(0.0, scale=σ, size=(N, N))\n",
" + np.random.normal(0.0, scale=σ, size=(N, N)) * 1j\n",
" ) / np.sqrt(2)\n",
" return ρ * H"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"ExecuteTime": {
"end_time": "2021-08-28T20:06:15.064697Z",
"start_time": "2021-08-28T20:06:15.056576Z"
}
},
"outputs": [],
"source": [
"def random_real_matrix(N, ρ):\n",
" \"\"\"Return a random real matrix with spectral radius ≈ ρ.\"\"\"\n",
" σ = 1/np.sqrt(N)\n",
" H = np.random.normal(0.0, scale=σ, size=(N, N))\n",
" return ρ * H"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"ExecuteTime": {
"end_time": "2021-08-28T20:06:15.072899Z",
"start_time": "2021-08-28T20:06:15.067575Z"
}
},
"outputs": [],
"source": [
"def random_hermitian_matrix(N, ρ):\n",
" \"\"\"Return a random real matrix with spectral radius ≈ ρ.\"\"\"\n",
" σ = 1/np.sqrt(N)\n",
" X = np.random.normal(0.0, scale=σ, size=(N, N))\n",
" X_dag = X.conjugate().transpose()\n",
" H = 0.5*(X + X_dag) / np.sqrt(2)\n",
" return ρ * H"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"ExecuteTime": {
"end_time": "2021-08-28T20:06:15.084042Z",
"start_time": "2021-08-28T20:06:15.077288Z"
}
},
"outputs": [],
"source": [
"def plot_evals(H):\n",
" if isinstance(H, scipy.sparse.spmatrix):\n",
" H = H.todense()\n",
" evals = np.linalg.eigvals(H)\n",
" X = evals.real\n",
" Y = evals.imag\n",
" fig, ax = plt.subplots()\n",
" ax.scatter(X, Y)\n",
" if np.max(np.abs(Y)) < 1e-12:\n",
" ax.set_ylim(-0.1, 0.1)\n",
" else:\n",
" ax.set_aspect('equal')"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"ExecuteTime": {
"end_time": "2021-08-28T20:06:18.449726Z",
"start_time": "2021-08-28T20:06:15.086823Z"
}
},
"outputs": [
{
"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": [
"plot_evals(random_complex_matrix(1000, 10))"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"ExecuteTime": {
"end_time": "2021-08-28T20:06:18.696824Z",
"start_time": "2021-08-28T20:06:18.456698Z"
}
},
"outputs": [
{
"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": [
"plot_evals(random_complex_matrix(20, 10))"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"ExecuteTime": {
"end_time": "2021-08-28T20:06:20.099872Z",
"start_time": "2021-08-28T20:06:18.703132Z"
}
},
"outputs": [
{
"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": [
"plot_evals(random_real_matrix(1000, 10))"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"ExecuteTime": {
"end_time": "2021-08-28T20:06:20.405976Z",
"start_time": "2021-08-28T20:06:20.106790Z"
}
},
"outputs": [
{
"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": [
"plot_evals(random_real_matrix(20, 10))"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"ExecuteTime": {
"end_time": "2021-08-28T20:06:21.724915Z",
"start_time": "2021-08-28T20:06:20.410869Z"
}
},
"outputs": [
{
"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": [
"plot_evals(random_hermitian_matrix(1000, 10))"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"ExecuteTime": {
"end_time": "2021-08-28T20:06:21.962474Z",
"start_time": "2021-08-28T20:06:21.734341Z"
}
},
"outputs": [
{
"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": [
"plot_evals(random_hermitian_matrix(20, 10))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Note that it is possible to use other probability distributions, see e.g. [John Cook's \"Circular law for random matrices\"](https://www.johndcook.com/blog/2018/07/27/circular-law/) for an example with a uniform distribution."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Sparse matrices"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We further want to extend the above examples to sparse matrices. We find that we can get the desired spectral radius if we choose the variance of the random distribution as $1/N_{\\text{eff}}$ where the effective size $N_{\\text{eff}} = s N$ is reduced by the density $s$ of the sparse matrix."
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"ExecuteTime": {
"end_time": "2021-08-28T20:06:21.973929Z",
"start_time": "2021-08-28T20:06:21.966074Z"
}
},
"outputs": [],
"source": [
"def random_complex_sparse_matrix(N, ρ, density):\n",
" \"\"\"Return a random complex matrix with spectral radius ≈ ρ.\"\"\"\n",
" σ = 1 / np.sqrt(density * N)\n",
" rvs = lambda M: np.random.normal(0.0, scale=σ, size=M)\n",
" H = (\n",
" scipy.sparse.random(N, N, density=density, data_rvs=rvs)\n",
" + scipy.sparse.random(N, N, density=density, data_rvs=rvs) * 1j\n",
" ) / np.sqrt(2)\n",
" return ρ * H"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"ExecuteTime": {
"end_time": "2021-08-28T20:06:21.995865Z",
"start_time": "2021-08-28T20:06:21.978507Z"
}
},
"outputs": [],
"source": [
"def random_real_sparse_matrix(N, ρ, density):\n",
" \"\"\"Return a random real matrix with spectral radius ≈ ρ.\"\"\"\n",
" σ = 1/np.sqrt(density*N)\n",
" rvs = lambda M: np.random.normal(0.0, scale=σ, size=M)\n",
" H = scipy.sparse.random(N, N, density=density, data_rvs=rvs)\n",
" return ρ * H"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"ExecuteTime": {
"end_time": "2021-08-28T20:06:22.061097Z",
"start_time": "2021-08-28T20:06:22.031654Z"
}
},
"outputs": [],
"source": [
"def random_hermitian_sparse_matrix(N, ρ, density):\n",
" \"\"\"Return a random real matrix with spectral radius ≈ ρ.\"\"\"\n",
" σ = 1/np.sqrt(density*N)\n",
" rvs = lambda M: np.random.normal(0.0, scale=σ, size=M)\n",
" X = scipy.sparse.random(N, N, density=density, data_rvs=rvs)\n",
" X_dag = X.conjugate().transpose()\n",
" H = 0.5*(X + X_dag) / np.sqrt(2)\n",
" return ρ * H"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"ExecuteTime": {
"end_time": "2021-08-28T20:06:26.145518Z",
"start_time": "2021-08-28T20:06:22.082430Z"
}
},
"outputs": [
{
"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": [
"plot_evals(random_complex_sparse_matrix(1000, 10, density=0.1))"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"ExecuteTime": {
"end_time": "2021-08-28T20:06:27.840112Z",
"start_time": "2021-08-28T20:06:26.176955Z"
}
},
"outputs": [
{
"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": [
"plot_evals(random_real_sparse_matrix(1000, 10, density=0.1))"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"ExecuteTime": {
"end_time": "2021-08-28T20:06:29.726464Z",
"start_time": "2021-08-28T20:06:27.847146Z"
}
},
"outputs": [
{
"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": [
"plot_evals(random_hermitian_sparse_matrix(1000, 10, density=0.1))"
]
}
],
"metadata": {
"gist": {
"data": {
"description": "Generating Random Matrices with Normalized Spectral Ranges (Girko Circular Law)",
"public": true
},
"id": ""
},
"hide_input": false,
"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.8.6"
},
"toc": {
"base_numbering": 1,
"nav_menu": {},
"number_sections": true,
"sideBar": true,
"skip_h1_title": false,
"title_cell": "Table of Contents",
"title_sidebar": "Contents",
"toc_cell": false,
"toc_position": {},
"toc_section_display": true,
"toc_window_display": false
},
"varInspector": {
"cols": {
"lenName": 16,
"lenType": 16,
"lenVar": 40
},
"kernels_config": {
"python": {
"delete_cmd_postfix": "",
"delete_cmd_prefix": "del ",
"library": "var_list.py",
"varRefreshCmd": "print(var_dic_list())"
},
"r": {
"delete_cmd_postfix": ") ",
"delete_cmd_prefix": "rm(",
"library": "var_list.r",
"varRefreshCmd": "cat(var_dic_list()) "
}
},
"types_to_exclude": [
"module",
"function",
"builtin_function_or_method",
"instance",
"_Feature"
],
"window_display": false
}
},
"nbformat": 4,
"nbformat_minor": 4
}
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.
View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment