Skip to content

Instantly share code, notes, and snippets.

@alinaselega
Created September 30, 2019 14:37
Show Gist options
  • Save alinaselega/1f769ed55e32f2d77e115e4452cd5a6a to your computer and use it in GitHub Desktop.
Save alinaselega/1f769ed55e32f2d77e115e4452cd5a6a to your computer and use it in GitHub Desktop.
This notebook checks the Stirling's approximation for computing factorials and implements computation of the marginal multinomial factor
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "stirling.ipynb",
"provenance": [],
"collapsed_sections": []
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "tro3nhSgFLNi",
"colab_type": "text"
},
"source": [
"This is a quick notebook to check the consistency of Stirling's approximation to the log-factorial for different $n$."
]
},
{
"cell_type": "code",
"metadata": {
"id": "fy7-PIFbE9GJ",
"colab_type": "code",
"outputId": "fce5aa43-5002-48b5-c8e5-3af1cd5e3284",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 929
}
},
"source": [
"import numpy as np\n",
"from scipy.special import binom\n",
"from scipy import special as special\n",
"import matplotlib.pyplot as plt\n",
"\n",
"n = np.linspace(1, 10000, 1000)\n",
"log_fact = np.log(special.factorial(n))\n",
"stirling = n * np.log(n) - n\n",
"log_fact\n",
"\n",
"print(log_fact[0:17])\n",
"print(stirling[0:17])\n",
"n[0:17]\n",
"\n",
"# OK, values until 150 can be done as factorial\n",
"\n",
"plt.plot(log_fact[0:17], stirling[0:17])\n",
"plt.show()\n",
"\n",
"plt.plot(n, stirling)\n",
"plt.show()"
],
"execution_count": 0,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
},
{
"output_type": "stream",
"text": [
"[ 0. 17.52431733 45.4354283 78.18547919 114.16848752\n",
" 152.58716172 192.96172229 234.97101196 278.38476633 323.02972509\n",
" 368.77075792 415.49950668 463.12713656 511.5794903 560.79372487\n",
" 610.7159037 661.29922726]\n",
"[ -1. 15.39845435 42.98983518 75.54642558 111.39029298\n",
" 149.70023642 189.98553906 231.91911692 275.26713064 319.85399657\n",
" 365.54298899 412.22460677 459.80916814 508.22187073 557.39936885\n",
" 607.2873266 657.83862195]\n"
],
"name": "stdout"
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
},
{
"output_type": "display_data",
"data": {
"image/png": "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\nTcXpaEkeAAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "jhuuMhFpVA4x",
"colab_type": "text"
},
"source": [
"Looking at that multinomial factor."
]
},
{
"cell_type": "code",
"metadata": {
"id": "DPI6Oet6VAqK",
"colab_type": "code",
"outputId": "af8e1d2c-729c-4a1e-c001-7bc9e45f1da9",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 215
}
},
"source": [
"z_k = 32\n",
"n = 100\n",
"\n",
"num = np.zeros(n-z_k)\n",
"denom = np.zeros(n-z_k)\n",
"for i in range(1, n-z_k+1):\n",
" num[i-1] = z_k + i\n",
" denom[i-1] = i\n",
"\n",
"print(num)\n",
"print(denom)\n",
"\n",
"new_num = [x for x in num if x not in denom]\n",
"print(new_num)\n",
"new_denom = [x for x in denom if x not in num]\n",
"print(new_denom)"
],
"execution_count": 0,
"outputs": [
{
"output_type": "stream",
"text": [
"[ 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46.\n",
" 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60.\n",
" 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74.\n",
" 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88.\n",
" 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100.]\n",
"[ 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.\n",
" 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36.\n",
" 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54.\n",
" 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68.]\n",
"[69.0, 70.0, 71.0, 72.0, 73.0, 74.0, 75.0, 76.0, 77.0, 78.0, 79.0, 80.0, 81.0, 82.0, 83.0, 84.0, 85.0, 86.0, 87.0, 88.0, 89.0, 90.0, 91.0, 92.0, 93.0, 94.0, 95.0, 96.0, 97.0, 98.0, 99.0, 100.0]\n",
"[1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0, 21.0, 22.0, 23.0, 24.0, 25.0, 26.0, 27.0, 28.0, 29.0, 30.0, 31.0, 32.0]\n"
],
"name": "stdout"
}
]
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment