{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Accuracy test for ndarray-odeint"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import pandas as pd\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## generate data for accuracy test"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\u001b[m\u001b[32m\u001b[1m Finished\u001b[m debug [unoptimized + debuginfo] target(s) in 0.0 secs\n",
"\u001b[m\u001b[32m\u001b[1m Running\u001b[m target/debug/main-96134d66919c69ee\n",
"\n",
"running 0 tests\n",
"\n",
"test result: \u001b[32mok\u001b[m. 0 passed; 0 failed; 0 ignored; 0 measured\n",
"\n",
"\u001b[m\u001b[32m\u001b[1m Running\u001b[m target/debug/deps/ndarray_odeint-1fd63c5a70bda2f6\n",
"\n",
"running 0 tests\n",
"\n",
"test result: \u001b[32mok\u001b[m. 0 passed; 0 failed; 0 ignored; 0 measured\n",
"\n",
"\u001b[m\u001b[32m\u001b[1m Running\u001b[m target/debug/precision-dc484fae53564005\n",
"\n",
"running 2 tests\n",
"test euler ... \u001b[32mok\u001b[m\n",
"test rk4 ... \u001b[32mok\u001b[m\n",
"\n",
"test result: \u001b[32mok\u001b[m. 2 passed; 0 failed; 0 ignored; 0 measured\n",
"\n",
"\u001b[m\u001b[32m\u001b[1m Doc-tests\u001b[m ndarray-odeint\n",
"\n",
"running 0 tests\n",
"\n",
"test result: \u001b[32mok\u001b[m. 0 passed; 0 failed; 0 ignored; 0 measured\n",
"\n"
]
}
],
"source": [
"! cargo test"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## analysis"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"euler = pd.read_csv(\"euler.csv\").dropna().set_index(\"dt\")\n",
"rk4 = pd.read_csv(\"rk4.csv\").dropna().set_index(\"dt\")"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x7f094462dc88>"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n+Qyn1K0AAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f094464d3c8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.plot(euler, label=\"euler\")\n",
"plt.plot(rk4, label=\"rk4\")\n",
"plt.plot(euler.index, 100*euler.index, \":\", label=r\"$\\propto dt^1$\")\n",
"plt.plot(rk4.index, 1000*rk4.index**4, \":\", label=r\"$\\propto dt^4$\")\n",
"plt.xscale(\"log\")\n",
"plt.yscale(\"log\")\n",
"plt.xlabel(\"dt\")\n",
"plt.ylabel(\"accuray (deviation from truth)\")\n",
"plt.legend(loc=4)"
]
}
],
"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.2"
},
"toc": {
"colors": {
"hover_highlight": "#DAA520",
"running_highlight": "#FF0000",
"selected_highlight": "#FFD700"
},
"moveMenuLeft": true,
"nav_menu": {
"height": "66px",
"width": "252px"
},
"navigate_menu": true,
"number_sections": true,
"sideBar": true,
"threshold": 4,
"toc_cell": false,
"toc_section_display": "block",
"toc_window_display": false
}
},
"nbformat": 4,
"nbformat_minor": 2
}