ndarray-odeint 0.2.0

solve ODE using rust-ndarray
Documentation
{
 "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/accuracy-0e48411c4aa4fd8f\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     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   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 0x7f3e8176bba8>"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f3e818032e8>"
      ]
     },
     "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
}