Skip to content

Instantly share code, notes, and snippets.

@0x0L
Created January 12, 2020 21:41
Show Gist options
  • Save 0x0L/da9151d52f7d43be9b88d8966eb8b2df to your computer and use it in GitHub Desktop.
Save 0x0L/da9151d52f7d43be9b88d8966eb8b2df to your computer and use it in GitHub Desktop.
RMT autocorrelations
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt\n",
"import numpy as np"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"X = np.random.randn(5000, 1900)\n",
"X -= X.mean(0)\n",
"\n",
"q = X.shape[1] / X.shape[0]"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(-0.7835582836074897, 0.7822241467231402)"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"w, W = np.linalg.eigh(X.T @ X / X.shape[0])\n",
"Y = X @ (W * w**-0.5) @ W.T\n",
"\n",
"S = Y[1:].T @ Y[:-1] / (Y.shape[0] - 1)\n",
"w, W = np.linalg.eigh((S.T + S) / 2)\n",
"\n",
"min(w), max(w)"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.7846018098373213"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"s = np.linspace(-1, 1, 2500)\n",
"\n",
"gamma = q * (2 - q)\n",
"rho = np.maximum(gamma - s**2, 0)**0.5 / (np.pi * q * (1 - s**2) + 1e-16)\n",
"\n",
"gamma**0.5"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7f83a4292e10>]"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 864x576 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(12, 8))\n",
"plt.hist(w, density=True, bins=50)\n",
"plt.plot(s, rho)"
]
},
{
"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.6"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment