Updated Table of Contents

Removed the Appendixes that I deleted, and added all of the supporting
notebook.
This commit is contained in:
Roger Labbe committed 2016-01-17 08:16:36 -08:00
1 parent 23877ea4f3
commit 752bf9687e
5 files changed
+1095 -308

No files matched your search

@@ -1,5 +1,266 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<style>\n",
"@import url('http://fonts.googleapis.com/css?family=Source+Code+Pro');\n",
"@import url('http://fonts.googleapis.com/css?family=Vollkorn');\n",
"@import url('http://fonts.googleapis.com/css?family=Arimo');\n",
"@import url('http://fonts.googleapis.com/css?family=Fira+sans');\n",
"\n",
".CodeMirror pre {\n",
" font-family: 'Source Code Pro', Consolas, monocco, monospace;\n",
"}\n",
" div.cell{\n",
" width: 900px;\n",
" margin-left: 0% !important;\n",
" margin-right: auto;\n",
" }\n",
" div.text_cell code {\n",
" background: transparent;\n",
" color: #000000;\n",
" font-weight: 600;\n",
" font-size: 11pt;\n",
" font-style: bold;\n",
" font-family: 'Source Code Pro', Consolas, monocco, monospace;\n",
" }\n",
" h1 {\n",
" font-family: 'Open sans',verdana,arial,sans-serif;\n",
"\t}\n",
"\t\n",
" div.input_area {\n",
" background: #F6F6F9;\n",
" border: 1px solid #586e75; \n",
" }\n",
"\n",
" .text_cell_render h1 {\n",
" font-weight: 200;\n",
" font-size: 30pt;\n",
" line-height: 100%;\n",
" color:#c76c0c;\n",
" margin-bottom: 0.5em;\n",
" margin-top: 1em;\n",
" display: block;\n",
" white-space: wrap;\n",
" text-align: left;\n",
" } \n",
" h2 {\n",
" font-family: 'Open sans',verdana,arial,sans-serif;\n",
" text-align: left;\n",
" }\n",
" .text_cell_render h2 {\n",
" font-weight: 200;\n",
" font-size: 16pt;\n",
" font-style: italic;\n",
" line-height: 100%;\n",
" color:#c76c0c;\n",
" margin-bottom: 0.5em;\n",
" margin-top: 1.5em;\n",
" display: block;\n",
" white-space: wrap;\n",
" text-align: left;\n",
" } \n",
" h3 {\n",
" font-family: 'Open sans',verdana,arial,sans-serif;\n",
" }\n",
" .text_cell_render h3 {\n",
" font-weight: 200;\n",
" font-size: 14pt;\n",
" line-height: 100%;\n",
" color:#d77c0c;\n",
" margin-bottom: 0.5em;\n",
" margin-top: 2em;\n",
" display: block;\n",
" white-space: wrap;\n",
" text-align: left;\n",
" }\n",
" h4 {\n",
" font-family: 'Open sans',verdana,arial,sans-serif;\n",
" }\n",
" .text_cell_render h4 {\n",
" font-weight: 100;\n",
" font-size: 14pt;\n",
" color:#d77c0c;\n",
" margin-bottom: 0.5em;\n",
" margin-top: 0.5em;\n",
" display: block;\n",
" white-space: nowrap;\n",
" }\n",
" h5 {\n",
" font-family: 'Open sans',verdana,arial,sans-serif;\n",
" }\n",
"\n",
" .text_cell_render h5 {\n",
" font-weight: 200;\n",
" font-style: normal;\n",
" color: #1d3b84;\n",
" font-size: 16pt;\n",
" margin-bottom: 0em;\n",
" margin-top: 0.5em;\n",
" display: block;\n",
" white-space: nowrap;\n",
" }\n",
" div.text_cell_render{\n",
" font-family: 'Vollkorn', verdana,arial,sans-serif;\n",
" line-height: 150%;\n",
" font-size: 130%;\n",
" font-weight: 400;\n",
" text-align:justify;\n",
" text-justify:inter-word;\n",
" }\n",
" div.output_subarea.output_text.output_pyout {\n",
" overflow-x: auto;\n",
" overflow-y: scroll;\n",
" max-height: 50000px;\n",
" }\n",
" div.output_subarea.output_stream.output_stdout.output_text {\n",
" overflow-x: auto;\n",
" overflow-y: scroll;\n",
" max-height: 50000px;\n",
" }\n",
" div.output_wrapper{\n",
" margin-top:0.2em;\n",
" margin-bottom:0.2em;\n",
"}\n",
"\n",
" code{\n",
" font-size: 6pt;\n",
"\n",
" }\n",
" .rendered_html code{\n",
" background-color: transparent;\n",
" }\n",
" ul{\n",
" margin: 2em;\n",
" }\n",
" ul li{\n",
" padding-left: 0.5em; \n",
" margin-bottom: 0.5em; \n",
" margin-top: 0.5em; \n",
" }\n",
" ul li li{\n",
" padding-left: 0.2em; \n",
" margin-bottom: 0.2em; \n",
" margin-top: 0.2em; \n",
" }\n",
" ol{\n",
" margin: 2em;\n",
" }\n",
" ol li{\n",
" padding-left: 0.5em; \n",
" margin-bottom: 0.5em; \n",
" margin-top: 0.5em; \n",
" }\n",
" ul li{\n",
" padding-left: 0.5em; \n",
" margin-bottom: 0.5em; \n",
" margin-top: 0.2em; \n",
" }\n",
" a:link{\n",
" font-weight: bold;\n",
" color:#447adb;\n",
" }\n",
" a:visited{\n",
" font-weight: bold;\n",
" color: #1d3b84;\n",
" }\n",
" a:hover{\n",
" font-weight: bold;\n",
" color: #1d3b84;\n",
" }\n",
" a:focus{\n",
" font-weight: bold;\n",
" color:#447adb;\n",
" }\n",
" a:active{\n",
" font-weight: bold;\n",
" color:#447adb;\n",
" }\n",
" .rendered_html :link {\n",
" text-decoration: underline; \n",
" }\n",
" .rendered_html :hover {\n",
" text-decoration: none; \n",
" }\n",
" .rendered_html :visited {\n",
" text-decoration: none;\n",
" }\n",
" .rendered_html :focus {\n",
" text-decoration: none;\n",
" }\n",
" .rendered_html :active {\n",
" text-decoration: none;\n",
" }\n",
" .warning{\n",
" color: rgb( 240, 20, 20 )\n",
" } \n",
" hr {\n",
" color: #f3f3f3;\n",
" background-color: #f3f3f3;\n",
" height: 1px;\n",
" }\n",
" blockquote{\n",
" display:block;\n",
" background: #fcfcfc;\n",
" border-left: 5px solid #c76c0c;\n",
" font-family: 'Open sans',verdana,arial,sans-serif;\n",
" width:680px;\n",
" padding: 10px 10px 10px 10px;\n",
" text-align:justify;\n",
" text-justify:inter-word;\n",
" }\n",
" blockquote p {\n",
" margin-bottom: 0;\n",
" line-height: 125%;\n",
" font-size: 100%;\n",
" }\n",
"</style>\n",
"<script>\n",
" MathJax.Hub.Config({\n",
" TeX: {\n",
" extensions: [\"AMSmath.js\"],\n",
" equationNumbers: { autoNumber: \"AMS\", useLabelIds: true}\n",
" },\n",
" tex2jax: {\n",
" inlineMath: [ ['$','$'], [\"\\\\(\",\"\\\\)\"] ],\n",
" displayMath: [ ['$$','$$'], [\"\\\\[\",\"\\\\]\"] ]\n",
" },\n",
" displayAlign: 'center', // Change this to 'center' to center equations.\n",
" \"HTML-CSS\": {\n",
" scale:95,\n",
" availableFonts: [],\n",
" preferredFont:null,\n",
" webFont: \"TeX\",\n",
" styles: {'.MathJax_Display': {\"margin\": 4}}\n",
" }\n",
" });\n",
"</script>\n"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#format the book\n",
"%matplotlib inline\n",
"from __future__ import division, print_function\n",
"import sys;sys.path.insert(0,'..')\n",
"from book_format import load_style;load_style('..')"
]
},
{
"cell_type": "markdown",
"metadata": {},
@@ -19,7 +280,7 @@
},
{
"cell_type": "code",
"execution_count": 1,
"execution_count": 2,
"metadata": {
"collapsed": false
},
@@ -29,8 +290,8 @@
"output_type": "stream",
"text": [
"50000\n",
"3.00043200502\n",
"2.01072423406\n"
"2.99685400941\n",
"1.99912142836\n"
]
}
],
@@ -38,7 +299,6 @@
"import numpy as np\n",
"import numpy.random as random\n",
"\n",
"\n",
"mean = 3\n",
"std = 2\n",
"\n",
@@ -59,16 +319,16 @@
},
{
"cell_type": "code",
"execution_count": 2,
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x79d6550>"
"<matplotlib.figure.Figure at 0x7b851d0>"
]
},
"metadata": {},
@@ -99,7 +359,7 @@
},
{
"cell_type": "code",
"execution_count": 3,
"execution_count": 4,
"metadata": {
"collapsed": false,
"scrolled": true
@@ -107,9 +367,9 @@
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXgAAAEACAYAAAC57G0KAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAFS9JREFUeJzt3X+MHGd9x/G3E9uEEJpw/Ljzr+pc5LRYqPwoNaENxLTB\nSRG1XVUKRm1lCKoqUUpQK2yfkZrrH6XGFYI/Wv4Bgq60uARKLae0ITbiWkRFQosNSZwjdkgKF+Iz\nLZAWqgpDtn88z2Xn1rPenbudfWZm3y9ptM/O7Y+vbmc/++wzs/OAJEmSJEmSJEmSJEmSJEnSyLoN\nuB94ILYBxoDjwMPAPcA1mdtPAWeAOWDH8MqUJBXxYkK4XwFcTgj1FwKHgX3xNvuBQ7G9FTgFrAEm\ngbPAZcMrV5K0qFf4/hxwL/B/wE+AfwZ+E9gJzMTbzAC7Y3sXcAS4ADxGCPhtA61YktSXXgH/APBq\nwpDMlcDrgY3AOLAQb7MQrwOsB+Yz958HNgyqWElS/1b3+Psc8F7COPsPCcMvP+m4TSsu3Vzqb5Kk\nkvQKeIA74gLwp4Re+QIwAZwD1gHn498fBzZl7rsxrutk6EvS8qwa5IO9IF7+NPAQcDVhJ+v+uP4A\nF+9kXQtsBh7pUkwVA346dQFdTKcuIMd06gJyTKcuIMd06gJyTKcuoIvp1AXkmE5dQI5C2dlPD/5T\nwHMJO07fBjxJCPQ7gbcSdqbeEm97Oq4/Dfw43r6KYS5JjddPwL8mZ913gRu73P49cZEkJeQx6m2z\nqQvoYjZ1ATlmUxeQYzZ1ATlmUxeQYzZ1AV3Mpi4gx2zqAurKYRtJKq5QdtqDl6SGMuAlqaEMeElq\nKANekhrKgJekhjLgJamhDHiNol4nyJMawYCXpIYy4CWpoQx4SWooA16SGqqfs0lKoyi7E3agEyxI\nw2IPXurKA21Ubwa8FHjopBqnn4CfAh4E7gc+DjwDGAOOAw8TJuS+puP2ZwgTdu8YZLHSEBj0GhmT\nwDcIoQ7wCWAvYU7WfXHdfi6ek3VNvO9Z8j9EfAMppWyIt5Yurbx23v2kFAZ6Pvj/JszFeiVhh+yV\nwLeBncBMvM0MsDu2dwFH4n0eIwT8tiIFSSXqEtBmtpqpV8B/F3gf8E1CsH+fMDQzDizE2yzE6wDr\ngfnM/eeBDYMqVupTtlee8ydpNPQ6TPKFwDsJwy1PAp8EfrvjNr2+tnb723SmPYvzH2qgWpR8dOPi\ndu0hlCrT9rgsS6+AfwXwr8B/xeufBl4FnAMm4uU64Hz8++PApsz9N8Z1eaaLlyslcalPC4NeZZpl\naef39iJ37jVEMwdcBzyTsAHfCJwG7iLsbCVeHo3tY8AeYC2wGdgC3FekIKleHPJRve2jfZjkDOEI\nmTHgBPmHSR4k7FydA27q8pi+K1SmvCNgOte38td1ay/etrOd+zxSWQpta6m+VpY+QKqR1spsYqu6\nrF/8W8e6bu0l4v2W3MbtWcNQKDs9F42abkC9a/skqh9PVaAR4AiKRpMBLxXnJ4ZqwYCXCsvNd0Nf\nlWPAa5QZymo0A14jzHxXsxnwktRQBrwkNZQBL0kNZcBLUkMZ8GqCKp0Ppkq1aMR5qgI1icEqZdiD\nV4OY71KWAS9JDeUQjeqsal32qtWjEWcPXjVXpUxtdV5pXeK6VLp+Av5ngZOZ5UngHYRZnY6TP6vT\nFHCGMKvTjgHWK9WEWa76uQx4gjCx9mHCdH4A+4FDsb0VOEWY2m+SMH1f5weJW78Goc/p9nq1B/EY\nXduZWt3utWKlbkM7gC/E9hwwHtsT8TqE3vv+zH3uJkzcneWGrkGoQ8B3zOEqrUihbajoGPwe4Ehs\njwMLsb1AO+zXA/OZ+8wDGwo+jyRphYocRbMW+HWW9s4X9eqd5P1tOtOejYskqW17XEq3izDcsmiO\nMDQDsI72EM2BuCy6G3hlx2P5VVUrNcBhFIdoVBulDdG8ifbwDMAxYG9s7wWOZtbvIfT4NwNbgPuK\nFCVJGp5nAf8JPDuzbgw4Qf5hkgcJR8/MATflPJ49Ga2UPXiNokLb0KqyquihlfC51Qyt9sUqVtYe\nxGNcqv30k4DbvVamUHb6S1ZJaijPRaO6cZhD6pM9eNVJa8mFpEsy4CWpoQx4SWooA14qn2NKSsKA\nl0pnvisNA16SGsrDJKU0st16f/ykUtiDl4Yrc8oCh25ULgNeGipDXcPjEI3qwFSUlsEevGrCjJeK\nMuAlqaEMeElqKANekhqq34C/BvgU8BBwmjDH6hhwnPwZnaaAM4QZnXYMqlhJ0uDNALfG9mrgauAw\nsC+u2w8ciu2twClgDTBJmLqv84PEPWYqouRp9cqesq9nW+rXwLeXq4Fv5KyfA8ZjeyJeh9B735+5\n3d3AdR33daNWEQa8FBTaXvoZotkMfAf4KPAV4EOESbjHgYV4mwXaYb8emM/cfx7YUKQoSdLK9fND\np9XAy4G3A18GPgAc6LhNr55I3t+mM+3ZuEiS2rbHpTQTwKOZ69cDnyHscJ2I69bRHqI5wNIPgLsJ\nO2Wz/FqqIpo+ROP7Qf0a+BDNOeBbwLXx+o3Ag8BdwN64bi9wNLaPAXuAtYThnS3AfUWKkiQNz0sI\nwzNfBT5N2PE6Bpwg/zDJg4SjZ+aAm3Iezx6LihiFHrw9efWj0DaS6jzUrYTPrfppLd1kBt0u87GX\n04bOK1JUKDv9JatUKXbiNTgGvCQ1lAEvSQ1lwEtSQxnwqjoHpaVlMuAlqaEMeElqKCfdVpU4HCMN\nkD14VUyrS3vk+OtWrZgBL1WW2a6VMeAlqaEcg5eqL9uV9xw16psBr9Qch+iL5+dTcQ7RqALMeKkM\nBrwkNVS/Af8Y8DXgJO3ZmcaA4+RP+DEFnCFM+LFjEIVKAvy6oxI8Sgj0rMPAvtjeDxyK7a3AKWAN\nMEmY2anzg8SNVIsqMKNS6ucvWotGWKHXv8gQTecenp3ATGzPALtjexdwBLhA6PmfBbYVKUqStHL9\nBnyLMP/qvwG/G9eNAwuxvRCvA6wH5jP3nQc2rKxMSVJR/R4m+cvAE8DzCePucx1/7/XV0a+VkjRk\n/Qb8E/HyO8DfE4ZcFoAJ4BywDjgfb/M4sClz341xXafpTHs2LpKktu1xKc2VwLNj+1nAFwlHxhwm\n7FwFOMDFO1nXApuBR7h4/N4evRbVZMdmlWrRCBv467+ZENingAcIh0BCOKrmBPmHSR4k7FydA24a\nRpGqrZqEapVq0Qgr9Pqn+u1zK+Fzq1paSzeHFO3Uz1+0Ft87I6xQdnouGqVgL1QaAk9VoETMeKls\nBrwkNZQBL9WPO1vVFwNeqh2zXf0x4CWpoQx4SWooA16SGsqA1zC5c3Cw/F/qkgx4DZmZJA2LAS9J\nDWXAS1JDGfCS1FAGvCQ1lAEvSQ1lwEtSQ/Ub8JcDJ4G74vUxwuTbebM5TQFnCLM57RhMmZKkovoN\n+NuA07QPYj5ACPhrgc/F6xDmY31jvLwZ+GCB51DzZH/Y5AHw0pD1E74bgdcDH6Y9VdROYCa2Z4Dd\nsb0LOAJcAB4jzMu6bUC1SpIK6Cfg3w+8C3gqs24cWIjthXgdYD0wn7ndPLBhhTVKkpahV8C/AThP\nGH/vNtFrr/OL+NVckhLoNen2LxGGY14PXAH8FPAxQq99AjgHrCN8CAA8DmzK3H9jXJdnOtOejYsk\nqW17XEp3A+2jaA4D+2P7AHAotrcCp4C1wGbgEfJ7/vbqR0Pr4qXVcVmFdurnX0ktGjGFXvNePfhu\nD34IuBN4K2Fn6i1x/em4/jTwY+BtRQtSE7XoPsInqSyp3nW+40dDq32xiqXtvHWp2qmffyW1PH0n\n8D01Cgplp8eoS1JDGfCS1FBFx+ClXtznIlWEPXiVxJwfEv/R6sqAl2rNfFd3BrwkNZQBLzWLP4DS\n0wx4qTkMdi1hwEuN0eq8YuCPOANeaiSzXR4Hr8ExUaSKsQevATLjpSox4CWpoQx4SWooA16SGsqA\nl6SG6hXwVwD3EqbhOw38WVw/BhwHHgbuAa7J3GcKOAPMATsGWawkabCujJergS8B1xPmZN0X1+/n\n4jlZ1wCTwFnyP0Q83KJ5Rmge1FrVomYp9Jr2M0Tzv/FyLXA58D1gJzAT188Au2N7F3AEuECYq/Us\nsK1IQaolg0SqoH4C/jJCr3wB+DzwIDAerxMvx2N7PTCfue88sGEglUpaDj98R1g/v2R9CngpcDXw\nWeC1HX/v9VWw29+mM+3ZuEiS2rbHZVmKnKrgSeAzwC8Qeu0TwDlgHXA+3uZxYFPmPhvjujzTRQpV\nJdk7rIfF12lV0iq0HLMs7fzeXuTOvYZonkf7CJlnAq8DTgLHgL1x/V7gaGwfA/YQxus3A1uA+4oU\npLox46vP12hU9erBryPsRL0sLh8DPkcI+TuBtxJ2pt4Sb386rj8N/Bh4G25dkpREqq9srYTPrcFp\nLX0pi7SXe78y2qmff2i1+J6rv0LZ6S9ZJamhDHgtl0Nv9eNrNmIMeElqKANekhrKgJekhjLgVYQn\nsKo/X8MRYsBLI8VsHyUGvCQ1lAEvSQ1V5GRj0iK/59df9jX0F64NZQ9ey2C+N4OvY9PZg1c/TAKp\nhuzBq09mvFQ3BrwkNZQBL0kN5Ri8JI+oaah+evCbgM8DDwIPAO+I68eA48DDwD20p/YDmALOAHPA\njkEVK6ks7mMZVRPAS2P7KuDrwIuAw8C+uH4/cCi2twKngDXAJHCWiz9I3JrqpQWtxXOYDKg96Mez\nlsG1VWGFXp9+evDnCIEN8APgIWADsJMwXyvxcnds7wKOABcI87WeBbYVKUqV4BteqrmiO1kngZcB\n9wLjwEJcvxCvA6wH5jP3mSd8IKh2zHapzorsZL0K+DvgNuB/Ov7Wq6eX97fpTHs2LLine truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x46db518>"
"<matplotlib.figure.Figure at 0x4b35ba8>"
]
},
"metadata": {},
@@ -130,16 +390,16 @@
},
{
"cell_type": "code",
"execution_count": 4,
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7fd8b00>"
"<matplotlib.figure.Figure at 0x8a54e48>"
]
},
"metadata": {},
@@ -160,16 +420,16 @@
},
{
"cell_type": "code",
"execution_count": 5,
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x82595f8>"
"<matplotlib.figure.Figure at 0x8acabe0>"
]
},
"metadata": {},
@@ -177,7 +437,7 @@
}
],
"source": [
"plt.hist(data, bins=200, normed=True, histtype='step')\n",
"plt.hist(data, bins=200, normed=True, histtype='step', lw=2)\n",
"plt.show()"
]
},
@@ -190,16 +450,16 @@
},
{
"cell_type": "code",
"execution_count": 6,
"execution_count": 7,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAaYAAAEACAYAAAD4NNLwAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XdcVvf99/HXhy2goKIgKA5wG/eMxp3EmDgymsQkzfg1\nxo6kbfq727R3992mu03bpEmaNLOZzWqWGrNMYl3gXrhFUUQQRQVkXd/7jwsNsSqXCpwLeD8fDx5y\nnesczpsjXG/Oub7nHHPOISIiEixCvA4gIiJSk4pJRESCiopJRESCiopJRESCiopJRESCiopJRESC\nSkDFZGZTzCzLzLaY2X2nef4mM1tT/bHIzPrXeG5X9fRVZra8LsOLiEjTY7Wdx2RmIcAWYBKwD8gA\nbnTOZdWYZySwyTlXZGZTgJ8550ZWP7cDGOKcO1RP34OIiDQhgewxDQe2OueynXMVwEvAjJozOOeW\nOueKqh8uBVJqPG0BrkdERCSgwkgB9tR4nMMXi+dUdwLzajx2wPtmlmFms889ooiINCdhdfnFzGwC\ncAcwpsbk0c65XDNrh7+gNjnnFtVcrqioSNdFEhFpwuLi4izQeQPZY9oLpNZ43LF62hdUD3h4DJhe\n8/0k51xu9b/5wBv4Dw2KiIicViDFlAGkm1lnM4sAbgTeqjmDmaUCrwFfds5trzE92sxiqz+PAS4D\n1tdVeBERaXpqPZTnnKsys7uBBfiL7Ann3CYzm+N/2j0G/BhoAzxsZgZUOOeGA4nAG2bmqtf1vHNu\nwdnWFxcXd2HfUROXmZkJwNChQz1OEvy0rQKnbRU4bavAFRUV1T7TaQT0HpNzbj7Q85Rpf6/x+Wzg\nvwY2OOd2AgPPK5mIiDRLGsYtIiJBRcUkIiJBRcUkIiJBRcUkIiJBRcUkIiJBRcUkIiJBRcUkIiJB\nRcUkIiJBRcUkIiJBRcUkIiJBRcUkIiJBRcUkIiJBRcUkIiJBRcUkIiJBRcUkIiJBRcUkIiJBRcUk\nIiJBRcUkIiJBRcUkIiJBRcUkIiJBRcUkIiJBRcUkIiJBRcUkIiJBRcUkIiJBRcUkIiJBRcUkIiJB\nRcUkIiJBRcUkIiJBRcUkIiJBRcUkIiJBRcUkIiJBRcUkIiJBRcUkIiJBRcUkIiJBRcUkIiJBJczr\nACLNybody/lk9TsAtI5N4ObLvvmF57OyV1NeWQZAx3ZdadOqfYNnFPFaQMVkZlOAP+Pfw3rCOffb\nU56/Cbiv+uFR4OvOubWBLCvSnBw+WsCWPWsBaN865b+ef+mjhyk8cgCAWZO+wah+lzZoPpFgUOuh\nPDMLAR4CLgf6ArPMrNcps+0AxjrnBgC/BB47h2VFmr3Kqgr2FWSfLCWR5iyQPabhwFbnXDaAmb0E\nzACyTszgnFtaY/6lQEqgy4o0Z+8t/xeb96ylsCiPwqP5XscRCQqBFFMKsKfG4xz8hXMmdwLzznNZ\nMjMzA4gk2k6BC6ZtlZ27++Tnx48fZ+PWNews2ABAaXE5hw8cw+dztO3Qknf+8yL79+XTqU2PBssX\nTNsq2Glb1a579+7ntVydDn4wswnAHcCYuvy6Ik1Z7s5Cls3LImdbAc7nADCD5LQE9l1bwKwr5gAQ\n16ItoSH+X9mikoNUuUoAoiNiiQqP8Sa8SD0IpJj2Aqk1HnesnvYFZtYf/3tLU5xzh85l2ZqGDh0a\nQKTm68RfadpOtQvGbVW65gDLd/g/P1xcwLsvLGT1J/4JISFGUucEWrdMIGvTFvZuK+Dp377NysXr\nuWRmP64cfTNJcR2Ji2nLhx8/x96CXQDMvOQOxgwed0G5gnFbBSttq8AVFRWd13KBFFMGkG5mnYFc\n4EZgVs0ZzCwVeA34snNu+7ksK9JcvJ/5Om//51kAKiuqWPDPFWxfm0tIiDFoYjqDJ6aTnNSRn93x\nGB9nzuW+H97Lig+3sfaznRQdLMHnc4SFhzIgfZTH34lI/aq1mJxzVWZ2N7CAz4d8bzKzOf6n3WPA\nj4E2wMNmZkCFc274mZatt+9GJIjtztsKgHOO1XNz2b42l4ioMKbdNZLrps9iaK9xhIWGAxAbG8PI\nqb1J7dWed59YTvbGPD54YRWXf3mIl9+CSIMI6D0m59x8oOcp0/5e4/PZwOxAlxVpzvatqmDJxyuI\niAzjmrtH065jPGkpfUlP6ftf8yZ3a8vV37iYV/+yiK2r9hLfLgYLMQ9SizQcXZJIpAHl7izkjX/O\nx8yYcec42nWMP+18XZJ6cNPke7hp8j0kJMcx9X+GYQYZ729h7/aCBk4t0rBUTCINpOx4Oe8/vxLn\nHPfddx89BnQ647zt4jswsu8kRvadRGLrjqT2bM+QyT3AwfvPraT8eEUDJhdpWComkQby9ksfUlRQ\nTHrPNH72s5+d8/LDp/Ske69uHD1UyvL3ttR9QJEgoWISaQDbtm3jg38vAuAnv/w+kZGR5/w1QkND\n+Ob378IM1ny6g8L9R+s6pkhQUDGJNIBZt11LZWUVvYd3ot+APuf9dQYMvIjZs+/CV+Vj00Jdwkia\nJt32QqQeHTpawMPP/oHMxWsJjwhl1JXnXkrXT/wq5RXHAejQNpX77x/OCy+8wMql6+g2Ih4uqevU\nIt7SHpNIPSo+foTHHnoKgP5ju3Hr9LvpnHhu1w/r3rEffbsOpW/XobRp1Z6EhATuvfdeAJbO1WmB\n0vRoj0mkHq3IWMnurAOER4bx0x/9nIv7XUZ4WAQAv5z91Hl/3e985zv86YE/krO1gLUrNzBx8Iy6\niiziOe0xidSjvz3oPw99zOWDmDZu1slSulDx8fFced1kAF565o06+ZoiwULFJFJPtmzZwgfvfUho\nWAijLx9Y519/ytUTCQsPZdmiTNavX1/nX1/EKyomkXrywAMP4Jyj59BOxMZF1/nXj4tvSe8R/ov3\n//GPf6zzry/iFRWTSD04fPgwzzzzDACDxqfV23oGjU/DzHjxxRcpKNCliqRpUDGJ1IPnn3+e0tJS\nxlxyMW2SWtbbeuISYhh28SDKysp46qnzH0whEkxUTCJ1zDnH448/DsCsL99Q7+u78ppLAXjkkUeo\nqqqq9/WJ1DcVk0gdW7FiBWvWrKFt27ZcfsWl9b6+A7aJhMTW7Ny5kw8++KDe1ydS31RMInXsxN7S\ndddfw6bdK+ttPaEhoYD/luxpgxMBTr6v5Zyj8Ej+yY+KyvJ6yyFS11RMInXo2LFjvPDCCwCMmNSf\nBRmv1Nu6Zoy5jbum/RCAXkP9t9B45dV/sWHbKpzz8bOnZp/82LVfVyOXxkPFJFKHXn75ZY4dO8bo\n0aPp3PXz+y31TB1QL+trFdOaPp0H06ptNCnpCVRWVPHsc0+z58COelmfSEPQJYlE6tA//vEPAGbP\nnn1y2vhB05l5yR31sr7UxHTmzPgxR0oOkb3mavZu+5Tn/vk8pa2z62V9Ig1Be0wi56HwyAHmL3uZ\n+cte5q1Fz1Jy/BjrNqxh6dKltGzZki996UsNlsXMiItpw/CxgwiLCGXfjoMUFRQ32PpF6pr2mETO\nw8EjB5i79MWTjz9Y8ToZCzYDcNmUyeQf2cvuvG0NmimqRQRp/TuwOTOHrIw9jLiiV4OuX6SuaI9J\npA4459iyci8AvoR8/vjyd1m55bMGz9FrmP99razMPTifa/D1i9QFFZNIHTiYe5TC/UeJig6nQ3pr\nz3J07N6O2PgWHDlYQu6uQs9yiFwIHcoTqQNbV+UAkDYgmdBQ/99737j650SER9IqpuGKKiTE6D4o\nhVUfb2Pb6n0kd2vbYOsWqSsqJpELVPMwXo/BKbSL68B3bvgt0VEtMbMGy9E1qSfRkbEcGHiYVR9v\nY/vafVwysx8W0nAZROqCiknkAh3Yc5gjB0uIjYvmhqtvpV3rRGJatGrwHNeM+woA4wdO492nRnPs\ncCn7sw/RoWubBs8iciH0HpPIBTqxt3T11TO4YdIcJg6e6WkeMyN9QDIA29bs8zSLyPlQMYlcAOdz\nbF3lL6Yrpl3ucRq/mBatuPSKiQBsX7MP5xzLN36kq0FIo6FiErkAebsPUVx0nNj4Fgwc3N/rOAB0\nat+N33z3UVJSUjh6qJS83YdZtukj1m1f5nU0kYComEQuwI51+wHodlFSgw50qE1ISAjXXnst4N9r\nEmlMVEwiF2DHulwAul3UweMk/+26664DYF/WEZzTybbSeKiYRM5TYd5RDh04RmR0OMlpwXe+0MUX\nX0xSUhL79x0gP6fI6zgiAVMxiZynndWH8br0STx5Um0wCQ0NZeZM/wjBHev3e5xGJHDB99sk0kgE\n82G8E6ZPnw7Arg0qJmk8VEwi5+FAXj77sw8RGh5C517tvY5zRhMmTCCqRST5OUW88t7TfLZmrteR\nRGoVUDGZ2RQzyzKzLWZ232me72lmi83suJl955TndpnZGjNbZWbL6yq4iJc+ev9jAFJ7tOfLU7/F\njZO+QVLbTrUs1fCioqIYPNw/jH3nhv2s8OCK5yLnqtZLEplZCPAQMAnYB2SY2ZvOuawasx0E7gFO\nd8q7DxjvnDtUB3lFPLdm21Keff5pAEaMHcLF/S71NE9tZsyYyeJPMti5fj9c73UakdoFssc0HNjq\nnMt2zlUALwEzas7gnCtwzq0AKk+zvAW4HpFGYeuujezYlIMZ9BuS7nWcWt1xy2zMjJytBRwvLfM6\njkitAimMFGBPjcc51dMC5YD3zSzDzGafSziRYOFzPjZlr2JT9irmvvcOvipHSrf2zJx4i9fRatWu\nXTsGDRmAr8rH5jU7vY4jUquGuLr4aOdcrpm1w19Qm5xzi840c2ZmZgNEavy0nQJXF9vK56viuSW/\nBiBj8RoAhgwbTOlByDwY/P8X/Qf2Y2XmatYsyzrr9tDPVeC0rWrXvXv381oukD2mvLine truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x851f860>"
"<matplotlib.figure.Figure at 0x9dbac88>"
]
},
"metadata": {},
@@ -207,7 +467,7 @@
}
],
"source": [
"plt.hist(data, bins=200, normed=True, histtype='step')\n",
"plt.hist(data, bins=200, normed=True, histtype='step', lw=2)\n",
"norm = stats.norm(mean, std)\n",
"plt.plot(xs, norm.pdf(xs), color='k', lw=2)\n",
"plt.show()"
@@ -222,16 +482,16 @@
},
{
"cell_type": "code",
"execution_count": 7,
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7a13710>"
"<matplotlib.figure.Figure at 0x9de1780>"
]
},
"metadata": {},
@@ -260,16 +520,16 @@
},
{
"cell_type": "code",
"execution_count": 8,
"execution_count": 9,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x859ba90>"
"<matplotlib.figure.Figure at 0x9e29ac8>"
]
},
"metadata": {},
@@ -279,8 +539,8 @@
"name": "stdout",
"output_type": "stream",
"text": [
"mean = 13.96\n",
"std = 2.81\n"
"mean = 13.99\n",
"std = 2.80\n"
]
}
],
@@ -294,8 +554,8 @@
"\n",
"d_t = f(data) # transform data through f(x)\n",
"\n",
"plt.hist(data, bins=200, normed=True, histtype='step')\n",
"plt.hist(d_t, bins=200, normed=True, histtype='step')\n",
"plt.hist(data, bins=200, normed=True, histtype='step', lw=2)\n",
"plt.hist(d_t, bins=200, normed=True, histtype='step', lw=2)\n",
"\n",
"plt.ylim(0, .35)\n",
"plt.show()\n",
@@ -324,16 +584,16 @@
},
{
"cell_type": "code",
"execution_count": 9,
"execution_count": 10,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x95bb7f0>"
"<matplotlib.figure.Figure at 0x8dc9eb8>"
]
},
"metadata": {},
@@ -343,8 +603,8 @@
"name": "stdout",
"output_type": "stream",
"text": [
"mean = -1.57\n",
"std = 2.10\n"
"mean = -1.59\n",
"std = 2.09\n"
]
}
],
@@ -354,7 +614,7 @@
"\n",
"d_t = f2(data)\n",
"plt.subplot(121)\n",
"plt.hist(d_t, bins=200, normed=True, histtype='step')\n",
"plt.hist(d_t, bins=200, normed=True, histtype='step', lw=2)\n",
"\n",
"plt.subplot(122)\n",
"kde = stats.gaussian_kde(d_t)\n",
@@ -379,7 +639,7 @@
},
{
"cell_type": "code",
"execution_count": 10,
"execution_count": 11,
"metadata": {
"collapsed": false
},
@@ -390,7 +650,7 @@
"-1.5*sin(x/3)*sin(1.5*x + 2.1) + cos(x/3)*cos(1.5*x + 2.1)/3 - 1.6"
]
},
"execution_count": 10,
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
@@ -412,7 +672,7 @@
},
{
"cell_type": "code",
"execution_count": 11,
"execution_count": 12,
"metadata": {
"collapsed": false
},
@@ -423,7 +683,7 @@
"-1.66528051815545"
]
},
"execution_count": 11,
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
@@ -442,16 +702,16 @@
},
{
"cell_type": "code",
"execution_count": 12,
"execution_count": 13,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAaYAAAEACAYAAAD4NNLwAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XmcjdUfwPHPubOaGYaxGwzDGFL2NSpLtkqUFlpkjdIi\nPyQkUiklJUWiLBUSUZIkIiHGFtlGtrEz+77ce35/PHfu3GFwMXPvLN/36zUv95znnPt872P43ud5\nznOO0lojhBBC5BcmVwcghBBC2JPEJIQQIl+RxCSEECJfkcQkhBAiX5HEJIQQIl+RxCSEECJfcSgx\nKaU6K6UOKqUOK6VezWH7g0qpPUqpXUqpbUqpVnbbjttvy83ghRBCFD7qes8xKaVMwGGgPXAG2A70\n1FoftGvjo7VOsr6+A/hOa13HWj4KNNZaR+fNRxBCCFGYOHLG1AwI11qf0FqnA4uAbvYNMpOSlR9g\nsSsrB/cjhBBCOJQwAoEIu/Ipa102SqnuSqkDwE9AP7tNGvhNKbVdKTXwVoIVQghR+Lnn1htprZcD\ny5VSrYG3gA7WTa201meVUmUxEtQBrfUm+76xsbEyL5IQQhRi/v7+ytG2jpwxnQaq2pUrW+tyZE06\nwUqpAGv5rPXPi8APGJcGhRBCiBw5kpi2AzWVUkFKKU+gJ/CjfQOlVA27140AT611lFLKRynlZ633\nBToC+3IteiGEEIXOdS/laa3NSqkXgDUYiWyO1vqAUmqQsVnPAnoopXoDaUAy8Ji1e3ngB6WUtu7r\nG631mmvtz9/f/+Y/jbghYWFhADRp0sTFkRQdcsxdQ467a8TGxt5UP4fuMWmtVwOhl9V9bvd6MjA5\nh37HgAY3FZkQQogiSYZxCyGEyFckMQkhhMhXcm24uBBCFGUZGRlkZGS4OgyXUErh6emJUg6PCL8m\nSUxCCHGL0tLSAPDy8sq1/5wLErPZTFpaGl5eXrnyfnIpTwghbpHFYsnVM4aCxs3NjevNu3ojJDEJ\nIYTIVyQxCSGEyFckMQkhhMhXJDEJIUQhV61aNXx8fChRogTFixenRIkSvPTSS8ybN4+77rrL1i4u\nLo5WrVrx6KOPkpGRQZ8+ffDy8srWb8mSJXkeryQmIYQo5JRS/Pzzz8TFxREfH09cXBzTpk2zbQOI\njo7m3nvvJTg4mMWLF+Pu7o5SildffTVbv0cffTTP45XEJIQQRcC1Rs1dunSJdu3aUa9ePRYsWIDJ\n5NrUIIlJCCGcYPz48Silbvpn/PjxeRJXZGQkbdq0oVWrVsyePTtP9nGjJDEJIUQR0L17dwICAihV\nqhQBAQHMmTMHgIiICMLDw3nmmWdy7Pf+++/b+pUrV84psUpiEkKIImDFihVERUURHR1NVFQU/fv3\nB6BBgwZ88MEHdO7cmd27d1/Rb8SIEbZ+Fy5ccEqsMiWREEI4wfjx4/PscpwjrnWP6cUXXyQlJYWO\nHTuyfv166tat68TIriSJSQghBCNGjCA1NZV7772XjRs3EhIS4rJYJDEJIUQR0LVrV9ucdkopOnTo\nQLdu3bK1GTt2LKmpqbRv354NGza4KFJQuTnx3s2KjY21BSFLqzuPLDftfHLMXSOvj3tKSgre3t55\n8t4FRU7HwH5pdX9/f4dnuJXBD0IIIfIVuZQn8pVtB9ZzMeYsAJ4e3nRo8rCLIxJCOJskJpGvhB3a\nyMETuwAoXsxfEpMQRZBcyhNCCJGvSGISQgiRrziUmJRSnZVSB5VSh5VSr+aw/UGl1B6l1C6l1Dal\nVCtH+wohhBD2rpuYlFImYDrQCagL9FJK1b6s2VqtdX2tdUOgPzD7BvoKIYQQNo6cMTUDwrXWJ7TW\n6cAiINtTWVrrJLuiH2BxtK8QQghhz5FReYFAhF35FEbCyUYp1R2YBJQF7r+RvvYyH4QTzpOfjnmc\n3QN56RkZ+Sq23FRYP1d+l1fHPSgoqMg/YBsfH8++ffuy1d3stEa5NvhBa71ca10H6A68lVvvK4QQ\n4tZUq1YNb29voqKistU3bNgQk8nEyZMnAdi2bRv3338/pUqVokyZMrRo0YK5c+c6PV5HzphOA1Xt\nypWtdTnSWm9SSgUrpQJutC/IVC3OlB+nx9l26mfOxBivLTqD8+mHCK50G3WCGro2sFySH495UeCM\nKYnyM6UU1atXZ+HChQwZMgSAffv2kZycbFtafcuWLXTs2JE33niDBQsWEBAQwK5du5g8eTJ9+vS5\n7j6KFy9+xfG1n5LoRjhyxrQdqKmUClJKeQI9gR/tGyilati9bgR4aq2jHOkrxNWkZaTy67YlHI74\nx9WhCFHgPf3008ybN89WnjdvXrbFAUeOHEnfvn0ZPnw4AQEBgHFGtXDhQqfHet3EpLU2Ay8Aa4B/\ngUVa6wNKqUFKqWetzXoopfYppXYCnwCPXatvHnwOUchUr1ib0Kr1XR2GELln/HhQ6uZ/bnEtpxYt\nWhAfH8+hQ4ewWCwsXryYp556CoDExES2bNlCjx49bv1z5gKHpiTSWq8GQi+r+9zu9WRgsqN9hbie\nTs0e4/Sl4xw6ucfVoQhRaGSeNd1zzz3UqVOHSpUqobUmOjoai8VCxYoVXR0iIHPlCSFEkfHUU09x\n9913c+zYMXr37g0Y958CAgIwmUycPXuWWrVquThKmZJICCGcY/x40Prmf3JhWfaqVatSvXp1fvnl\nFx5+OGuCZB8fH1q2bMnSpUtveR+5QRKTEEIUIV9++SXr1q2jWLFiAGQuFjt58mTmzp3LlClTbMPK\n9+zZQ69evZweoyQmIYQo5DKHhANUr16dRo0aXbGtZcuWrFu3jt9//50aNWpQpkwZBg8ezP3333/F\n++U1ucck8r3dRzZzLiqCx9oOolTxsq4OR4gC5+jRoznWu7m5YTabbeUmTZqwatUqZ4V1VXLGJPK9\nyNjz/HssjNT0/P0QoxAid0hiEvmC2WImNT0FiyXr21uDmi0Z2HU0/n6lXRiZEMLZJDGJfGF3+GZG\nfNYz2ywPZUtW5I7gZnh7FHNhZEIIZ5N7TCJfUcqEh5sHJiXfmYQoqiQxiXylYcid9Oky3NVhCCFc\nSL6WCiHELTKZTKSlpdmeCSpqzGZztiHpt0rOmIQQ4hZ5enqSkZFBamqqq0NxCaUUnp6eufZ+kphE\ngbH678UElg2mQ5OHr99YCCdzd3fH3V3+S80NcilPFBg7D2/inyNbXB2GECKPSWIS+V7n5o/RvnF3\nV4chhHASSUwi32scejf1a97p6jCEEE4iiUm43LmoCGISIl0dhhAin5A7dcLlJn87jAxzukNt45Ji\n2LB7JTUDbyewbLW8DUwI4RJyxiTyjXKlAvH3Dbhmm+j4iyzdMJujZw84KSohhLPJGZPIN159Yioe\n7jk/C1Hcx5+7699P+Km9nI086eTIhBDOJGdMokAoXaI8j7QZSHCl21wdihAij0liEkIIka9IYhJC\nCJGvOJSYlFKdlVIHlVKHlVKv5rD9CaXUHuvPJqVUPbttx631u5RS23IzeCGEEIXPdQc/KKVMwHSg\nPXAG2K6UWqG1PmjX7Chwt9Y6VinVGZgFtLBuswBttNbRuRu6EEKIwsiRM6ZmQLjW+oTWOh1YBHSz\nb6C13qq1jrUWtwKBdpuVg/sRQgghHBouHghE2JVPYSSrqxkA/GJX1sBvSikzMEtr/cW1dhYWFuZA\nSCI3ufqYWywWAHbu3Imb6dq/khcvXgDg5ImThKUV3N8VVx/zokqOu3OFhITcVL9cfY5JKdUW6Au0\ntqtupbU+q5Qqi5GgDmitN+XmfoUQQhQejiSm00BVu3Jla1021gEPs4DO9veTtNZnrX9eVEr9gHG2\nddXE1KRJE8ciF7cs89ujq4/5t1tNWMxmGjVqdNUHbDP9FxfG4XNQNagqTeoVvN+V/HLMixo57q4R\nGxt7/UY5cOTez3agplIqSCnlCfQEfrRvoJSqCiwFntZa/2dX76OU8rO+9gU6AvtuKlIhhBBFwnXP\nmLTWZqXUC8AajEQ2R2t9QCk1yNisZwGvAwHAZ8pY+D1da90MKA/8oJTS1n19o7Vek1cfRgghRMHn\n0D0mrfVqIPSyus/tXg8EBubQ7xjQ4BZjFOIK56MiOHBiF6FV6mEyubk6HCFELpJh3KJA2rhnFTOW\nTyDDkuHqUIQQuUwSkyhQKgRUJrRqfRTK1aEIIfKIJCZRoNzT4AGGPDQBdzcPV4cihMgjkpiEEELk\nK5KYhBBC5Cuygq1wme//mMWWfWvJMKe7OhQhRD4iZ0zCZcxmM+nmtFt6j93hmzl65kAuRSSEyA/k\njEm4XI97BtDy9g43NaDh6zUf0yDkToIr1cmDyIQQriBnTMLl3EzueLp7YUwa4pj6IS2pVjH0+g2F\nEAWOJCZRIPXu9AptGnR1dRhCiDwgiUkIIUS+IolJCCFEviKJSQghRL4iiUkIIUS+IolJCCFEviKJ\nSRR4J84eZt7qDzl18airQxFC5AJJTKLAi064xI5DG4lNiHJ1KEKIXCCJSRRY1SrU4ulOr1CpTDVX\nhyKEyEWSmESBFVCiHE1r30NJ3wBXhyKEyEWSmIQQQuQrkpiEEELkKzK7uHC6s5ERLFk/kwsxZ1wd\nihAiH5LEJJwuJS2JI6f/dXUYQoh8yqFLeUqpzkqpg0qpw0qpV3PY/oRSao/1Z5NSqp6jfUXRVT6g\nMi/2mMgdwc1cHYoQIh+57hmTUsoETAfaA2eA7UqpFVrrg3bNjgJ3a61jlVKdgVlACwf7iiLK29OH\nkMp3uDoMIUQ+48gZUzMgXGt9QmudDiwCutk30Fpv1VrHWotbgUBH+wohhBD2HLnHFAhE2JVPYSSc\nqxkA/HKTfQkLC3MgJJGbnH3ML8afAiAxITFX9h0bZ3wnCg8/QnLkLb+dU8jvuWvIcLine truncated
"text/plain": [
"<matplotlib.figure.Figure at 0xaa5bac8>"
"<matplotlib.figure.Figure at 0x9e02b00>"
]
},
"metadata": {},
@@ -459,7 +719,7 @@
}
],
"source": [
"plt.hist(d_t, bins=200, normed=True, histtype='step')\n",
"plt.hist(d_t, bins=200, normed=True, histtype='step', lw=2)\n",
"plot_normal(xs, f2(mean), abs(float(m)*std), color='k', lw=3, label='EKF')\n",
"plot_normal(xs, d_t.mean(), d_t.std(), color='r', lw=3, label='MC')\n",
"plt.legend()\n",
@@ -21,7 +21,7 @@
"@import url('http://fonts.googleapis.com/css?family=Source+Code+Pro');\n",
"@import url('http://fonts.googleapis.com/css?family=Vollkorn');\n",
"@import url('http://fonts.googleapis.com/css?family=Arimo');\n",
"@import url('http://fonts.googleapis.com/css?family=Fira_sans');\n",
"@import url('http://fonts.googleapis.com/css?family=Fira+sans');\n",
"\n",
".CodeMirror pre {\n",
" font-family: 'Source Code Pro', Consolas, monocco, monospace;\n",
@@ -116,9 +116,9 @@
" white-space: nowrap;\n",
" }\n",
" div.text_cell_render{\n",
" font-family: 'Fira sans', verdana,arial,sans-serif;\n",
" font-family: 'Vollkorn', verdana,arial,sans-serif;\n",
" line-height: 150%;\n",
" font-size: 110%;\n",
" font-size: 130%;\n",
" font-weight: 400;\n",
" text-align:justify;\n",
" text-justify:inter-word;\n",
@@ -264,11 +264,8 @@
"#format the book\n",
"%matplotlib inline\n",
"from __future__ import division, print_function\n",
"import sys\n",
"sys.path.insert(0,'..')\n",
"sys.path.insert(0,'../code') \n",
"from book_format import load_style\n",
"load_style('..')"
"import sys;sys.path.insert(0,'..');sys.path.insert(0, '../code')\n",
"import book_format; book_format.load_style('..')"
]
},
{
@@ -293,7 +290,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x22cc3fe0b00>"
"<matplotlib.figure.Figure at 0x7bec9e8>"
]
},
"metadata": {},
@@ -374,7 +371,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"### Derivation of ILS Equations (Optional)"
"### Derivation of ILS Equations"
]
},
{
@@ -1,92 +0,0 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Linearizing with Taylor Series\n",
"\n",
"Taylor series represents a function as an infinite sum of terms. The terms are linear, even for a nonlinear function, so we can express any arbitrary nonlinear function using linear algebra. The cost of this choice is that unless we use an infinite number of terms the value we compute will be approximate rather than exact.\n",
"\n",
"Before applying it to a matrix lets do the Taylor expansion of a real function since this is much easier to visualize. I choose sin(x). The Taylor series for a real or complex function f(x) at x=a is the infinite series\n",
"\n",
"$$f(x) = f(a) + f'(a)(x-a) + \\frac{f''(a)}{2!}(x-a)^2 + \\, ...\\, + \\frac{f^{(n)}(a)}{n!}(x-a)^n + \\, ...$$\n",
"\n",
"where $f^{n}$ is the nth derivative of f. To compute the Taylor series for $f(x)=sin(x)$ at $x=0$ Let's first work out the terms for f.\n",
"\n",
"$$\\begin{aligned}\n",
"f^{0}(x) &= sin(x) ,\\ \\ &f^{0}(0) &= 0 \\\\\n",
"f^{1}(x) &= cos(x),\\ \\ &f^{1}(0) &= 1 \\\\\n",
"f^{2}(x) &= -sin(x),\\ \\ &f^{2}(0) &= 0 \\\\\n",
"f^{3}(x) &= -cos(x),\\ \\ &f^{3}(0) &= -1 \\\\\n",
"f^{4}(x) &= sin(x),\\ \\ &f^{4}(0) &= 0 \\\\\n",
"f^{5}(x) &= cos(x),\\ \\ &f^{5}(0) &= 1\n",
"\\end{aligned}\n",
"$$\n",
"\n",
"Now we can substitute these values into the equation.\n",
"\n",
"$$\\sin(x) = \\frac{0}{0!}(x)^0 + \\frac{1}{1!}(x)^1 + \\frac{0}{2!}(x)^2 + \\frac{-1}{3!}(x)^3 + \\frac{0}{4!}(x)^4 + \\frac{-1}{5!}(x)^5 + ... $$\n",
"\n",
"And let's test this with some code:"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"estimate of sin(.3) is 0.30452025\n",
"exact value of sin(.3) is 0.295520206661\n"
]
}
],
"source": [
"import numpy as np\n",
"\n",
"x = .3\n",
"estimate = x + x**3/6 + x**5/120\n",
"exact = np.sin(.3)\n",
"\n",
"print('estimate of sin(.3) is', estimate)\n",
"print('exact value of sin(.3) is', exact)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This is not bad for only three terms. If you are curious, go ahead and implement this as a Python function to compute the series for an arbitrary number of terms.\n",
"\n",
"Now we can consider how to linearize a nonlinear "
]
}
],
"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.5.1"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
+351
View File
@@ -0,0 +1,351 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<style>\n",
"@import url('http://fonts.googleapis.com/css?family=Source+Code+Pro');\n",
"@import url('http://fonts.googleapis.com/css?family=Vollkorn');\n",
"@import url('http://fonts.googleapis.com/css?family=Arimo');\n",
"@import url('http://fonts.googleapis.com/css?family=Fira+sans');\n",
"\n",
".CodeMirror pre {\n",
" font-family: 'Source Code Pro', Consolas, monocco, monospace;\n",
"}\n",
" div.cell{\n",
" width: 900px;\n",
" margin-left: 0% !important;\n",
" margin-right: auto;\n",
" }\n",
" div.text_cell code {\n",
" background: transparent;\n",
" color: #000000;\n",
" font-weight: 600;\n",
" font-size: 11pt;\n",
" font-style: bold;\n",
" font-family: 'Source Code Pro', Consolas, monocco, monospace;\n",
" }\n",
" h1 {\n",
" font-family: 'Open sans',verdana,arial,sans-serif;\n",
"\t}\n",
"\t\n",
" div.input_area {\n",
" background: #F6F6F9;\n",
" border: 1px solid #586e75; \n",
" }\n",
"\n",
" .text_cell_render h1 {\n",
" font-weight: 200;\n",
" font-size: 30pt;\n",
" line-height: 100%;\n",
" color:#c76c0c;\n",
" margin-bottom: 0.5em;\n",
" margin-top: 1em;\n",
" display: block;\n",
" white-space: wrap;\n",
" text-align: left;\n",
" } \n",
" h2 {\n",
" font-family: 'Open sans',verdana,arial,sans-serif;\n",
" text-align: left;\n",
" }\n",
" .text_cell_render h2 {\n",
" font-weight: 200;\n",
" font-size: 16pt;\n",
" font-style: italic;\n",
" line-height: 100%;\n",
" color:#c76c0c;\n",
" margin-bottom: 0.5em;\n",
" margin-top: 1.5em;\n",
" display: block;\n",
" white-space: wrap;\n",
" text-align: left;\n",
" } \n",
" h3 {\n",
" font-family: 'Open sans',verdana,arial,sans-serif;\n",
" }\n",
" .text_cell_render h3 {\n",
" font-weight: 200;\n",
" font-size: 14pt;\n",
" line-height: 100%;\n",
" color:#d77c0c;\n",
" margin-bottom: 0.5em;\n",
" margin-top: 2em;\n",
" display: block;\n",
" white-space: wrap;\n",
" text-align: left;\n",
" }\n",
" h4 {\n",
" font-family: 'Open sans',verdana,arial,sans-serif;\n",
" }\n",
" .text_cell_render h4 {\n",
" font-weight: 100;\n",
" font-size: 14pt;\n",
" color:#d77c0c;\n",
" margin-bottom: 0.5em;\n",
" margin-top: 0.5em;\n",
" display: block;\n",
" white-space: nowrap;\n",
" }\n",
" h5 {\n",
" font-family: 'Open sans',verdana,arial,sans-serif;\n",
" }\n",
"\n",
" .text_cell_render h5 {\n",
" font-weight: 200;\n",
" font-style: normal;\n",
" color: #1d3b84;\n",
" font-size: 16pt;\n",
" margin-bottom: 0em;\n",
" margin-top: 0.5em;\n",
" display: block;\n",
" white-space: nowrap;\n",
" }\n",
" div.text_cell_render{\n",
" font-family: 'Vollkorn', verdana,arial,sans-serif;\n",
" line-height: 150%;\n",
" font-size: 130%;\n",
" font-weight: 400;\n",
" text-align:justify;\n",
" text-justify:inter-word;\n",
" }\n",
" div.output_subarea.output_text.output_pyout {\n",
" overflow-x: auto;\n",
" overflow-y: scroll;\n",
" max-height: 50000px;\n",
" }\n",
" div.output_subarea.output_stream.output_stdout.output_text {\n",
" overflow-x: auto;\n",
" overflow-y: scroll;\n",
" max-height: 50000px;\n",
" }\n",
" div.output_wrapper{\n",
" margin-top:0.2em;\n",
" margin-bottom:0.2em;\n",
"}\n",
"\n",
" code{\n",
" font-size: 6pt;\n",
"\n",
" }\n",
" .rendered_html code{\n",
" background-color: transparent;\n",
" }\n",
" ul{\n",
" margin: 2em;\n",
" }\n",
" ul li{\n",
" padding-left: 0.5em; \n",
" margin-bottom: 0.5em; \n",
" margin-top: 0.5em; \n",
" }\n",
" ul li li{\n",
" padding-left: 0.2em; \n",
" margin-bottom: 0.2em; \n",
" margin-top: 0.2em; \n",
" }\n",
" ol{\n",
" margin: 2em;\n",
" }\n",
" ol li{\n",
" padding-left: 0.5em; \n",
" margin-bottom: 0.5em; \n",
" margin-top: 0.5em; \n",
" }\n",
" ul li{\n",
" padding-left: 0.5em; \n",
" margin-bottom: 0.5em; \n",
" margin-top: 0.2em; \n",
" }\n",
" a:link{\n",
" font-weight: bold;\n",
" color:#447adb;\n",
" }\n",
" a:visited{\n",
" font-weight: bold;\n",
" color: #1d3b84;\n",
" }\n",
" a:hover{\n",
" font-weight: bold;\n",
" color: #1d3b84;\n",
" }\n",
" a:focus{\n",
" font-weight: bold;\n",
" color:#447adb;\n",
" }\n",
" a:active{\n",
" font-weight: bold;\n",
" color:#447adb;\n",
" }\n",
" .rendered_html :link {\n",
" text-decoration: underline; \n",
" }\n",
" .rendered_html :hover {\n",
" text-decoration: none; \n",
" }\n",
" .rendered_html :visited {\n",
" text-decoration: none;\n",
" }\n",
" .rendered_html :focus {\n",
" text-decoration: none;\n",
" }\n",
" .rendered_html :active {\n",
" text-decoration: none;\n",
" }\n",
" .warning{\n",
" color: rgb( 240, 20, 20 )\n",
" } \n",
" hr {\n",
" color: #f3f3f3;\n",
" background-color: #f3f3f3;\n",
" height: 1px;\n",
" }\n",
" blockquote{\n",
" display:block;\n",
" background: #fcfcfc;\n",
" border-left: 5px solid #c76c0c;\n",
" font-family: 'Open sans',verdana,arial,sans-serif;\n",
" width:680px;\n",
" padding: 10px 10px 10px 10px;\n",
" text-align:justify;\n",
" text-justify:inter-word;\n",
" }\n",
" blockquote p {\n",
" margin-bottom: 0;\n",
" line-height: 125%;\n",
" font-size: 100%;\n",
" }\n",
"</style>\n",
"<script>\n",
" MathJax.Hub.Config({\n",
" TeX: {\n",
" extensions: [\"AMSmath.js\"],\n",
" equationNumbers: { autoNumber: \"AMS\", useLabelIds: true}\n",
" },\n",
" tex2jax: {\n",
" inlineMath: [ ['$','$'], [\"\\\\(\",\"\\\\)\"] ],\n",
" displayMath: [ ['$$','$$'], [\"\\\\[\",\"\\\\]\"] ]\n",
" },\n",
" displayAlign: 'center', // Change this to 'center' to center equations.\n",
" \"HTML-CSS\": {\n",
" scale:95,\n",
" availableFonts: [],\n",
" preferredFont:null,\n",
" webFont: \"TeX\",\n",
" styles: {'.MathJax_Display': {\"margin\": 4}}\n",
" }\n",
" });\n",
"</script>\n"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#format the book\n",
"%matplotlib inline\n",
"from __future__ import division, print_function\n",
"import sys;sys.path.insert(0,'..')\n",
"from book_format import load_style;load_style('..')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Linearizing with Taylor Series\n",
"\n",
"Taylor series represents a function as an infinite sum of terms. The terms are linear, even for a nonlinear function, so we can express any arbitrary nonlinear function using linear algebra. The cost of this choice is that unless we use an infinite number of terms the value we compute will be approximate rather than exact.\n",
"\n",
"The Taylor series for a real or complex function f(x) at x=a is the infinite series\n",
"\n",
"$$f(x) = f(a) + f'(a)(x-a) + \\frac{f''(a)}{2!}(x-a)^2 + \\, ...\\, + \\frac{f^{(n)}(a)}{n!}(x-a)^n + \\, ...$$\n",
"\n",
"where $f^{n}$ is the nth derivative of f. To compute the Taylor series for $f(x)=sin(x)$ at $x=0$ let's first work out the terms for f.\n",
"\n",
"$$\\begin{aligned}\n",
"f^{0}(x) &= sin(x) ,\\ \\ &f^{0}(0) &= 0 \\\\\n",
"f^{1}(x) &= cos(x),\\ \\ &f^{1}(0) &= 1 \\\\\n",
"f^{2}(x) &= -sin(x),\\ \\ &f^{2}(0) &= 0 \\\\\n",
"f^{3}(x) &= -cos(x),\\ \\ &f^{3}(0) &= -1 \\\\\n",
"f^{4}(x) &= sin(x),\\ \\ &f^{4}(0) &= 0 \\\\\n",
"f^{5}(x) &= cos(x),\\ \\ &f^{5}(0) &= 1\n",
"\\end{aligned}\n",
"$$\n",
"\n",
"Now we can substitute these values into the equation.\n",
"\n",
"$$\\sin(x) = \\frac{0}{0!}(x)^0 + \\frac{1}{1!}(x)^1 + \\frac{0}{2!}(x)^2 + \\frac{-1}{3!}(x)^3 + \\frac{0}{4!}(x)^4 + \\frac{-1}{5!}(x)^5 + ... $$\n",
"\n",
"And let's test this with some code:"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"estimate of sin(.3) is 0.30452025\n",
"exact value of sin(.3) is 0.295520206661\n"
]
}
],
"source": [
"import numpy as np\n",
"\n",
"x = .3\n",
"estimate = x + x**3/6 + x**5/120\n",
"exact = np.sin(.3)\n",
"\n",
"print('estimate of sin(.3) is', estimate)\n",
"print('exact value of sin(.3) is', exact)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This is not bad for only three terms. If you are curious, go ahead and implement this as a Python function to compute the series for an arbitrary number of terms."
]
}
],
"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.5.1"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
+432 -161
View File
@@ -1,161 +1,432 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<center><h1>Kalman and Bayesian Filters in Python</h1></center>\n",
"<p>\n",
" <p>\n",
"Table of Contents\n",
"-----\n",
"\n",
"[**Preface**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/00-Preface.ipynb)\n",
" \n",
"Motivation behind writing the book. How to download and read the book. Requirements for IPython Notebook and Python. github links.\n",
"\n",
"\n",
"[**Chapter 1: The g-h Filter**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/01-g-h-filter.ipynb)\n",
"\n",
"Intuitive introduction to the g-h filter, also known as the $\\alpha$-$\\beta$ Filter, which is a family of filters that includes the Kalman filter. Once you understand this chapter you will understand the concepts behind the Kalman filter. \n",
"\n",
"\n",
"[**Chapter 2: The Discrete Bayes Filter**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/02-Discrete-Bayes.ipynb)\n",
"\n",
"Introduces the discrete Bayes filter. From this you will learn the probabilistic (Bayesian) reasoning that underpins the Kalman filter in an easy to digest form.\n",
"\n",
"[**Chapter 3: Gaussian Probabilities**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/03-Gaussians.ipynb)\n",
"\n",
"Introduces using Gaussians to represent beliefs in the Bayesian sense. Gaussians allow us to implement the algorithms used in the discrete Bayes filter to work in continuous domains.\n",
"\n",
"\n",
"[**Chapter 4: One Dimensional Kalman Filters**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/04-One-Dimensional-Kalman-Filters.ipynb)\n",
"\n",
"Implements a Kalman filter by modifying the discrete Bayes filter to use Gaussians. This is a full featured Kalman filter, albeit only useful for 1D problems. \n",
"\n",
"\n",
"[**Chapter 5: Multivariate Gaussians**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/05-Multivariate-Gaussians.ipynb)\n",
"\n",
"Extends Gaussians to multiple dimensions, and demonstrates how 'triangulation' and hidden variables can vastly improve estimates.\n",
"\n",
"[**Chapter 6: Multivariate Kalman Filter**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/06-Multivariate-Kalman-Filters.ipynb)\n",
"\n",
"We extend the Kalman filter developed in the univariate chapter to the full, generalized filter for linear problems. After reading this you will understand how a Kalman filter works and how to design and implement one for a (linear) problem of your choice.\n",
"\n",
"[**Chapter 7: Kalman Filter Math**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/07-Kalman-Filter-Math.ipynb)\n",
"\n",
"We gotten about as far as we can without forming a strong mathematical foundation. This chapter is optional, especially the first time, but if you intend to write robust, numerically stable filters, or to read the literature, you will need to know the material in this chapter. Some sections will be required to understand the later chapters on nonlinear filtering. \n",
"\n",
"\n",
"[**Chapter 8: Designing Kalman Filters**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/08-Designing-Kalman-Filters.ipynb)\n",
"\n",
"Building on material in Chapters 5 and 6, walks you through the design of several Kalman filters. Only by seeing several different examples can you really grasp all of the theory. Examples are chosen to be realistic, not 'toy' problems to give you a start towards implementing your own filters. Discusses, but does not solve issues like numerical stability.\n",
"\n",
"\n",
"[**Chapter 9: Nonlinear Filtering**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/09-Nonlinear-Filtering.ipynb)\n",
"\n",
"Kalman filters as covered only work for linear problems. Yet the world is nonlinear. Here I introduce the problems that nonlinear systems pose to the filter, and briefly discuss the various algorithms that we will be learning in subsequent chapters.\n",
"\n",
"\n",
"[**Chapter 10: Unscented Kalman Filters**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/10-Unscented-Kalman-Filter.ipynb)\n",
"\n",
"Unscented Kalman filters (UKF) are a recent development in Kalman filter theory. They allow you to filter nonlinear problems without requiring a closed form solution like the Extended Kalman filter requires.\n",
"\n",
"This topic is typically either not mentioned, or glossed over in existing texts, with Extended Kalman filters receiving the bulk of discussion. I put it first because the UKF is much simpler to understand, implement, and the filtering performance is usually as good as or better then the Extended Kalman filter. I always try to implement the UKF first for real world problems, and you should also.\n",
"\n",
"\n",
"[**Chapter 11: Extended Kalman Filters**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/11-Extended-Kalman-Filters.ipynb)\n",
"\n",
"Extended Kalman filters (EKF) are the most common approach to linearizing non-linear problems. A majority of real world Kalman filters are EKFs, so will need to understand this material to understand existing code, papers, talks, etc. \n",
"\n",
"\n",
"[**Chapter 12: Particle Filters**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/12-Particle-Filters.ipynb)\n",
"\n",
"Particle filters uses Monte Carlo techniques to filter data. They easily handle highly nonlinear and non-Gaussian systems, as well as multimodal distributions (tracking multiple objects simultaneously) at the cost of high computational requirements.\n",
"\n",
"\n",
"[**Chapter 13: Smoothing**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/13-Smoothing.ipynb)\n",
"\n",
"Kalman filters are recursive, and thus very suitable for real time filtering. However, they work extremely well for post-processing data. After all, Kalman filters are predictor-correctors, and it is easier to predict the past than the future! We discuss some common approaches.\n",
"\n",
"\n",
"[**Chapter 14: Adaptive Filtering**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/14-Adaptive-Filtering.ipynb)\n",
" \n",
"Kalman filters assume a single process model, but manuevering targets typically need to be described by several different process models. Adaptive filtering uses several techniques to allow the Kalman filter to adapt to the changing behavior of the target.\n",
"\n",
"\n",
"[**Appendix A: Installation, Python, NumPy, and FilterPy**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/Appendix-A-Installation.ipynb)\n",
"\n",
"Brief introduction of Python and how it is used in this book. Description of the companion\n",
"library FilterPy. \n",
" \n",
"\n",
"[**Appendix B: Symbols and Notations**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/Appendix-B-Symbols-and-Notations.ipynb)\n",
"\n",
"Most books opt to use different notations and variable names for identical concepts. This is a large barrier to understanding when you are starting out. I have collected the symbols and notations used in this book, and built tables showing what notation and names are used by the major books in the field.\n",
"\n",
"*Still just a collection of notes at this point.*\n",
"\n",
"\n",
"[**Appendix C: Walking through the Kalman Filter code**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/Appendix-C-Walking-Through-KF-Code.ipynb)\n",
"\n",
"A brief walkthrough of the KalmanFilter class from FilterPy.\n",
"\n",
"\n",
"[**Appendix D: H-Infinity Filters**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/Appendix-D-HInfinity-Filters.ipynb)\n",
" \n",
"Describes the $H_\\infty$ filter. \n",
"\n",
"*I have code that implements the filter, but no supporting text yet.*\n",
"\n",
"\n",
"[**Appendix E: Ensemble Kalman Filters**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/Appendix-E-Ensemble-Kalman-Filters.ipynb)\n",
"\n",
"Discusses the ensemble Kalman Filter, which uses a Monte Carlo approach to deal with very large Kalman filter states in nonlinear systems.\n",
"\n",
"\n",
"[**Appendix F: FilterPy Source Code**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/Appendix-F-Filterpy-Code.ipynb)\n",
"\n",
"Listings of important classes from FilterPy that are used in this book.\n",
"\n",
"\n",
"[*Appendix G: Designing Nonlinear Kalman Filters**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/Appendix-G-Designing-Nonlinear-Kalman-Filters.ipynb)\n",
"\n",
"Works through some examples of the design of Kalman filters for nonlinear problems. *This is still very much a work in progress.*\n",
"\n",
"\n",
"[**Appendix H: Least Squares Filter**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/Appendix-H-Least-Squares-Filters.ipynb)\n",
"\n",
"**not written yet**\n",
"\n",
"Introduces the least squares filter in batch and recursive forms. I've not made a start on authoring this yet. Many authors develop KF explanations by covering least squares first. I am not, so I may move this chapter deeper in the book, or remove it.\n",
"\n",
"\n",
"\n",
"### Github repository\n",
"http://github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python\n"
]
}
],
"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.4.3"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<center><h1>Kalman and Bayesian Filters in Python</h1></center>\n",
"<p>\n",
" <p>\n",
"\n",
"## Table of Contents\n",
"\n",
"[**Preface**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/00-Preface.ipynb)\n",
" \n",
"Motivation behind writing the book. How to download and read the book. Requirements for IPython Notebook and Python. github links.\n",
"\n",
"\n",
"[**Chapter 1: The g-h Filter**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/01-g-h-filter.ipynb)\n",
"\n",
"Intuitive introduction to the g-h filter, also known as the $\\alpha$-$\\beta$ Filter, which is a family of filters that includes the Kalman filter. Once you understand this chapter you will understand the concepts behind the Kalman filter. \n",
"\n",
"\n",
"[**Chapter 2: The Discrete Bayes Filter**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/02-Discrete-Bayes.ipynb)\n",
"\n",
"Introduces the discrete Bayes filter. From this you will learn the probabilistic (Bayesian) reasoning that underpins the Kalman filter in an easy to digest form.\n",
"\n",
"[**Chapter 3: Gaussian Probabilities**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/03-Gaussians.ipynb)\n",
"\n",
"Introduces using Gaussians to represent beliefs in the Bayesian sense. Gaussians allow us to implement the algorithms used in the discrete Bayes filter to work in continuous domains.\n",
"\n",
"\n",
"[**Chapter 4: One Dimensional Kalman Filters**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/04-One-Dimensional-Kalman-Filters.ipynb)\n",
"\n",
"Implements a Kalman filter by modifying the discrete Bayes filter to use Gaussians. This is a full featured Kalman filter, albeit only useful for 1D problems. \n",
"\n",
"\n",
"[**Chapter 5: Multivariate Gaussians**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/05-Multivariate-Gaussians.ipynb)\n",
"\n",
"Extends Gaussians to multiple dimensions, and demonstrates how 'triangulation' and hidden variables can vastly improve estimates.\n",
"\n",
"[**Chapter 6: Multivariate Kalman Filter**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/06-Multivariate-Kalman-Filters.ipynb)\n",
"\n",
"We extend the Kalman filter developed in the univariate chapter to the full, generalized filter for linear problems. After reading this you will understand how a Kalman filter works and how to design and implement one for a (linear) problem of your choice.\n",
"\n",
"[**Chapter 7: Kalman Filter Math**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/07-Kalman-Filter-Math.ipynb)\n",
"\n",
"We gotten about as far as we can without forming a strong mathematical foundation. This chapter is optional, especially the first time, but if you intend to write robust, numerically stable filters, or to read the literature, you will need to know the material in this chapter. Some sections will be required to understand the later chapters on nonlinear filtering. \n",
"\n",
"\n",
"[**Chapter 8: Designing Kalman Filters**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/08-Designing-Kalman-Filters.ipynb)\n",
"\n",
"Building on material in Chapters 5 and 6, walks you through the design of several Kalman filters. Only by seeing several different examples can you really grasp all of the theory. Examples are chosen to be realistic, not 'toy' problems to give you a start towards implementing your own filters. Discusses, but does not solve issues like numerical stability.\n",
"\n",
"\n",
"[**Chapter 9: Nonlinear Filtering**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/09-Nonlinear-Filtering.ipynb)\n",
"\n",
"Kalman filters as covered only work for linear problems. Yet the world is nonlinear. Here I introduce the problems that nonlinear systems pose to the filter, and briefly discuss the various algorithms that we will be learning in subsequent chapters.\n",
"\n",
"\n",
"[**Chapter 10: Unscented Kalman Filters**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/10-Unscented-Kalman-Filter.ipynb)\n",
"\n",
"Unscented Kalman filters (UKF) are a recent development in Kalman filter theory. They allow you to filter nonlinear problems without requiring a closed form solution like the Extended Kalman filter requires.\n",
"\n",
"This topic is typically either not mentioned, or glossed over in existing texts, with Extended Kalman filters receiving the bulk of discussion. I put it first because the UKF is much simpler to understand, implement, and the filtering performance is usually as good as or better then the Extended Kalman filter. I always try to implement the UKF first for real world problems, and you should also.\n",
"\n",
"\n",
"[**Chapter 11: Extended Kalman Filters**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/11-Extended-Kalman-Filters.ipynb)\n",
"\n",
"Extended Kalman filters (EKF) are the most common approach to linearizing non-linear problems. A majority of real world Kalman filters are EKFs, so will need to understand this material to understand existing code, papers, talks, etc. \n",
"\n",
"\n",
"[**Chapter 12: Particle Filters**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/12-Particle-Filters.ipynb)\n",
"\n",
"Particle filters uses Monte Carlo techniques to filter data. They easily handle highly nonlinear and non-Gaussian systems, as well as multimodal distributions (tracking multiple objects simultaneously) at the cost of high computational requirements.\n",
"\n",
"\n",
"[**Chapter 13: Smoothing**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/13-Smoothing.ipynb)\n",
"\n",
"Kalman filters are recursive, and thus very suitable for real time filtering. However, they work extremely well for post-processing data. After all, Kalman filters are predictor-correctors, and it is easier to predict the past than the future! We discuss some common approaches.\n",
"\n",
"\n",
"[**Chapter 14: Adaptive Filtering**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/14-Adaptive-Filtering.ipynb)\n",
" \n",
"Kalman filters assume a single process model, but manuevering targets typically need to be described by several different process models. Adaptive filtering uses several techniques to allow the Kalman filter to adapt to the changing behavior of the target.\n",
"\n",
"\n",
"[**Appendix A: Installation, Python, NumPy, and FilterPy**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/Appendix-A-Installation.ipynb)\n",
"\n",
"Brief introduction of Python and how it is used in this book. Description of the companion\n",
"library FilterPy. \n",
" \n",
"\n",
"[**Appendix B: Symbols and Notations**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/Appendix-B-Symbols-and-Notations.ipynb)\n",
"\n",
"Most books opt to use different notations and variable names for identical concepts. This is a large barrier to understanding when you are starting out. I have collected the symbols and notations used in this book, and built tables showing what notation and names are used by the major books in the field.\n",
"\n",
"*Still just a collection of notes at this point.*\n",
"\n",
"\n",
"[**Appendix D: H-Infinity Filters**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/Appendix-D-HInfinity-Filters.ipynb)\n",
" \n",
"Describes the $H_\\infty$ filter. \n",
"\n",
"*I have code that implements the filter, but no supporting text yet.*\n",
"\n",
"\n",
"[**Appendix E: Ensemble Kalman Filters**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/Appendix-E-Ensemble-Kalman-Filters.ipynb)\n",
"\n",
"Discusses the ensemble Kalman Filter, which uses a Monte Carlo approach to deal with very large Kalman filter states in nonlinear systems.\n",
"\n",
"\n",
"[**Appendix F: FilterPy Source Code**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/Appendix-F-Filterpy-Code.ipynb)\n",
"\n",
"Listings of important classes from FilterPy that are used in this book.\n",
"\n",
"\n",
"## Supporting Notebooks\n",
"\n",
"These notebooks are not a primary part of the book, but contain information that might be interested to a subest of readers.\n",
"\n",
"\n",
"[**Computing and plotting PDFs**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/Supporting_Notebooks/Computing_and_plotting_PDFs.ipynb)\n",
"\n",
"Describes how I implemented the plotting of various pdfs in the book.\n",
"\n",
"\n",
"\n",
"[**Iterative Least Squares for Sensor Fusion**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/Supporting_Notebooks/Iterative-Least-Squares-for-Sensor-Fusion.ipynb)\n",
"\n",
"Deep dive into using an iterative least squares technique to solve the nonlinear problem of finding position from multiple GPS pseudorange measurements.\n",
"\n",
"\n",
"[**Taylor Series**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/Supporting_Notebooks/Taylor-Series.ipynb)\n",
"\n",
"A very brief introduction to Taylor series.\n",
"\n",
"\n",
"### Github repository\n",
"http://github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python\n"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<style>\n",
"@import url('http://fonts.googleapis.com/css?family=Source+Code+Pro');\n",
"@import url('http://fonts.googleapis.com/css?family=Vollkorn');\n",
"@import url('http://fonts.googleapis.com/css?family=Arimo');\n",
"@import url('http://fonts.googleapis.com/css?family=Fira+sans');\n",
"\n",
".CodeMirror pre {\n",
" font-family: 'Source Code Pro', Consolas, monocco, monospace;\n",
"}\n",
" div.cell{\n",
" width: 900px;\n",
" margin-left: 0% !important;\n",
" margin-right: auto;\n",
" }\n",
" div.text_cell code {\n",
" background: transparent;\n",
" color: #000000;\n",
" font-weight: 600;\n",
" font-size: 11pt;\n",
" font-style: bold;\n",
" font-family: 'Source Code Pro', Consolas, monocco, monospace;\n",
" }\n",
" h1 {\n",
" font-family: 'Open sans',verdana,arial,sans-serif;\n",
"\t}\n",
"\t\n",
" div.input_area {\n",
" background: #F6F6F9;\n",
" border: 1px solid #586e75; \n",
" }\n",
"\n",
" .text_cell_render h1 {\n",
" font-weight: 200;\n",
" font-size: 30pt;\n",
" line-height: 100%;\n",
" color:#c76c0c;\n",
" margin-bottom: 0.5em;\n",
" margin-top: 1em;\n",
" display: block;\n",
" white-space: wrap;\n",
" text-align: left;\n",
" } \n",
" h2 {\n",
" font-family: 'Open sans',verdana,arial,sans-serif;\n",
" text-align: left;\n",
" }\n",
" .text_cell_render h2 {\n",
" font-weight: 200;\n",
" font-size: 16pt;\n",
" font-style: italic;\n",
" line-height: 100%;\n",
" color:#c76c0c;\n",
" margin-bottom: 0.5em;\n",
" margin-top: 1.5em;\n",
" display: block;\n",
" white-space: wrap;\n",
" text-align: left;\n",
" } \n",
" h3 {\n",
" font-family: 'Open sans',verdana,arial,sans-serif;\n",
" }\n",
" .text_cell_render h3 {\n",
" font-weight: 200;\n",
" font-size: 14pt;\n",
" line-height: 100%;\n",
" color:#d77c0c;\n",
" margin-bottom: 0.5em;\n",
" margin-top: 2em;\n",
" display: block;\n",
" white-space: wrap;\n",
" text-align: left;\n",
" }\n",
" h4 {\n",
" font-family: 'Open sans',verdana,arial,sans-serif;\n",
" }\n",
" .text_cell_render h4 {\n",
" font-weight: 100;\n",
" font-size: 14pt;\n",
" color:#d77c0c;\n",
" margin-bottom: 0.5em;\n",
" margin-top: 0.5em;\n",
" display: block;\n",
" white-space: nowrap;\n",
" }\n",
" h5 {\n",
" font-family: 'Open sans',verdana,arial,sans-serif;\n",
" }\n",
"\n",
" .text_cell_render h5 {\n",
" font-weight: 200;\n",
" font-style: normal;\n",
" color: #1d3b84;\n",
" font-size: 16pt;\n",
" margin-bottom: 0em;\n",
" margin-top: 0.5em;\n",
" display: block;\n",
" white-space: nowrap;\n",
" }\n",
" div.text_cell_render{\n",
" font-family: 'Vollkorn', verdana,arial,sans-serif;\n",
" line-height: 150%;\n",
" font-size: 130%;\n",
" font-weight: 400;\n",
" text-align:justify;\n",
" text-justify:inter-word;\n",
" }\n",
" div.output_subarea.output_text.output_pyout {\n",
" overflow-x: auto;\n",
" overflow-y: scroll;\n",
" max-height: 50000px;\n",
" }\n",
" div.output_subarea.output_stream.output_stdout.output_text {\n",
" overflow-x: auto;\n",
" overflow-y: scroll;\n",
" max-height: 50000px;\n",
" }\n",
" div.output_wrapper{\n",
" margin-top:0.2em;\n",
" margin-bottom:0.2em;\n",
"}\n",
"\n",
" code{\n",
" font-size: 6pt;\n",
"\n",
" }\n",
" .rendered_html code{\n",
" background-color: transparent;\n",
" }\n",
" ul{\n",
" margin: 2em;\n",
" }\n",
" ul li{\n",
" padding-left: 0.5em; \n",
" margin-bottom: 0.5em; \n",
" margin-top: 0.5em; \n",
" }\n",
" ul li li{\n",
" padding-left: 0.2em; \n",
" margin-bottom: 0.2em; \n",
" margin-top: 0.2em; \n",
" }\n",
" ol{\n",
" margin: 2em;\n",
" }\n",
" ol li{\n",
" padding-left: 0.5em; \n",
" margin-bottom: 0.5em; \n",
" margin-top: 0.5em; \n",
" }\n",
" ul li{\n",
" padding-left: 0.5em; \n",
" margin-bottom: 0.5em; \n",
" margin-top: 0.2em; \n",
" }\n",
" a:link{\n",
" font-weight: bold;\n",
" color:#447adb;\n",
" }\n",
" a:visited{\n",
" font-weight: bold;\n",
" color: #1d3b84;\n",
" }\n",
" a:hover{\n",
" font-weight: bold;\n",
" color: #1d3b84;\n",
" }\n",
" a:focus{\n",
" font-weight: bold;\n",
" color:#447adb;\n",
" }\n",
" a:active{\n",
" font-weight: bold;\n",
" color:#447adb;\n",
" }\n",
" .rendered_html :link {\n",
" text-decoration: underline; \n",
" }\n",
" .rendered_html :hover {\n",
" text-decoration: none; \n",
" }\n",
" .rendered_html :visited {\n",
" text-decoration: none;\n",
" }\n",
" .rendered_html :focus {\n",
" text-decoration: none;\n",
" }\n",
" .rendered_html :active {\n",
" text-decoration: none;\n",
" }\n",
" .warning{\n",
" color: rgb( 240, 20, 20 )\n",
" } \n",
" hr {\n",
" color: #f3f3f3;\n",
" background-color: #f3f3f3;\n",
" height: 1px;\n",
" }\n",
" blockquote{\n",
" display:block;\n",
" background: #fcfcfc;\n",
" border-left: 5px solid #c76c0c;\n",
" font-family: 'Open sans',verdana,arial,sans-serif;\n",
" width:680px;\n",
" padding: 10px 10px 10px 10px;\n",
" text-align:justify;\n",
" text-justify:inter-word;\n",
" }\n",
" blockquote p {\n",
" margin-bottom: 0;\n",
" line-height: 125%;\n",
" font-size: 100%;\n",
" }\n",
"</style>\n",
"<script>\n",
" MathJax.Hub.Config({\n",
" TeX: {\n",
" extensions: [\"AMSmath.js\"],\n",
" equationNumbers: { autoNumber: \"AMS\", useLabelIds: true}\n",
" },\n",
" tex2jax: {\n",
" inlineMath: [ ['$','$'], [\"\\\\(\",\"\\\\)\"] ],\n",
" displayMath: [ ['$$','$$'], [\"\\\\[\",\"\\\\]\"] ]\n",
" },\n",
" displayAlign: 'center', // Change this to 'center' to center equations.\n",
" \"HTML-CSS\": {\n",
" scale:95,\n",
" availableFonts: [],\n",
" preferredFont:null,\n",
" webFont: \"TeX\",\n",
" styles: {'.MathJax_Display': {\"margin\": 4}}\n",
" }\n",
" });\n",
"</script>\n"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#format the book\n",
"from book_format import load_style\n",
"load_style()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"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.5.1"
}
},
"nbformat": 4,
"nbformat_minor": 0
}