{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Van der Pol equation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/yoneda/.pyenv/versions/miniforge3-4.10.3-10/lib/python3.9/site-packages/jax/_src/lib/__init__.py:33: UserWarning: JAX on Mac ARM machines is experimental and minimally tested. Please see https://github.com/google/jax/issues/5501 in the event of problems.\n",
      "  warnings.warn(\"JAX on Mac ARM machines is experimental and minimally tested. \"\n"
     ]
    }
   ],
   "source": [
    "import jax.numpy as jnp\n",
    "from prax import Oscillator\n",
    "from jax.config import config; config.update(\"jax_enable_x64\", True)\n",
    "\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "class VanderPol(Oscillator):\n",
    "    def __init__(self, mu, dt=0.01, eps=10**-5):\n",
    "        super().__init__(n_dim=2, dt=dt, eps=eps)\n",
    "        self.mu = mu\n",
    "\n",
    "    def forward(self, state):\n",
    "        x, y = state\n",
    "        vx = y\n",
    "        vy = self.mu * (1.0 - x*x) * y - x\n",
    "        return jnp.array([vx, vy])\n",
    "\n",
    "model = VanderPol(mu=0.2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "WARNING:absl:No GPU/TPU found, falling back to CPU. (Set TF_CPP_MIN_LOG_LEVEL=0 and rerun for more info.)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "6.308876695632844\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x16a79b250>,\n",
       " <matplotlib.lines.Line2D at 0x16ad3b550>]"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "init_val = jnp.array([0.1, 0.2])\n",
    "model.find_periodic_orbit(init_val)\n",
    "print(model.period) # 6.3088767\n",
    "plt.plot(model.ts, model.periodic_orbit)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x16b542580>,\n",
       " <matplotlib.lines.Line2D at 0x16b5d71c0>]"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "model.calc_phase_response()\n",
    "plt.plot(model.ts, model.phase_response_curve)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3.9.7 64-bit ('base')",
   "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.9.7"
  },
  "orig_nbformat": 4,
  "vscode": {
   "interpreter": {
    "hash": "7d3977cd516aab4e7ac34ec0977b1608119a96f0bf9dd8c065a30d2af58323e0"
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
