{ "cells": [ { "cell_type": "markdown", "id": "ed6c4702-e6e7-4e73-a419-1bc30a59e755", "metadata": {}, "source": [ "# Exploration of Kepler dynamics with a Neural network\n", "\n", "(by Sean Cowan)\n", "\n", "This notebook investigates the 2D Kepler ODE system (in polar coordinates). In particular, we look at adding a perturbative acceleration in the form of a neural network. The equations are\n", "\n", "$$\n", "\\begin{array}{l}\n", "\\dot r = v_r \\\\\n", "\\dot v_r = - \\frac 1{r^2} + r v_\\theta^2 + u_r\\\\\n", "\\dot \\theta = v_\\theta \\\\\n", "\\dot v_\\theta = -2 \\frac{v_\\theta v_r}{r} + u_\\theta\n", "\\end{array}\n", "$$\n", "\n", "which describes, in non dimensional units, the Keplerian motion of a mass point object around some primary body with a perturbation." ] }, { "cell_type": "markdown", "id": "1ef06be2-7604-47e3-be21-a26771e24bb3", "metadata": {}, "source": [ "## Importing stuff" ] }, { "cell_type": "code", "execution_count": 1, "id": "2d942efb-4836-4e5f-8cc4-a91422aec28e", "metadata": {}, "outputs": [], "source": [ "import time\n", "import copy\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "import matplotlib.colors as col\n", "\n", "from scipy.integrate import solve_ivp\n", "\n", "from pyaudi import gdual_double as gdual, taylor_model, int_d, sin, cos\n", "from plotting_functions import plot_n_to_2_solution_enclosure, sample_on_square_boundary" ] }, { "cell_type": "markdown", "id": "4e8f624f-4a9a-4e48-a618-7e6e32d731cb", "metadata": {}, "source": [ "## Define Neural Network stuff\n", "\n", "We define weights and biases congruent with a list (e.g. [4, 10, 2]) defining the size of the network, which is then used in ml_predict to produce an output given an input. We also define the ReLu activation function for more realism (but of course it works without)." ] }, { "cell_type": "code", "execution_count": 2, "id": "1eb72981-21cd-4343-b7c6-d840b298fab1", "metadata": {}, "outputs": [], "source": [ "seed = 41+6 # Set your desired seed\n", "rng = np.random.Generator(np.random.MT19937(seed)) \n", "\n", "def initialize_weights(n_units):\n", " weights = []\n", " \n", " for layer in range(1, len(n_units)):\n", " W_layer = np.empty((n_units[layer-1], n_units[layer]), dtype=object)\n", " for i in range(n_units[layer-1]):\n", " for j in range(n_units[layer]):\n", " symname = f'w_{{({layer},{j},{i})}}'\n", " exp_point = rng.uniform(low=-1, high=1)\n", " w_tm = exp_point\n", " W_layer[i, j] = w_tm\n", " weights.append(W_layer)\n", " \n", " return weights\n", "\n", "def initialize_biases(n_units):\n", " biases = []\n", " \n", " for layer in range(1, len(n_units)):\n", " b_layer = np.empty((1, n_units[layer]), dtype=object)\n", " for j in range(n_units[layer]):\n", " symname = f'b_{{({layer},{j})}}'\n", " exp_point = 1\n", " b_tm = exp_point\n", " b_layer[0, j] = b_tm\n", " biases.append(b_layer)\n", " \n", " return biases\n", "\n", "def ReLu(x):\n", " if isinstance(x, np.ndarray) and isinstance(x[0, 0], taylor_model):\n", " old_shape = x.shape\n", " x = x.reshape(-1, 1)\n", " for it, t in enumerate(x[:, 0]):\n", " if t.tpol.constant_cf > 0:\n", " pass\n", " else:\n", " x[it, 0] = 0\n", " return x.reshape(old_shape)\n", " elif isinstance(x, np.ndarray) and isinstance(x[0, 0], float):\n", " return np.where(x > 0, x, 0)\n", " elif isinstance(x, taylor_model):\n", " return x if x.tpol.constant_cf > 0 else 0\n", " elif isinstance(x, float):\n", " if x > 0:\n", " return x\n", " else:\n", " return 0\n", " else:\n", " raise RuntimeError(f\"The input {x} of type {type(x)} is not valid.\")\n", "\n", "def ml_predict(x_in, W, b):\n", " layer_output = x_in\n", " for W_layer, b_layer in zip(W, b):\n", " layer_output = ReLu(layer_output @ W_layer + b_layer)\n", " # layer_output = layer_output @ W_layer\n", " return layer_output" ] }, { "cell_type": "markdown", "id": "44cae7a6-676b-4a51-b028-b33d13ed41eb", "metadata": {}, "source": [ "## Integration function" ] }, { "cell_type": "code", "execution_count": 3, "id": "7a3289ca-ecd3-49ac-9383-e8f77b495d49", "metadata": {}, "outputs": [], "source": [ "def rk4_t(f, t0, y0, th):\n", " t = th\n", " timesteps = [(th[i + 1] - th[i]).item() for i in range(len(th) - 1)]\n", " y = np.array([[type(y0[0])] * np.size(y0)] * (len(t)))\n", " y[0] = y0\n", " for n in range(len(t) - 1):\n", " h = timesteps[n]\n", " xi1 = y[n]\n", " f1 = f(t[n], xi1)\n", " xi2 = y[n] + (h / 2.0) * f1\n", " f2 = f(t[n], xi2)\n", " xi3 = y[n] + (h / 2.0) * f2\n", " f3 = f(t[n], xi3)\n", " xi4 = y[n] + h * f3\n", " f4 = f(t[n], xi4)\n", " y[n + 1] = y[n] + (h / 6.0) * (f1 + 2 * f2 + 2 * f3 + f4)\n", " return y\n", "\n", "minimum_network = [4, 1, 2]\n", "default_weights = initialize_weights(minimum_network) \n", "default_biases = initialize_biases(minimum_network) \n", "\n", "def rk4_t_nn(f, t0, y0, th, f_args=(default_weights, default_biases, 1e-5)):\n", " t = th\n", " timesteps = [(th[i + 1] - th[i]).item() for i in range(len(th) - 1)]\n", " y = np.array([[type(y0[0])] * np.size(y0)] * (len(t)))\n", " y[0] = y0\n", " for n in range(len(t) - 1):\n", " h = timesteps[n]\n", " xi1 = y[n]\n", " f1 = f(t[n], xi1, *f_args)\n", " xi2 = y[n] + (h / 2.0) * f1\n", " f2 = f(t[n], xi2, *f_args)\n", " xi3 = y[n] + (h / 2.0) * f2\n", " f3 = f(t[n], xi3, *f_args)\n", " xi4 = y[n] + h * f3\n", " f4 = f(t[n], xi4, *f_args)\n", " y[n + 1] = y[n] + (h / 6.0) * (f1 + 2 * f2 + 2 * f3 + f4)\n", " return y" ] }, { "cell_type": "markdown", "id": "f81c4d86-84e6-48a0-9c03-bb75ee041622", "metadata": {}, "source": [ "## Define problem" ] }, { "cell_type": "code", "execution_count": 4, "id": "7b03f494-60e4-4d79-b77c-79e11cfceb9c", "metadata": {}, "outputs": [], "source": [ "def eom_kep_polar(t, y):\n", " return np.array(\n", " [y[1], -1 / y[0] / y[0] + y[0] * y[3] * y[3], y[3], -2 * y[3] * y[1] / y[0]]\n", " )\n", "\n", "def eom_kep_polar_thrust(t, y, weights=default_weights, biases=default_biases, max_thrust=1e-5):\n", " u = max_thrust * ml_predict(y.reshape(1, -1), weights, biases).reshape(-1)\n", " return np.array(\n", " [y[1], -1 / y[0] / y[0] + y[0] * y[3] * y[3] + u[0], y[3], -2 * y[3] * y[1] / y[0] + u[1]]\n", " )\n", "\n", "# Order of Taylor series\n", "order = 5\n", "# Tolerance\n", "tol=1e-10\n", "# Neural network size\n", "n_units = [4, 32, 32, 32, 2]\n", "# Maximum thrust acceleration\n", "max_thrust = 1e-3\n", "# Number of orbits to propagate with random acceleration\n", "n_samples = 4\n", "# Size of valid domain for Taylor model\n", "domain_size = 0.001 \n", "\n", "# The initial conditions\n", "ic = [1.0, 0.1, 0.0, 1.0]\n", "initial_time = 0.0\n", "final_time = 5" ] }, { "cell_type": "markdown", "id": "cb0ab062-34d7-4d39-a016-ab9f6410494d", "metadata": {}, "source": [ "## Numerical propagation" ] }, { "cell_type": "code", "execution_count": 5, "id": "7b94cb41-53ed-4f80-acb0-7579b53fac38", "metadata": {}, "outputs": [], "source": [ "y_num_viz = solve_ivp(\n", " eom_kep_polar, (initial_time, final_time), ic, method=\"RK45\", rtol=1e-13, atol=1e-13\n", ")" ] }, { "cell_type": "markdown", "id": "4596298f-92c7-408d-9514-de332461b6df", "metadata": {}, "source": [ "## Taylor model propagation" ] }, { "cell_type": "markdown", "id": "5ecfe61e-5bc4-4379-8b22-6c5c295928f5", "metadata": {}, "source": [ "Next, we propagate the Taylor models for a number of samples with randomised neural network weights and biases." ] }, { "cell_type": "code", "execution_count": 6, "id": "27f6bf98-69e7-4e98-a2cb-4e5e92215148", "metadata": {}, "outputs": [ { "data": { "image/png": "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pnv37um3337T888/L0nau3ev7t27l2I7l5yQkBBduXLFrt9WAmkpNDRU/v7+mjRpkgYMGGB0HBtZs2bVG2+8oVWrVuns2bMqUaKE3eYKDAxUt27d1KJFC23dutVu8wAAANd0/fp1ffvtt7p06VKKx8TGxmrevHnq3r17kn2rV69WVFSUJk2aZM+YwBNziqcAlC5dWi+99JI6d+6sPXv2aM+ePercubOaNGliswBgqVKl9MMPP0iSIiIi1LdvX+3evVsXL17Uli1b1LRpUwUGBqpFixZG/SjAY8mePbskaeDAgenycXgffPCBEhISNGzYMLvPNXr0aP3xxx/atGmT3ecCAACupVmzZurXr5+yZs2a4jFz5sxRmzZt5OnpaTOekJCgiRMnqkCBAqpcubK9owJPxCkKAEn67rvv9Mwzz6hRo0Zq1KiRypUrpwULFtgcc/r0ad27d0+S5ObmpmPHjqlZs2Z66qmn1L59ez311FPavXu3smTJYsSPADyRsWPHGh0hiUyZMql9+/a6ceOGDhw4YNe5zGazFixYoHbt2slisdh1LgAA4DpWr16t27dvP/RqywcPHmj58uV65513kuxbtGiRLBYLaxXBKTjFUwAkyd/fXwsXLnzoMVarNfH3mTJl0rp16+wdC7C7RYsW6e2339b58+d14cIFFSlSxOhINt59910tXLhQQ4cO1dq1ax+6MOeTql+/vooXL67Bgweny0IEAAA4F4vFoi5dumjNmjUPPe4///mPevToITc3N5vx2NhYTZs2TcWLF1eZMmXsGRVIE05zBQDgqlq3bi1Jcnd315AhQwxOk5Snp6fef/99mc1mLVu2zO7z/fDDD5oxY4bu3Llj97kAAEDG1rNnTz377LOqUqVKisfcvXtXW7ZsUfPmzZPsmzNnjkwmk4YPH26/kEAaogAAnIDVatWSJUvk5+enPXv2GB0nidatW+vBgweaPn26IiIi7DqXv7+/evTowVoeAADgiVy9elWLFy9+5BcYEyZMUL9+/ZJc5RgZGal58+apbNmyKl68uD2jAmmGAgBwIsOGDdOIESNsbndJD9zc3NSzZ08VKVJEo0ePtvt8o0aN0oULF7Rhwwa7zwUAADKmZs2aacCAAfL19U3xmBs3bujEiROqX79+kn1ffvml3NzcNHToUHvGBNIUBQDgRHLmzKk6depo+fLlRkdJonnz5rp+/brOnDmjU6dO2X2+RYsWqX379iwICAAAHtuKFSsUGhqqjz/++KHHjRo1SoMHD04yHhYWphUrVui5555TgQIF7BUTSHMUAICT+eijjzRjxgzFxMQYHcWGyWRS3759lSdPHn3yySd2v0qhdu3aKlWqlD755BO7zgMAADIWi8Wibt26PfLS/wMHDigyMlLPPfdckn1ffPGFTCaTBg0aZK+YgF1QAABOxtvbW506ddKXX35pdJQkGjZsqJs3b6p48eJasWKF3edbuXKl5syZo5MnT9p9LgAAkDF0795dzz//vCpXrpziMfHx8RowYIAmTJiQZF9YWJg2b96sunXrKleuXPaMCqQ5CgDACb311ltav369QkJCjI6SxPjx43Xx4kWHLAiYLVs2TZs2TS+99BK3AgAAgEe6dOmSvv/+e33//fcPPe7LL7/UW2+9pZw5cybZt3z5clmtVvXr189eMQG7oQAAnJDZbNaQIUM0atQoo6MkUaJECZUoUUL16tXTmDFj7D5f69atVaJECX3wwQd2nwsAADi3l156ScOGDZOPj0+Kx1y5ckUbN25Ux44dk+y7fPmyzp49q8aNG8vf39+eUQG7oAAAnFTNmjV169YtnT592ugoSQwePFi//vqr/vjjD4fkW7t2rZYtW6a9e/fafS4AAOCcPvnkE/n6+qpXr14pHmO1WhUUFKRJkyYleeyfJI0ZM0ZWq1UffvihPaMCdkMBADix8ePH6+OPP053jwX09fVVp06dVKxYMYcsCOjt7a0FCxaoefPmio+Pt+tcAADA+ezfv1+zZ8/Wpk2bHnrcqlWrVLp0aZUqVSrJvuPHj+vs2bOqXr26smTJYq+ogF1RAABOrFChQqpRo4YWL15sdJQkWrdurWPHjumpp57SypUr7T5f48aNVaNGDbVu3drucwEAAOcRHx+vJk2aaMGCBcqaNWuKx4WHh+vLL7/UgAEDkuyzWCz6+OOPZbFY1LhxY3vGBeyKAgBwcn369NHcuXMVFhZmdBQbJpNJY8eO1fXr1zV9+nQ9ePDA7nMuWbJE27dv17p16+w+FwAAcA7NmzdXgwYN9PLLLz/0uMGDB2vw4MHy9vZOsm/OnDny9/dX69at5eXlZa+ogN1RAABOzsPDQ8OGDdPgwYONjpJE+fLllS1bNr300ksOWRDQ3d1dq1ev1jvvvKPo6Gi7zwcAANK37777TkeOHNGCBQseety+ffv04MED1atXL8m+4OBgLV26VNevX092YUDAmVAAABlArVq1FB0drd9++83oKEmMHDlS69ev17lz53T8+HG7z1elShW99tpratq0qd3nAgAA6dedO3fUs2dPbdy4UWZzyh974uPjNXDgQH366afJ7u/Xr5+KFi2qnj17ytPT015xAYegAAAyiPHjx2vw4MHpbhE8f39/vf7666pQoYKCgoIckm/mzJk6ffp0ulwbAQAAOEbdunXVr18/lSxZ8qHHTZkyRW3atFFgYGCSfZs2bZLJZFJISIhatGhhr6iAw1AAABlEYGCg3nzzTU2fPt3oKEl06tRJv/76q5o3b64JEybYfT6z2ax169bpgw8+SHdrIwAAAPsbOHCgvL291b9//4ced/HiRW3dulXt2rVLsi86OlpjxoxRcHCwJk6cmOxjAQFnQwEAZCDvvvuufvnlF12/ft3oKDbc3Nw0fPhwHTt2TEeOHNGxY8fsPmfp0qX1/vvvq1GjRnafCwAApB8HDx7UV199pc2bNz/0OKvVqr59+2rSpEnJfrgfP368KlasqBo1aqho0aL2igs4FAUAkIGYzWaNHz9e/fr1MzpKEtWrV1dUVJQ6d+6soKAgxcXF2X3OsWPHKiwsLF1eFQEAANJefHy8XnnlFc2bN++hj/yTpBUrVqh8+fJ66qmnkuw7ffq0Dh8+rEOHDqlv3772igs4HAUAkMGUK1dOefLk0fr1642OksTYsWP1+eefq0OHDho/frxD5ty4caMGDRqU7q6KAAAAaa9ly5aqW7euXn311Yced+/ePc2cOTPZL03+ujLA399fQ4YMYeE/ZCgUAEAGNGzYMI0fP15RUVFGR7GRJ08evfTSSwoPD9eJEyd05MgRu89ZsGBBDRkyRC+88ILd5wIAAMZZunSpDhw4oO++++6Rxw4aNEhDhw6Vl5dXkn0LFixQsWLFZLFYkn0sIODMKACADMjX11cffvihw75lfxw9evTQmjVrFBQUpL59+yo2Ntbuc/bp00dZs2ZVz5497T4XAABwvDt37qhbt27asGHDQx/5J0m7d+9WbGysateunWRfSEiI5s+fr99//z3FxwICzowCAMigmjVrphMnTujkyZNGR7FhNps1ZcoUjR49Wp06ddLYsWMdMu+WLVv0/fff64cffnDIfAAA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vPzyy8qUKZOWL1+ugQMH6rffftOGDRscNn/9+vU1YcIEValSRZGRkQ6bFwAAZzdr1iyNGzdOR48eVbZs2VL1mlGjRqlatWpq2LBhsvvv3r2roUOHqlu3btq8ebN69uyZhomBjIMCAMBDFS5cWB9++KF69OjhsMvsU2vs2LGaP3++jh07pq+++kqTJk3S6dOnHTZ/p06d1K5dO5UvX17x8fEOmxcAAGe1cOFCDRo0SIcOHVJgYGCqXvP999/rzp076t69e7L74+Pj1bFjR40aNUqDBw/mkX/AQ1AAAHikV155RUWKFHHoZfap4eHhoXnz5umjjz7S/fv39c0336h79+66e/euwzJ8+umniZcZUgIAAJCyFStWqFevXtq/f7/y5s2bqtfs27dPixYt0ueff57iMUFBQXr77bcT3z937txpFRnIcCgAAKTKgAEDtHv3bv36669GR7ERGBio//znP+rYsaMCAgI0ceJEhz4ZQJJmz56t5557ThUrVpTFYnHYvAAAOIv//ve/6ty5s3bt2qVChQql6jVXr15V//799c0338jd3T3ZY7766itly5ZNfn5+io2NVZMmTdIyNpDhUAAASBWTyaRZs2Zp7NixunjxotFxbJQpU0bvv/++evTooYoVK6pNmzbq06ePQzN8++23KlOmjCpVqkQJAADA32zZskXvvPOOtmzZopIlS6bqNQ8ePNC7776b+AE/Ob/++qu2bt2qbt26acKECZowYUIapgYyJgoAAKmWOXNmff311+rcubMePHhgdBwbTZs2VdGiRTV16lS98cYbCgwM1IwZMxyaYcmSJSpSpIiqVKlCCQAAgKS9e/eqRYsWWrduncqVK5eq11gsFr333nsaNGiQihcvnuwxf/zxh8aNG6fp06frvffe05QpU1L1NAHA1VEAAHgshQsX1sCBA9W1a9d0tyjgJ598okOHDmn9+vUaOnSodu7cqc2bNzs0w8qVK5UrVy7VrFmTEgAA4NIOHz6sl156SatXr9Zzzz2X6tcNGTJEDRs2VJ06dZLdHxYWpq5du2ru3LkaOHCgunTporJly6ZVbCBDowAA8Njq1aunKlWqaPz48UZHsWEymTRjxgx9/vnnOnv2rGbNmqVPP/3UoU8GkKS1a9cqS5YsqlevnkPnBQAgvTh58qTq16+vJUuWqHbt2ql+3YIFCxQTE6P33nsv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AgwAiIiIiIiIiKQAAwAiIiIiIiIiKcAAgIiIiIiIiEgKMAAgIiIiIiIikgIMAIiIiIiIiIikAAMAIiIiIiIiIinAAICIiIiIiIhICjAAICIiIiIiIpICDACIiIiIiIiIpAADACIiIiIiIiIpwACAiIiIiIiISAowACAiIiIiIiKSAgwAiIiIiIiIiKQAAwAiIiIiIiIiKcAAgIiIiIiIiEgKMAAgIiIiIiIikgIMAIiIiIiIiIikAAMAIiIiIiIiIinAAICIiIiIiIhICjAAICIiIiIiIpICDACIiIiIiIiIpAADACIiIiIiIiIpwACAiIiIiIiISAowACAiIiIiIiKSAgwAiIiIiIiIiKQAAwAiIiIiIiIiKcAAgIiIiIiIiEgKMAAgIiIiIiIikgIMAIiIiIiIiIikAAMAIiIiIiIiIinAAICIiIiIiIhICjAAICIiIiIiIpICDACIiIiIiIiIpAADACIiIiIiIiIpwACAiIiIiIiISAowACAiIiIiIiKSAgwAiIiIiIiIiKQAAwAiIiIiIiIiKcAAgIiIiIiIiEgKMAAgIiIiIiIikgIMAIiIiIiIiIikAAMAIiIiIiIiIinAAICIiIiIiIhICjAAICIiIiIiIpICDACIiIiIiIiIpAADACIiIiIiIiIpwACAiIiIiIiISAowACAiIiIiIiKSAgwAiIiIiIiIiKQAAwAiIiIiIiIiKcAAgIiIiIiIiEgKMAAgIiIiIiIikgIMAIiIiIiIiIikAAMAIiIiIiIiIinAAICIiIiIiIhICjAAICIiIiIiIpICDACIiIiIiIiIpAADACIiIiIiIiIpwACAiIiIiIiISAowACAiIiIiIiKSAgwAiIiIiIiIiKQAAwAiIiIiIiIiKcAAgIiIiIiIiEgKMAAgIiIiIiIikgIMAIiIiIiIiIikAAMAIiIiIiIiIinAAICIiIiIiIhICjAAICIiIiIiIpICDACIiIiIiIiIpAADACIiIiIiIiIpwACAiIiIiIiISAowACAiIiIiIiKSAgwAiIiIiIiIiKQAAwAiIiIiIiIiKcAAgIiIiIiIiEgKMAAgIiIiIiIikgIMAIiIiIiIiIikAAMAIiIiIiIiIinAAICIiIiIiIhICjAAICIiIiIiIpICDACIiIiIiIiIpAADACIiIiIiIiIpwACAiIiIiIiISAowACAiIiIiIiKSAgwAiIiIiIiIiKQAAwAiIiIiIiIiKcAAgIiIiIiIiEgKMAAgIiIiIiIikgIMAIiIiIiIiIikAAMAIiIiIiIiIinAAICIiIiIiIhICjAAICIiIiIiIpICDACIiIiIiIiIpAADACIiIiIiIiIpwACAiIiIiIiISAowACAiIiIiIiKSAgwAiIiIiIiIiKRAhQkAFi9ejHbt2kFJSQlqamoFWmfIkCEQCAS5Xm3bti3dQomIiIiIiIjKoQoTAGRkZMDBwQGjR48u1Ho9e/ZEdHS0+HXixIlSqpCIiIiIiIio/JKVdAEFNX/+fADAzp07C7WegoICtLS0SqEiIiIiIiIiooqjwgQARRUSEgINDQ2oqamhY8eOWLx4MTQ0NH7YPj09Henp6eLfP336BAD48OFDqddK0i0zMxOpqalISEiAnJycpMuhXxiPNSorPNaorPBYo7LCY43KyrfrT5FIVKLb/aUDgF69esHBwQG6urp4/fo1PDw80LlzZ9y5cwcKCgp5rrNkyRJxb4N/MzY2Lu1yiYiIiIiIiMQSEhKgqqpaYtsTiEo6UiiEefPm5Xmx/W+3bt1Cy5Ytxb/v3LkTEydORGJiYqH3Fx0dDV1dXezfvx+2trZ5tvlvD4DExETo6uoiIiKiRP/DE/1XUlIS6tSpg8jISFSpUkXS5dAvjMcalRUea1RWeKxRWeGxRmXl06dP0NHRwcePHws8CH5BSLQHwLhx4+Do6JhvGz09vRLbn7a2NnR1dfHixYsftlFQUMizd4Cqqir/klOZqFKlCo81KhM81qis8FijssJjjcoKjzUqK0JhyY7bL9EAQF1dHerq6mW2v4SEBERGRkJbW7vM9klERERERERUHlSYaQAjIiIQGhqKiIgIZGdnIzQ0FKGhoUhOTha3MTExweHDhwEAycnJ+OOPP3Dt2jW8efMGISEhsLGxgbq6Ovr37y+pj0FEREREREQkERVmEMA5c+Zg165d4t9NTU0BABcuXIClpSUA4NmzZ+JR+2VkZPDw4UPs3r0biYmJ0NbWRqdOnXDgwAGoqKgUeL8KCgqYO3fuDwcNJCopPNaorPBYo7LCY43KCo81Kis81qislNaxJtFBAImIiIiIiIiobFSYRwCIiIiIiIiIqOgYABARERERERFJAQYARERERERERFKAAQARERERERGRFGAAkIfFixejXbt2UFJSgpqaWoHWGTJkCAQCQa5X27ZtS7dQqvCKcqyJRCLMmzcPNWvWRKVKlWBpaYl//vmndAulCu/jx48YPHgwVFVVoaqqisGDByMxMTHfdXheo4LYsGED9PX1oaioiBYtWuDy5cv5tr948SJatGgBRUVF1K1bF5s2bSqjSqmiK8yxFhIS8t35SyAQ4OnTp2VYMVVEly5dgo2NDWrWrAmBQIAjR478dB2e16goCnusldR5jQFAHjIyMuDg4IDRo0cXar2ePXsiOjpa/Dpx4kQpVUi/iqIca8uWLcPKlSuxbt063Lp1C1paWujWrRs+f/5cipVSRefk5ITQ0FCcOnUKp06dQmhoKAYPHvzT9Xheo/wcOHAAEydOxOzZs3Hv3j2Ym5ujV69eiIiIyLP969evYWVlBXNzc9y7dw+zZs3C+PHjERgYWMaVU0VT2GPtm2fPnuU6hxkZGZVRxVRRpaSkoGnTpli3bl2B2vO8RkVV2GPtm2Kf10T0Qzt27BCpqqoWqK2bm5uob9++pVoP/boKeqzl5OSItLS0RF5eXuJlaWlpIlVVVdGmTZtKsUKqyB4/fiwCILp+/bp42bVr10QARE+fPv3hejyv0c+0bt1aNGrUqFzLTExMRDNmzMiz/bRp00QmJia5lo0cOVLUtm3bUquRfg2FPdYuXLggAiD6+PFjGVRHvyoAosOHD+fbhuc1KgkFOdZK6rzGHgAlKCQkBBoaGjA2NsaIESMQFxcn6ZLoF/P69WvExMSge/fu4mUKCgro2LEj/v77bwlWRuXZtWvXoKqqijZt2oiXtW3bFqqqqj89bnheox/JyMjAnTt3cp2PAKB79+4/PK6uXbv2XfsePXrg9u3byMzMLLVaqWIryrH2jampKbS1tdGlSxdcuHChNMskKcXzGpW14p7XGACUkF69esHPzw/nz5/HihUrcOvWLXTu3Bnp6emSLo1+ITExMQAATU3NXMs1NTXF7xH9V0xMDDQ0NL5brqGhke9xw/Ma5Sc+Ph7Z2dmFOh/FxMTk2T4rKwvx8fGlVitVbEU51rS1teHj44PAwEAcOnQI9erVQ5cuXXDp0qWyKJmkCM9rVFZK6rwmW0r1lTvz5s3D/Pnz821z69YttGzZskjbHzhwoPjnRo0aoWXLltDV1UVwcDBsbW2LtE2qmEr7WAMAgUCQ63eRSPTdMvr1FfRYA74/ZoCfHzc8r1FBFPZ8lFf7vJYT/VdhjrV69eqhXr164t/NzMwQGRmJ5cuXw8LColTrJOnD8xqVhZI6r0lNADBu3Dg4Ojrm20ZPT6/E9qetrQ1dXV28ePGixLZJFUNpHmtaWloAvqbN2tra4uVxcXHfpc/06yvosfbgwQPExsZ+99779+8LddzwvEb/pq6uDhkZme/uwOZ3PtLS0sqzvaysLKpXr15qtVLFVpRjLS9t27aFr69vSZdHUo7nNZKkopzXpCYAUFdXh7q6epntLyEhAZGRkbku0kg6lOaxpq+vDy0tLZw9exampqYAvj4befHiRSxdurRU9knlV0GPNTMzM3z69Ak3b95E69atAQA3btzAp0+f0K5duwLvj+c1+jd5eXm0aNECZ8+eRf/+/cXLz549i759++a5jpmZGY4fP55r2ZkzZ9CyZUvIycmVar1UcRXlWMvLvXv3eP6iEsfzGklSUc5rHAMgDxEREQgNDUVERASys7MRGhqK0NBQJCcni9uYmJjg8OHDAIDk5GT88ccfuHbtGt68eYOQkBDY2NhAXV091z9URP9V2GNNIBBg4sSJ8PT0xOHDh/Ho0SMMGTIESkpKcHJyktTHoHKufv366NmzJ0aMGIHr16/j+vXrGDFiBHr37p2rKxnPa1RYkydPxtatW7F9+3Y8efIEkyZNQkREBEaNGgUAmDlzJlxdXcXtR40ahfDwcEyePBlPnjzB9u3bsW3bNvzxxx+S+ghUQRT2WFu1ahWOHDmCFy9e4J9//sHMmTMRGBiIcePGSeojUAWRnJws/j4GfB2A+dt3NYDnNSo5hT3WSuy8Vqw5BH5Rbm5uIgDfvS5cuCBuA0C0Y8cOkUgkEqWmpoq6d+8uqlGjhkhOTk6ko6MjcnNzE0VEREjmA1CFUdhjTST6OhXg3LlzRVpaWiIFBQWRhYWF6OHDh2VfPFUoCQkJImdnZ5GKiopIRUVF5Ozs/N00MjyvUVGsX79epKurK5KXlxc1b95cdPHiRfF7bm5uoo4dO+ZqHxISIjI1NRXJy8uL9PT0RBs3bizjiqmiKsyxtnTpUpGBgYFIUVFRVLVqVVGHDh1EwcHBEqiaKppvU6399+Xm5iYSiXheo5JT2GOtpM5rApHo/0apICIiIiIiIqJfFh8BICIiIiIiIpICDACIiIiIiIiIpAADACIiIiIiIiIpwACAiIiIiIiISAowACAiIiIiIiKSAgwAiIiIiIiIiKQAAwAiIiIiIiIiKcAAgIiIiIiIiEgKMAAgIiKiUvHmzRsIBAIIBAI0a9Ys37ZDhgwRtz1y5EiZ1EdERCRtGAAQERFRqfrf//6Hc+fO5dtm9erViI6OLqOKiIiIpJOspAsgIiKiX1v16tVRvXr1fNuoqqpCVVW1jCoiIiKSTuwBQERERD/1/v17aGlpwdPTU7zsxo0bkJeXx5kzZyRYGRERERUUewAQERHRT9WoUQPbt29Hv3790L17d5iYmMDFxQVjxoxB9+7dJV0eERERFQADACIiIioQKysrjBgxAs7OzmjVqhUUFRXh5eUl6bKIiIiogPgIABERERXY8uXLkZWVBX9/f/j5+UFRUbFQ61++fBnKysril5+fXylVSkRERP/FHgBERERUYK9evUJUVBRycnIQHh6OJk2aFGr9li1bIjQ0VPy7pqZmCVdIREREP8IAgIiIiAokIyMDzs7OGDhwIExMTDB8+HA8fPiwUBfxlSpVgqGhYSlWSURERD/CRwCIiIioQGbPno1Pnz5hzZo1mDZtGurXr4/hw4dLuiwiIiIqIAYARERE9FMhISFYtWoV9uzZgypVqkAoFGLPnj24cuUKNm7cKOnyiIiIqAD4CAARERH9lKWlJTIzM3Mt09HRQWJiomQKIiIiokJjDwAiIiIqVe3atUO7du3ybTNq1CgoKyuXUUVERETSSSASiUSSLoKIiIh+PVlZWXjz5g0AQEFBAXXq1Plh27i4OCQlJQEAtLW1Ubly5bIokYiISKowACAiIiIiIiKSAnwEgIiIiIiIiEgKMAAgIiIiIiIikgIMAIiIiIiIiIikAAMAIiIiIiIiIinAAICIiIiIiIhICjAAICIiIiIiIpICDACIiIiIiIiIpAADACIiIiIiIiIp8P8Ao6X6at3uDlsAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(1, 1, figsize=(12, 12))\n", "\n", "y_num = solve_ivp(\n", " eom_kep_polar, (initial_time, final_time), ic, method=\"RK45\", rtol=tol, atol=tol\n", ")\n", "\n", "weights_list = []\n", "biases_list = []\n", "tm_list = []\n", "for it in range(n_samples+1):\n", "\n", " weights = initialize_weights(n_units) \n", " weights_list.append(weights)\n", " biases = initialize_biases(n_units) \n", " biases_list.append(biases)\n", "\n", " symbols = [\"r\", \"vr\", \"t\", \"vt\"]\n", " ic_g = [\n", " gdual(ic[0], symbols[0], order),\n", " gdual(ic[1], symbols[1], order),\n", " gdual(ic[2], symbols[2], order),\n", " gdual(ic[3], symbols[3], order),\n", " ]\n", " ic_tm = [\n", " taylor_model(\n", " ic_g[i],\n", " int_d(0.0, 0.0),\n", " {symbols[i]: ic[i]},\n", " {symbols[i]: int_d(ic[i] - domain_size / 2, ic[i] + domain_size / 2)},\n", " )\n", " for i in range(4)\n", " ]\n", "\n", " # Only propagate r and theta as Taylor models.\n", " ic_tm[1] = ic[1]\n", " ic_tm[3] = ic[3]\n", "\n", " # We call the numerical integrator, this time it will compute on Taylor models\n", " if it == 0:\n", " y_tm = rk4_t(eom_kep_polar, initial_time, ic_tm, y_num.t)\n", " else:\n", " y_tm = rk4_t_nn(eom_kep_polar_thrust, initial_time, ic_tm, y_num.t, (weights, biases,\n", " max_thrust))\n", " tm_list.append(y_tm)\n", " nom_x1 = []\n", " nom_x2 = []\n", " for it2, y_step in enumerate(y_tm):\n", "\n", " r_step, vr_step, t_step, vt_step = y_step\n", " x_step = r_step * sin(t_step)\n", " y_step = r_step * cos(t_step)\n", " x1_tm = x_step\n", " x2_tm = y_step\n", "\n", " nom_x1.append(x1_tm.tpol.constant_cf)\n", " nom_x2.append(x2_tm.tpol.constant_cf)\n", "\n", " if it2 == len(y_tm) - 1 or it2 == 0:\n", " ax = plot_n_to_2_solution_enclosure(x1_tm, x2_tm, ax=ax, color=\"k\", resolution=300)\n", "\n", " ax.plot(nom_x1, nom_x2, c='k', linewidth=0.5)\n", "\n", "ax.set_xlim([-1.5, 1.5])\n", "ax.set_ylim([-1.5, 1.5])\n", "ax.set_xlabel(\"x [-]\")\n", "ax.set_ylabel(\"y [-]\")\n", "ax.grid()" ] }, { "cell_type": "markdown", "id": "a687a765-c95d-4273-b0d3-3efb69d814a1", "metadata": {}, "source": [ "Finally, we take one of these samples and verify its behaviour with Monte Carlo shooting.\n", "\n", "NOTE: Since we are using a numerical integrator, of which the integration error is not bounded, At very high precisions the Monte Carlo samples may fall outside the remainder bound in certain cases." ] }, { "cell_type": "code", "execution_count": 7, "id": "8de16be2-9e05-4302-91fd-712c9d5798f1", "metadata": {}, "outputs": [ { "data": { "image/png": "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NmdavP++Fru46CdJg1u2lJ580tyQAAAUc5RjoIiwWCw6vWKFTkmqu3at7aHISPXYsEFTJX0t6bWJE01MCABA8Uc5BooQ706dlHLihPYdPSrDMGwPGYYihg7V+5LelvTpp5+aGREAgGKNcgwUMUFBQfrll1+0efNmde/e3fbQV1/pJatVL774ooYPH64f27XjDDIAALcB5Rgogho2bKjVq1dr6dKlerh7d9sX6Un64IMPFFGtmh6Ki1PsiBEOSAoAQPFCOQaKqA4dOmjOnDn6YelSReVzkd7UWbPUs2JFdV25Ukk9erCDDADALaAcA0XY/fffr89eeUUfSXp7/nzb9zc2DC1KSVFoQICaLVmiw337UpABALhJlGOgiHv63//W697eei07W98MHmy3+MbFxKiBi4tqJCcro2dPCjIAADeBcgw4gTc+/VR/L11aT1y6pJ/tFV/D0K9hYaoiyT8tTTlvv216TgAAnB3lGHAGkZH6PCFB/dzc1DstTYmvvmp7buxYHeneXUEWi3zmz1deXp65OQEAcHKUY8BZGIZmrVunjuXLK3TZMu3atcvmjGJilJKbK3cPD3l7edm90wUAALge5RhwJoahladOqXnz5mrUqJFSU1Ptjp47d066dEne06ZJ//iHiSEBAHBelGPACW3evFk1atRQUFCQsrOz7c6d7dRJ5yVVio01LxwAAE6Mcgw4qQMHDqi8n598ypZVXny8zRnLu+8q/f77dSIvT9WqVTM5IQAAzodyDDixkz17ykuST9u2sm7ceP2AYch7zhylpqXpyJEjatKkiekZAQBwJpRjwJlFRSnryo5w2TZt7I4FBATot99+044dO9S2bVuz0gEA4HQox4AzMwxp1ixlDRigXBcXBQYG2h2tUaOGtm3bpoSEBPXq1cvEkAAAOA/KMeDsDEOWGTOUk5OjM2fOqHLlynZHmzRpouXLl2vRokWKjIw0MSQAAM6BcgwUExaLRenp6Tpx4oTq1atnd65z586aOXOmvvvuO0XVr889kAEA+BPKMVCM+Pr66uDBg9q7d69a+PnZLb79+/fXZ4ahj/bs0VudOlGQAQC4gnIMFDNVq1bVjp49tSUzU91697Y79/QXX2i0l5f+ce6cJj39tIkJAQAouijHQDF0x5tvam2XLlp+8qQefvhh20OGoTGrVunvtWtr6MaNmj17trkhAQAo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lGMAAAATLf7pJw2rVUsPrFunCRMm2J0b+PHH2tStm2YcO6aWLVuamLBkoxwDAACYyTD0yf79eumll/Tcc8/ptddeszvXYulS/fLLL9q0aZOaNm1qbs4SymnKcXp6uiIiIuTr6ytfX19FRET85eMWx4wZo/r168vLy0vlypVT165dlZiYeN1cfHy8OnfuLC8vL/n5+aljx446f/58IX0SAAAA6f3339e4ceP09ttva/DgwXbnGjZsqJSUFO3YsUPBwcEmJiyZnKYch4eHKykpSTExMYqJiVFSUpIiIiLyfU3dunX16aefaseOHVq3bp2qV6+usLAwpaamXp2Jj49Xjx49FBYWpg0bNmjjxo0aNmyYSpVymqUBAABOKioqSlOnTtXXX3+te++91+5cxYoVlZGRodSTJ+Xv4iJNnWpiypLF1dEBCmLXrl2KiYlRQkKCWrduLUmaOHGi2rRpoz179qhevXo2XxceHn7N38eNG6fJkydr+/bt6tKli6TLv5TPPvusRo4ceXWuTp06hfRJAAAArhUREaHy5curZ8+eahsYqLiYGMkwrpvz8fHR+eBglU1Olvujj+rsww/LYrE4IHHx5hTlOD4+Xr6+vleLsSSFhobK19dXcXFxdsvxn+Xm5uqrr76Sr6/v1TM7p06dUmJiogYNGqS2bdvqwIEDql+/vt566y21b9/e7ntdvHhRFy9evPr3rKwsSVJeXl6+z08vKf67BqxF/lingmOtCo61KjjWquBYq4K72bXq0qWLNt5zj1ovWqQGXbpoe1qa7cF33tG5t95S0LFj8vT0VEZGhsqUKXOrsR3C7N+rgv4cF6vVai3kLLfs7bff1rfffqu9e/de8/W6devq8ccf16hRo+y+duHChXrooYeUk5Oj4OBgzZs37+oVnwkJCWrTpo38/f31wQcf6M4779TUqVP1+eefa+fOnXZ3kMeMGaM33njjuq9PmzZNnp6et/BJAQBASXbq1Ck9+eST8vf319dff53vbEREhM6dO6fvvvtOZcuWNSmh88rJyVF4eLgyMzPl4+Njd86hO8f2Suafbdy4UZLk4uJy3fesVqvNr/9Zp06dlJSUpLS0NE2cOFEDBw5UYmKiKlSooD/++EOS9NRTT+nxxx+XJDVr1kwrVqzQ119/rXfeecfme44aNUovvPDC1b9nZWUpJCREYWFh+S52SZGXl6dly5apW7du/OeefLBOBcdaFRxrVXCsVcGxVgV3O9bq/qVLVXnWLD3ev79OhodLzzwjNWt23dzp06fVrFkzRURE5LupV1SZ/Xv13//S/1ccWo6HDRumhx56KN+Z6tWra/v27Tp58uR130tNTVVQUFC+r/fy8lLt2rVVu3ZthYaGqk6dOpo8ebJGjRp19YrPhg0bXvOaBg0a6MiRI3bf083NTW5ubtd93WKx8C+NP2E9CoZ1KjjWquBYq4JjrQqOtSq4W1mrwFde0TkXF3nOnKlyU6fq3KVLUnS0zdmdO3eqSZMmatSokTaGhcl46y2b55WLMrN+rwr6MxxajgMDAxUYGPiXc23atFFmZqY2bNigVq1aSZISExOVmZmptm3b3tDPtFqtV88LV69eXZUqVbruGed79+5Vz549b+h9AQAAbgvDkGXGDOXExyvgrrtUZsYMZX/7rd1yt337dvWpVEktly7V/Jwc3bt2rcmBixenuF9ZgwYN1KNHDw0dOlQJCQlKSEjQ0KFD1bt372suxqtfv77mzp0rScrOztarr76qhIQEHT58WFu2bNGQIUN07NgxDRgwQNLloxovv/yyJkyYoFmzZmn//v365z//qd27d+d7v0EAAIDCZmnTRlmXLsnTy0teXl7KzMy0O/vTggUaEBKivuvWaeLEiSamLH6c4m4VkhQdHa1nn31WYWFhkqR7771Xn3766TUze/bsufqLU7p0ae3evVtTpkxRWlqaAgIC1LJlS61du1aNGjW6+prnn39eFy5cUFRUlM6cOaOmTZtq2bJlqlWrlnkfDgAAwI6MjAyFhISoXLlyOnbsmCpVqnT9kGFoxpEjev755/Xkk08qJSVFr7/+uvlhiwGnKcf+/v76/vvv853584033N3dNWfOnAK998iRI6+5zzEAAEBRcvToUTVo0EAhISHavHmz7rzzTptzH330kYKCgvTaa68pJSVFX3zxhblBiwGnOFYBAABQ0u3atUutW7dWs2bNtHTpUrtzo0aN0sSJE/Wf//xH999/v4kJiwfKMQAAgJOIi4vTvffeqx49euj70FBp0yabc4MHD9bixYu1YMGCfB9shutRjgEAAJzI/Pnz9USNGopITNR7Q4bYnevRo4c2bNig9evXq0HNmtKgQXbLNP4f5RgAAMDJTPrxR/2jUSO9sm2bourXt1t6W7Rood9+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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sample = 3\n", "\n", "fig, ax = plt.subplots(1, 1, figsize=(8, 8))\n", "\n", "y_num = solve_ivp(\n", " eom_kep_polar, (initial_time, final_time), ic, method=\"RK45\", rtol=tol, atol=tol\n", ")\n", "\n", "y_tm = tm_list[sample]\n", "for it2, y_step in enumerate(y_tm):\n", "\n", " r_step, vr_step, t_step, vt_step = y_step\n", " x_step = r_step * sin(t_step)\n", " y_step = r_step * cos(t_step)\n", " x1_tm = x_step\n", " x2_tm = y_step\n", "\n", " if it2 == len(y_tm) - 1:\n", " ax = plot_n_to_2_solution_enclosure(x1_tm, x2_tm, ax=ax, color=\"k\", resolution=300)\n", "\n", "# Monte Carlo\n", "n_samples_mc = int(1e3)\n", "\n", "seed2 = 2\n", "rng2 = np.random.Generator(np.random.MT19937(seed2))\n", "ic_mc = copy.deepcopy(ic)\n", "\n", "ic_r_th = sample_on_square_boundary([ic_mc[0], ic_mc[2]], domain_size, n_samples_mc=n_samples_mc, rng=rng2)\n", "\n", "xfs = ic_r_th[0, :] * np.sin(ic_r_th[1, :])\n", "yfs = ic_r_th[0, :] * np.cos(ic_r_th[1, :])\n", "\n", "weights = weights_list[sample]\n", "biases = biases_list[sample]\n", "for j in range(n_samples_mc):\n", " current_ic = [ic_r_th[0, j], ic[1], ic_r_th[1, j], ic[3]]\n", "\n", " if sample == 0:\n", " y = rk4_t(eom_kep_polar, initial_time, current_ic, y_num.t).astype(float)\n", " else:\n", " y = rk4_t_nn(eom_kep_polar_thrust, initial_time, current_ic, y_num.t, (weights, biases,\n", " max_thrust)).astype(float)\n", "\n", " r = y[-1, 0]\n", " th = y[-1, 2]\n", " xfs = r * np.sin(th)\n", " yfs = r * np.cos(th)\n", " ax.scatter(xfs, yfs, c=\"r\", s=0.5)\n", "\n", "ax.set_xlabel(\"x [-]\")\n", "ax.set_ylabel(\"y [-]\")\n", "ax.grid()" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.13.3" } }, "nbformat": 4, "nbformat_minor": 5 }