{ "cells": [ { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import scipy\n", "from scipy.special import gamma\n", "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Volume of the hypersphere\n", "The volume of the hypersphere of dimension $d$ and radius $R$ is\n", "$$V_{d}(R) = \\frac{(\\sqrt\\pi R)^d}{\\Gamma(d/2 + 1)}$$\n", "\n", "We can express this formula specifically for $d$ even or odd.\n", "The volume of the hypersphere of dimension $d=2k$ is\n", "$$V_{2k}(R) = \\frac{\\pi^k}{k!}R^{2k}$$\n", "and the volume of the hypersphere of dimension $d=2k+1$ is\n", "$$V_{2k+1}(R) = \\frac{2^{k+1}\\pi^k}{(2k+1)(2k-1)\\dots 5.3.1}R^{2k}$$" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "rtpi = np.sqrt(np.pi)\n", "\n", "def volsphere(d,r):\n", " return (rtpi*r)**d / gamma(d/2 + 1)" ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [], "source": [ "dd = np.arange(1,100)\n", "rr = np.linspace(0.01,5,100)\n", "DD, RR = np.meshgrid(dd,rr)\n", "vols = volsphere(DD,RR)" ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 52, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nABwR0ZD/D98oQmsgXSh7AAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.pcolormesh(RR,DD,vols)\n", "plt.colorbar()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This plot is quite uninteresting. Even in log scale, the range covered by the function explodes. The problem is that it's really not comparable between dimensions. For each dimension, eg each line of the picture, the function f the radius is a polynomial of order $d$.\n", "\n", "I want to renormalize it radius-wise so that for each radius I can clearly see the dimension of maximum volume. Ideally I would see the crest line of maximums. I am simply gonna divide by the maximum volume reached for a given radius." ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(100, 99)\n", "(100,)\n" ] } ], "source": [ "print(vols.shape)\n", "maxvols = np.amax(vols,axis=1)\n", "print(maxvols.shape)\n", "normvols = vols/maxvols[:,np.newaxis]" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 54, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.pcolormesh(RR,DD,normvols)\n", "plt.colorbar()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now this is pretty. What is the equation of this line?" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "deep (3.6)", "language": "python", "name": "deep" }, "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.6.3" } }, "nbformat": 4, "nbformat_minor": 2 }