{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "71850004",
   "metadata": {},
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "d143d1d3",
   "metadata": {
    "load": "myst_code_init.py",
    "tags": [
     "remove-cell"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loading pyMOR defaults from file /builds/pymor/pymor/docs/source/pymor_defaults.py\n"
     ]
    }
   ],
   "source": [
    "import warnings\n",
    "\n",
    "import matplotlib as mpl\n",
    "from IPython import get_ipython\n",
    "\n",
    "import pymor.tools.random\n",
    "\n",
    "ip = get_ipython()\n",
    "if ip is not None:\n",
    "    ip.run_line_magic('matplotlib', 'inline')\n",
    "\n",
    "warnings.filterwarnings('ignore', category=UserWarning, module='torch')\n",
    "\n",
    "pymor.tools.random._default_random_state = None\n",
    "\n",
    "mpl.rcParams['figure.facecolor'] = (1.0, 1.0, 1.0, 0.0)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d4d55beb",
   "metadata": {},
   "source": [
    "# Tutorial: Model order reduction for unstable LTI systems\n",
    "\n",
    "In {doc}`tutorial_lti_systems` we introduced LTI systems of the form\n",
    "\n",
    "```{math}\n",
    "\\begin{align}\n",
    "    E \\dot{x}(t) & = A x(t) + B u(t), \\\\\n",
    "    y(t) & = C x(t) + D u(t).\n",
    "\\end{align}\n",
    "```\n",
    "\n",
    "If the system is asymptotically stable, i.e., all eigenvalues of the\n",
    "matrix pair {math}`(A, E)` lie in the open left half plane, methods like\n",
    "balanced truncation (see {doc}`tutorial_bt`) can be used for model\n",
    "order reduction. Asymptotic stability of the LTI system is a crucial\n",
    "assumption for balanced truncation because the controllability and\n",
    "observability Gramians are not defined if the matrix pair {math}`(A, E)` has\n",
    "eigenvalues with a positive real part (in this case we call the LTI system\n",
    "unstable). Additionally, commonly used system norms like the\n",
    "{math}`\\mathcal{H}_2` norm, the {math}`\\mathcal{H}_\\infty` norm, and\n",
    "the Hankel (semi)norm are not defined for unstable LTI systems.\n",
    "\n",
    "In this tutorial we show how unstable LTI systems with an invertible\n",
    "{math}`E` matrix can be reduced using pyMOR.\n",
    "\n",
    "## An unstable model\n",
    "\n",
    "We consider the following one-dimensional heat equation over {math}`(0, 1)` with\n",
    "one input {math}`u(t)` and one output {math}`y(t)`:\n",
    "\n",
    "```{math}\n",
    "\\begin{align}\n",
    "    \\partial_t T(\\xi, t) & = \\partial_{\\xi \\xi} T(\\xi, t) + \\lambda T(\\xi, t),\n",
    "    & 0 < \\xi < 1,\\ t > 0, \\\\\n",
    "    -\\partial_\\xi T(0, t) & = -T(0, t) + u(t),\n",
    "    & t > 0, \\\\\n",
    "    \\partial_\\xi T(1, t) & = -T(1, t),\n",
    "    & t > 0, \\\\\n",
    "    y(t) & = T(1, t),\n",
    "    & t > 0.\n",
    "\\end{align}\n",
    "```\n",
    "\n",
    "Depending on the choice of the parameter {math}`\\lambda`, the discretization of\n",
    "the above partial differential equation is an unstable LTI system. In order to\n",
    "build the `LTIModel` we follow the lines of {doc}`tutorial_lti_systems`.\n",
    "\n",
    "First, we do the necessary imports and some matplotlib style choices."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "af62ef66",
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import scipy.sparse as sps\n",
    "from pymor.models.iosys import LTIModel\n",
    "\n",
    "plt.rcParams['axes.grid'] = True"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f04a9879",
   "metadata": {},
   "source": [
    "Next, we can assemble the matrices based on a centered finite difference\n",
    "approximation using standard methods of NumPy and SciPy. Here we use\n",
    "{math}`\\lambda = 50`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "2408c866",
   "metadata": {
    "load": "unstable_heat_equation.py"
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import scipy.sparse as sps\n",
    "\n",
    "k = 50\n",
    "n = 2 * k + 1\n",
    "lam = 50\n",
    "\n",
    "E = sps.eye(n, format='lil')\n",
    "E[0, 0] = E[-1, -1] = 0.5\n",
    "E = E.tocsc()\n",
    "\n",
    "d0 = n * [-2 * (n - 1)**2 + lam]\n",
    "d1 = (n - 1) * [(n - 1)**2]\n",
    "A = sps.diags([d1, d0, d1], [-1, 0, 1], format='lil')\n",
    "A[0, 0] = A[-1, -1] = -n * (n - 1) + lam / 2\n",
    "A = A.tocsc()\n",
    "\n",
    "B = np.zeros((n, 1))\n",
    "B[0, 0] = n - 1\n",
    "\n",
    "C = np.zeros((1, n))\n",
    "C[0, -1] = 1\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "db48de89",
   "metadata": {},
   "source": [
    "Then, we can create an `LTIModel` from NumPy and SciPy matrices `A`, `B`, `C`,\n",
    "`E`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "a00b439e",
   "metadata": {},
   "outputs": [],
   "source": [
    "fom = LTIModel.from_matrices(A, B, C, E=E)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6c404ba3",
   "metadata": {},
   "source": [
    "First, let's check whether our system is indeed unstable. For this, we can use the\n",
    "method `get_ast_spectrum`, which will\n",
    "compute the subset of system poles with a positive real part and the corresponding\n",
    "eigenvectors as well."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "272e83bf",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[ 6.65573911+0.j 36.50842397+0.j 48.29293004+0.j]\n"
     ]
    }
   ],
   "source": [
    "ast_spectrum = fom.get_ast_spectrum()\n",
    "print(ast_spectrum[1])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "95aec7c3",
   "metadata": {},
   "source": [
    "In the code snippet above, all eigenvalues of the matrix pair {math}`(A, E)` are\n",
    "computed using dense methods. This works well for systems with a small state space\n",
    "dimension. For large-scale systems it is wiser to rely on iterative methods for\n",
    "computing eigenvalues. The code below redefines `fom` to compute 10 system poles\n",
    "that are close to 0 using pyMOR's iterative eigensolver and filters the result\n",
    "for values with a positive real part."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "077b4e9b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "3be8bde965a648f19a75cf007e1595c2",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Accordion(children=(HTML(value='', layout=Layout(height='16em', width='100%')),), titles=('Log Output',))"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[ 6.65573911+0.j 36.50842397+0.j 48.29293004+0.j]\n"
     ]
    }
   ],
   "source": [
    "fom = fom.with_(ast_pole_data={'k': 10, 'sigma': 0})\n",
    "ast_spectrum = fom.get_ast_spectrum()\n",
    "print(ast_spectrum[1])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "dbc0fec3",
   "metadata": {},
   "source": [
    "## Frequency domain balanced truncation\n",
    "\n",
    "The controllability and observability Gramians (defined in the time-domain)\n",
    "introduced in {doc}`tutorial_lti_systems` do not exist for unstable systems.\n",
    "However, the frequency domain representations of these Gramians are defined for\n",
    "systems with no poles on the imaginary axis. Hence, for most unstable systems we\n",
    "can follow a similar approach to the one from {doc}`tutorial_bt` but using the\n",
    "frequency domain representations of the controllability and observability Gramians\n",
    "\n",
    "```{math}\n",
    "\\begin{align*}\n",
    "    P & =\n",
    "    \\frac{1}{2 \\pi} \\int_{-\\infty}^\\infty\n",
    "    (\\imath \\omega E - A)^{-1}\n",
    "    B B^{\\operatorname{T}}\n",
    "    (-\\imath \\omega E^{\\operatorname{T}} - A^{\\operatorname{T}})^{-1}\n",
    "    \\operatorname{d}\\!\\omega, \\text{ and} \\\\\n",
    "    E^{\\operatorname{T}} Q E & =\n",
    "    \\frac{1}{2 \\pi} E^{\\operatorname{T}} \\int_{-\\infty}^\\infty\n",
    "    (-\\imath \\omega E^{\\operatorname{T}} - A^{\\operatorname{T}})^{-1}\n",
    "    C^{\\operatorname{T}} C\n",
    "    (\\imath \\omega E - A)^{-1}\n",
    "    \\operatorname{d}\\!\\omega\\, E.\n",
    "\\end{align*}\n",
    "```\n",
    "\n",
    "Again, two Lyapunov equations have to be solved in order to obtain these Gramians.\n",
    "Additionally, it is necessary to perform a Bernoulli stabilization of the system\n",
    "matrices before solving the matrix equations. Both of these steps are done internally\n",
    "by the `FDBTReductor`.\n",
    "\n",
    "Let us start with initializing a reductor object"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "83ca2600",
   "metadata": {},
   "outputs": [],
   "source": [
    "from pymor.reductors.bt import FDBTReductor\n",
    "fdbt = FDBTReductor(fom)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9c0ee94a",
   "metadata": {},
   "source": [
    "In order to perform a Bernoulli stabilization, knowledge about the anti-stable\n",
    "subset of system poles is required. Therefore,\n",
    "`FDBTReductor` internally calls\n",
    "`fom.get_ast_spectrum` using the `ast_pole_data` attribute, which can be a list\n",
    "of anti-stable eigenvalues (with or without corresponding eigenvectors) or\n",
    "specifying how eigenvalues should be computed (`None` for computing all\n",
    "eigenvalues using dense methods or arguments for pyMOR's iterative eigensolver\n",
    "like in the code above).\n",
    "\n",
    "Before we use the `reduce` method to obtain a reduced-order model, we take a\n",
    "look at some a priori error bounds for the reductor. In particular, we get a\n",
    "{math}`\\mathcal{L}_\\infty` rather than the {math}`\\mathcal{H}_\\infty` error\n",
    "bound from classic balanced truncation."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "24665e01",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "1d1c47e6f2404f8a80161dd9d75d8704",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Accordion(children=(HTML(value='', layout=Layout(height='16em', width='100%')),), titles=('Log Output',))"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "error_bounds = fdbt.error_bounds()\n",
    "fig, ax = plt.subplots()\n",
    "ax.semilogy(range(1, len(error_bounds) + 1), error_bounds, '.-')\n",
    "ax.set_xlabel('Reduced order')\n",
    "_ = ax.set_title(r'$\\mathcal{L}_\\infty$ error bounds')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3950cff9",
   "metadata": {},
   "source": [
    "To get a reduced-order model of order 10, we call the `reduce` method with the\n",
    "appropriate argument:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "e48f5a9d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "7a9a0660af3e49458555cfd25b62884c",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Accordion(children=(HTML(value='', layout=Layout(height='16em', width='100%')),), titles=('Log Output',))"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "rom = fdbt.reduce(10)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9dd8860b",
   "metadata": {},
   "source": [
    "Alternatively, we can specify a desired error tolerance rather than the order\n",
    "of the reduced model.\n",
    "\n",
    "Finally, we can compute the relative {math}`\\mathcal{L}_\\infty` error to check\n",
    "the quality of the reduced-order model."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "425df7e7",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Relative Linf error:   2.997e-09\n"
     ]
    }
   ],
   "source": [
    "err = fom - rom\n",
    "print(f'Relative Linf error:   {err.linf_norm() / fom.linf_norm():.3e}')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0e74b2ff",
   "metadata": {},
   "source": [
    "Clearly, this result is in accordance with our previously computed\n",
    "{math}`\\mathcal{L}_\\infty` error bound:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "ce2bce9c",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Linf error:   8.545e-10\n",
      "Linf upper bound:   1.602e-09\n"
     ]
    }
   ],
   "source": [
    "print(f'Linf error:   {err.linf_norm():.3e}')\n",
    "print(f'Linf upper bound:   {error_bounds[9]:.3e}')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4dbd0ff2",
   "metadata": {},
   "source": [
    "## Gap-IRKA\n",
    "\n",
    "The `IRKAReductor` is specifically designed to find\n",
    "{math}`\\mathcal{H}_2`-optimal reduced-order models (see e.g. {cite}`GAB08`).\n",
    "Since we cannot compute {math}`\\mathcal{H}_2`-norms for unstable systems,\n",
    "we can not expect the IRKA to yield high-quality approximations for unstable\n",
    "full-order models.\n",
    "In {cite}`BBG19` the authors introduce a variant of the IRKA (the Gap-IRKA) which\n",
    "is based on the {math}`\\mathcal{H}_2`-gap-norm.\n",
    "As desired, this norm is defined for most unstable systems which makes the\n",
    "Gap-IRKA a suitable algorithm for finding reduced-order models for unstable systems.\n",
    "\n",
    "One major advantage of the `GapIRKAReductor` over the\n",
    "`FDBTReductor` is that\n",
    "no a priori information about the system poles is required. However, we do not\n",
    "obtain an a priori {math}`\\mathcal{L}_\\infty` error bound. Let us compute a\n",
    "reduced-order model of order 10 using the `GapIRKAReductor`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "4e2fe287",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "931ffe50b6b5425f898c556ce5262c60",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Accordion(children=(HTML(value='', layout=Layout(height='16em', width='100%')),), titles=('Log Output',))"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/usr/local/lib/python3.13/site-packages/slycot/exceptions.py:241: SlycotResultWarning: \n",
      "The computed solution may be inaccurate due to poor\n",
      "scaling or eigenvalues too close to the boundary of\n",
      "the  imaginary axis.\n",
      "  warn(globals()[warning](fmessage, iwarn, info))\n"
     ]
    }
   ],
   "source": [
    "from pymor.reductors.h2 import GapIRKAReductor\n",
    "gapirka = GapIRKAReductor(fom)\n",
    "rom = gapirka.reduce(10)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7649ded7",
   "metadata": {},
   "source": [
    "Beside the desired order of the reduced model, the `reduce` method has a few\n",
    "other arguments as well: `conv_crit` allows for choosing the stopping criterion\n",
    "of the algorithm. By specifying `conv_crit='sigma'` the relative change in\n",
    "interpolation points, `conv_crit='htwogap'` the relative change in\n",
    "{math}`\\mathcal{H}_2`-gap distance of the reduced-order models and `conv_crit='ltwo'` the\n",
    "relative change of {math}`\\mathcal{L}_2` distances of the reduced-order models are\n",
    "used as a stopping criterion. The `tol` argument sets the tolerance for\n",
    "any of the chosen stopping criterion.\n",
    "\n",
    "Again, we can compute the relative {math}`\\mathcal{L}_\\infty` error."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "06d590ab",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Relative Linf error:   2.849e-09\n"
     ]
    }
   ],
   "source": [
    "err = fom - rom\n",
    "print(f'Relative Linf error:   {err.linf_norm() / fom.linf_norm():.3e}')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "62f74131",
   "metadata": {},
   "source": [
    "Download the code:\n",
    "{download}`tutorial_unstable_lti_systems.md`,\n",
    "{nb-download}`tutorial_unstable_lti_systems.ipynb`."
   ]
  }
 ],
 "metadata": {
  "jupytext": {
   "text_representation": {
    "extension": ".md",
    "format_name": "myst",
    "format_version": 0.13,
    "jupytext_version": "1.16.2"
   }
  },
  "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.6"
  },
  "source_map": [
   12,
   17,
   22,
   73,
   80,
   86,
   90,
   95,
   97,
   104,
   107,
   116,
   120,
   155,
   158,
   174,
   180,
   185,
   187,
   195,
   198,
   203,
   206,
   226,
   230,
   243,
   246
  ],
  "widgets": {
   "application/vnd.jupyter.widget-state+json": {
    "state": {
     "00f8184077ec477ea4b15ba7fd72b28d": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "0178c280a72240e48518dd6fa2aca79d": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "StyleView",
       "background": null,
       "description_width": "",
       "font_size": null,
       "text_color": null
      }
     },
     "05be212b6466448a9e194c90b12c64b3": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "HTMLView",
       "description": "",
       "description_allow_html": false,
       "layout": "IPY_MODEL_b1edaf238f1b471f880843ce6e285a81",
       "placeholder": "​",
       "style": "IPY_MODEL_2d82d87d0ae141088521895e00c8f893",
       "tabbable": null,
       "tooltip": null,
       "value": ""
      }
     },
     "0a9efb061dab4cb1b0ef85fc468c0519": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "AccordionModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "AccordionModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "AccordionView",
       "box_style": "",
       "children": [
        "IPY_MODEL_148fc3ab64d2490bae92afce27db6a65"
       ],
       "layout": "IPY_MODEL_84506600e36547488df2e09954c9af0e",
       "selected_index": null,
       "tabbable": null,
       "titles": [
        "Log Output"
       ],
       "tooltip": null
      }
     },
     "0ca893ec32154a4fb7eb2408f878e91c": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "HTMLView",
       "description": "",
       "description_allow_html": false,
       "layout": "IPY_MODEL_534518b4e7074868a318e22be82342ca",
       "placeholder": "​",
       "style": "IPY_MODEL_fa5b88c656a34611981588943ad30428",
       "tabbable": null,
       "tooltip": null,
       "value": "<div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 2 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 3 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 4 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 5 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 6 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 7 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 8 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 9 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 2 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 3 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 4 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 5 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 6 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 7 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 8 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 9 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>LTIPGReductor</bold>: Operator projection ...<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>LTIPGReductor</bold>: Building ROM ...<br></div>"
      }
     },
     "0d87f4f1d0074eea8096e6959d376288": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": "16em",
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": "100%"
      }
     },
     "0dc4e557c0f640299bb3d6ef3e67f418": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "HTMLView",
       "description": "",
       "description_allow_html": false,
       "layout": "IPY_MODEL_beb2efbc332f4846b84e6d07189d2e13",
       "placeholder": "​",
       "style": "IPY_MODEL_0178c280a72240e48518dd6fa2aca79d",
       "tabbable": null,
       "tooltip": null,
       "value": ""
      }
     },
     "11e0f58bd27f428e9ffe63adc53c82c6": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": "16em",
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": "100%"
      }
     },
     "148fc3ab64d2490bae92afce27db6a65": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "HTMLView",
       "description": "",
       "description_allow_html": false,
       "layout": "IPY_MODEL_859f8d65f4694b26b7b2e93e1999b0eb",
       "placeholder": "​",
       "style": "IPY_MODEL_466708a2646f4a2ba4bae85613b2bf1a",
       "tabbable": null,
       "tooltip": null,
       "value": ""
      }
     },
     "1579bc7a46f24006b31b9e99ddc01569": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "HTMLView",
       "description": "",
       "description_allow_html": false,
       "layout": "IPY_MODEL_cdf97b9c606142d89dcc9d13d06ff13a",
       "placeholder": "​",
       "style": "IPY_MODEL_575b5aa69dbf4979b002e4282afecdaf",
       "tabbable": null,
       "tooltip": null,
       "value": ""
      }
     },
     "17b1b418a3fa460db5cdc19d10840817": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "StyleView",
       "background": null,
       "description_width": "",
       "font_size": null,
       "text_color": null
      }
     },
     "1d1c47e6f2404f8a80161dd9d75d8704": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "AccordionModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "AccordionModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "AccordionView",
       "box_style": "",
       "children": [
        "IPY_MODEL_f494b05efb2d49698a0d6146dcc34116"
       ],
       "layout": "IPY_MODEL_935767fe49164ea28a13d47f43f9770a",
       "selected_index": null,
       "tabbable": null,
       "titles": [
        "Log Output"
       ],
       "tooltip": null
      }
     },
     "1ff0f989e70c4cc68ea2263cd0710de0": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "AccordionModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "AccordionModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "AccordionView",
       "box_style": "",
       "children": [
        "IPY_MODEL_1579bc7a46f24006b31b9e99ddc01569"
       ],
       "layout": "IPY_MODEL_9c1464bdae4f4969bc574e32693402a8",
       "selected_index": null,
       "tabbable": null,
       "titles": [
        "Log Output"
       ],
       "tooltip": null
      }
     },
     "25beae0f89e3407d98f835c484f7429f": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "StyleView",
       "background": null,
       "description_width": "",
       "font_size": null,
       "text_color": null
      }
     },
     "2a992f854d8743e3b9ceccee73806e2a": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "AccordionModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "AccordionModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "AccordionView",
       "box_style": "",
       "children": [
        "IPY_MODEL_0dc4e557c0f640299bb3d6ef3e67f418"
       ],
       "layout": "IPY_MODEL_6155322e5e6f4d43abdc92d1f400f380",
       "selected_index": null,
       "tabbable": null,
       "titles": [
        "Log Output"
       ],
       "tooltip": null
      }
     },
     "2d82d87d0ae141088521895e00c8f893": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "StyleView",
       "background": null,
       "description_width": "",
       "font_size": null,
       "text_color": null
      }
     },
     "2f4528cc8f4a4098b307bd3e545d121e": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "StyleView",
       "background": null,
       "description_width": "",
       "font_size": null,
       "text_color": null
      }
     },
     "34bbd7f6ae9c4616aaba5fb21cf6a297": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": "16em",
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": "100%"
      }
     },
     "395c12540cf9486196cce4dd6771f3c8": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "StyleView",
       "background": null,
       "description_width": "",
       "font_size": null,
       "text_color": null
      }
     },
     "3be8bde965a648f19a75cf007e1595c2": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "AccordionModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "AccordionModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "AccordionView",
       "box_style": "",
       "children": [
        "IPY_MODEL_47cf4007357f4658a99d029cd230d601"
       ],
       "layout": "IPY_MODEL_a4e37e3c526b463080d605017f73e80f",
       "selected_index": null,
       "tabbable": null,
       "titles": [
        "Log Output"
       ],
       "tooltip": null
      }
     },
     "3d50f26b86014c23a76321e7741b787b": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "StyleView",
       "background": null,
       "description_width": "",
       "font_size": null,
       "text_color": null
      }
     },
     "466708a2646f4a2ba4bae85613b2bf1a": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "StyleView",
       "background": null,
       "description_width": "",
       "font_size": null,
       "text_color": null
      }
     },
     "47cf4007357f4658a99d029cd230d601": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "HTMLView",
       "description": "",
       "description_allow_html": false,
       "layout": "IPY_MODEL_f319568dd8734568baf02299878751a2",
       "placeholder": "​",
       "style": "IPY_MODEL_25beae0f89e3407d98f835c484f7429f",
       "tabbable": null,
       "tooltip": null,
       "value": "<div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 1 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 2 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 3 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 4 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 5 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 6 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 7 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 8 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 9 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 10 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 11 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 12 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 13 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 14 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 15 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 16 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 17 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 18 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 19 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 20 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 21 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>eigs</bold>: Maximum of relative Ritz estimates at step 1: 2.64850e-05<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 16 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 17 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 18 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 19 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 20 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 21 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>eigs</bold>: Maximum of relative Ritz estimates at step 2: 4.67071e-10<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 16 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 17 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 18 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 19 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 20 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 21 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>eigs</bold>: Maximum of relative Ritz estimates at step 3: 3.24620e-15<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 2 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 3 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>eigs</bold>: Maximum of relative Ritz estimates at step 1: 9.91326e-29<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 2 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 3 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>eigs</bold>: Maximum of relative Ritz estimates at step 1: 1.38412e-26<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 1 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 2 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>gram_schmidt</bold>: Orthonormalizing vector 3 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>eigs</bold>: Maximum of relative Ritz estimates at step 1: 1.51253e-29<br></div>"
      }
     },
     "534518b4e7074868a318e22be82342ca": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": "16em",
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": "100%"
      }
     },
     "575b5aa69dbf4979b002e4282afecdaf": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "StyleView",
       "background": null,
       "description_width": "",
       "font_size": null,
       "text_color": null
      }
     },
     "5afc7b85782e4873af2a10e6bf79563b": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "HTMLView",
       "description": "",
       "description_allow_html": false,
       "layout": "IPY_MODEL_34bbd7f6ae9c4616aaba5fb21cf6a297",
       "placeholder": "​",
       "style": "IPY_MODEL_395c12540cf9486196cce4dd6771f3c8",
       "tabbable": null,
       "tooltip": null,
       "value": ""
      }
     },
     "5f38a346d2b84abeaadc9b6965b3eb85": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "HTMLView",
       "description": "",
       "description_allow_html": false,
       "layout": "IPY_MODEL_9a4127137f914776a160b894a8697dd9",
       "placeholder": "​",
       "style": "IPY_MODEL_81b2ce9e8cef42ef99fbd26cccddcc11",
       "tabbable": null,
       "tooltip": null,
       "value": ""
      }
     },
     "5fc8172383274771807f47dabc15d444": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "6155322e5e6f4d43abdc92d1f400f380": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "6f6de5e6df764479b06178d59c0cd705": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "AccordionModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "AccordionModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "AccordionView",
       "box_style": "",
       "children": [
        "IPY_MODEL_ac43ad802dc04028b056394a68f583af"
       ],
       "layout": "IPY_MODEL_985165d43dc842f8b2885e7b29690fc4",
       "selected_index": null,
       "tabbable": null,
       "titles": [
        "Log Output"
       ],
       "tooltip": null
      }
     },
     "76d26ef7132d4663b8b779e13bea1279": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "AccordionModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "AccordionModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "AccordionView",
       "box_style": "",
       "children": [
        "IPY_MODEL_5afc7b85782e4873af2a10e6bf79563b"
       ],
       "layout": "IPY_MODEL_5fc8172383274771807f47dabc15d444",
       "selected_index": null,
       "tabbable": null,
       "titles": [
        "Log Output"
       ],
       "tooltip": null
      }
     },
     "7a9a0660af3e49458555cfd25b62884c": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "AccordionModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "AccordionModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "AccordionView",
       "box_style": "",
       "children": [
        "IPY_MODEL_0ca893ec32154a4fb7eb2408f878e91c"
       ],
       "layout": "IPY_MODEL_ed82206a3989462a97df3ff9a5de8047",
       "selected_index": null,
       "tabbable": null,
       "titles": [
        "Log Output"
       ],
       "tooltip": null
      }
     },
     "7ad90cf6b0af4c9ebf10a2c0c9c9391e": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "AccordionModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "AccordionModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "AccordionView",
       "box_style": "",
       "children": [
        "IPY_MODEL_a0f314494a224aec8f1cad6f18cbc431"
       ],
       "layout": "IPY_MODEL_af3a10f9c6e7470498a1c0b243de3e4c",
       "selected_index": null,
       "tabbable": null,
       "titles": [
        "Log Output"
       ],
       "tooltip": null
      }
     },
     "81b2ce9e8cef42ef99fbd26cccddcc11": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "StyleView",
       "background": null,
       "description_width": "",
       "font_size": null,
       "text_color": null
      }
     },
     "84506600e36547488df2e09954c9af0e": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "859f8d65f4694b26b7b2e93e1999b0eb": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": "16em",
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": "100%"
      }
     },
     "931ffe50b6b5425f898c556ce5262c60": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "AccordionModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "AccordionModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "AccordionView",
       "box_style": "",
       "children": [
        "IPY_MODEL_bcc7a2fa27a847e28d8db7978f67fefe"
       ],
       "layout": "IPY_MODEL_e87754a7ecf245c0b831f1690e026666",
       "selected_index": null,
       "tabbable": null,
       "titles": [
        "Log Output"
       ],
       "tooltip": null
      }
     },
     "935767fe49164ea28a13d47f43f9770a": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "985165d43dc842f8b2885e7b29690fc4": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "9a4127137f914776a160b894a8697dd9": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": "16em",
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": "100%"
      }
     },
     "9c1464bdae4f4969bc574e32693402a8": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "a0f314494a224aec8f1cad6f18cbc431": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "HTMLView",
       "description": "",
       "description_allow_html": false,
       "layout": "IPY_MODEL_a9887d98956c443aabcd539bea9e931c",
       "placeholder": "​",
       "style": "IPY_MODEL_3d50f26b86014c23a76321e7741b787b",
       "tabbable": null,
       "tooltip": null,
       "value": ""
      }
     },
     "a4e37e3c526b463080d605017f73e80f": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "a9887d98956c443aabcd539bea9e931c": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": "16em",
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": "100%"
      }
     },
     "ac43ad802dc04028b056394a68f583af": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "HTMLView",
       "description": "",
       "description_allow_html": false,
       "layout": "IPY_MODEL_11e0f58bd27f428e9ffe63adc53c82c6",
       "placeholder": "​",
       "style": "IPY_MODEL_da6e57db4f254716803b1e6f71743b23",
       "tabbable": null,
       "tooltip": null,
       "value": ""
      }
     },
     "af3a10f9c6e7470498a1c0b243de3e4c": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "b1edaf238f1b471f880843ce6e285a81": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": "16em",
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": "100%"
      }
     },
     "b5de988ae2ca400ba19bb01f4c57c0c6": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "bcc7a2fa27a847e28d8db7978f67fefe": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "HTMLView",
       "description": "",
       "description_allow_html": false,
       "layout": "IPY_MODEL_0d87f4f1d0074eea8096e6959d376288",
       "placeholder": "​",
       "style": "IPY_MODEL_17b1b418a3fa460db5cdc19d10840817",
       "tabbable": null,
       "tooltip": null,
       "value": "<div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>GapIRKAReductor</bold>: Generating initial interpolation data<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>GapIRKAReductor</bold>: Starting gap IRKA<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 1 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 2 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 3 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 4 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 5 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 6 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 7 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 8 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 9 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 1 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 2 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 3 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 4 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 5 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 6 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 7 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 8 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 9 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>LTIPGReductor</bold>: Operator projection ...<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>LTIPGReductor</bold>: Building ROM ...<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>GapIRKAReductor</bold>: Convergence criterion in iteration 1: 1.597822e+04<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 1 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 2 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 3 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 4 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 5 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 6 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 7 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 8 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 9 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 1 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 2 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 3 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 4 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 5 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 6 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 7 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 8 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 9 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>LTIPGReductor</bold>: Operator projection ...<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>LTIPGReductor</bold>: Building ROM ...<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>GapIRKAReductor</bold>: Convergence criterion in iteration 2: 8.802093e-01<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 1 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 2 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 3 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 4 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 5 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 6 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 7 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 8 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 9 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 1 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 2 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 3 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 4 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 5 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 6 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 7 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 8 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 9 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>LTIPGReductor</bold>: Operator projection ...<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>LTIPGReductor</bold>: Building ROM ...<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>GapIRKAReductor</bold>: Convergence criterion in iteration 3: 2.381609e-01<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 1 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 2 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 3 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 4 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 5 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 6 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 7 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 8 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 9 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 1 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 2 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 3 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 4 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 5 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 6 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 7 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 8 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 9 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>LTIPGReductor</bold>: Operator projection ...<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>LTIPGReductor</bold>: Building ROM ...<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>GapIRKAReductor</bold>: Convergence criterion in iteration 4: 5.356150e-02<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 1 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 2 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 3 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 4 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 5 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 6 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 7 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 8 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 9 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 1 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 2 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 3 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 4 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 5 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 6 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 7 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 8 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 9 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>LTIPGReductor</bold>: Operator projection ...<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>LTIPGReductor</bold>: Building ROM ...<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>GapIRKAReductor</bold>: Convergence criterion in iteration 5: 1.222043e-02<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 1 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 2 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 3 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 4 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 5 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 6 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 7 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 8 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 9 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 1 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 2 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 3 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 4 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 5 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 6 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 7 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 8 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 9 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>LTIPGReductor</bold>: Operator projection ...<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>LTIPGReductor</bold>: Building ROM ...<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>GapIRKAReductor</bold>: Convergence criterion in iteration 6: 2.764958e-03<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 1 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 2 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 3 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 4 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 5 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 6 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 7 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 8 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 9 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 1 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 2 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 3 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 4 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 5 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 6 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 7 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 8 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 9 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>LTIPGReductor</bold>: Operator projection ...<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>LTIPGReductor</bold>: Building ROM ...<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>GapIRKAReductor</bold>: Convergence criterion in iteration 7: 6.273710e-04<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 1 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 2 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 3 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 4 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 5 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 6 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 7 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 8 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 9 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 1 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 2 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 3 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 4 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 5 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 6 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 7 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 8 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 9 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>LTIPGReductor</bold>: Operator projection ...<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>LTIPGReductor</bold>: Building ROM ...<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>GapIRKAReductor</bold>: Convergence criterion in iteration 8: 1.422478e-04<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 1 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 2 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 3 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 4 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 5 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 6 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 7 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 8 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 9 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 1 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 2 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 3 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 4 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 5 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 6 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 7 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 8 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>gram_schmidt</bold>: Orthonormalizing vector 9 again<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>LTIPGReductor</bold>: Operator projection ...<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>LTIPGReductor</bold>: Building ROM ...<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:02 <bold>GapIRKAReductor</bold>: Convergence criterion in iteration 9: 3.226310e-05<br></div>"
      }
     },
     "beb2efbc332f4846b84e6d07189d2e13": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": "16em",
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": "100%"
      }
     },
     "cdf97b9c606142d89dcc9d13d06ff13a": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": "16em",
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": "100%"
      }
     },
     "d89fe56003bc4916882a7de7b3889b20": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "AccordionModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "AccordionModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "AccordionView",
       "box_style": "",
       "children": [
        "IPY_MODEL_5f38a346d2b84abeaadc9b6965b3eb85"
       ],
       "layout": "IPY_MODEL_b5de988ae2ca400ba19bb01f4c57c0c6",
       "selected_index": null,
       "tabbable": null,
       "titles": [
        "Log Output"
       ],
       "tooltip": null
      }
     },
     "da33bd75c6824a84b0ff304dd709c062": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": "16em",
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": "100%"
      }
     },
     "da6e57db4f254716803b1e6f71743b23": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "StyleView",
       "background": null,
       "description_width": "",
       "font_size": null,
       "text_color": null
      }
     },
     "e4795f86510a427ab739f40214b14c45": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "AccordionModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "AccordionModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "AccordionView",
       "box_style": "",
       "children": [
        "IPY_MODEL_05be212b6466448a9e194c90b12c64b3"
       ],
       "layout": "IPY_MODEL_00f8184077ec477ea4b15ba7fd72b28d",
       "selected_index": null,
       "tabbable": null,
       "titles": [
        "Log Output"
       ],
       "tooltip": null
      }
     },
     "e87754a7ecf245c0b831f1690e026666": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "ed82206a3989462a97df3ff9a5de8047": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "f319568dd8734568baf02299878751a2": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": "16em",
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": "100%"
      }
     },
     "f494b05efb2d49698a0d6146dcc34116": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "HTMLView",
       "description": "",
       "description_allow_html": false,
       "layout": "IPY_MODEL_da33bd75c6824a84b0ff304dd709c062",
       "placeholder": "​",
       "style": "IPY_MODEL_2f4528cc8f4a4098b307bd3e545d121e",
       "tabbable": null,
       "tooltip": null,
       "value": "<div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>solve_bernoulli</bold>: Relative change of iterates at step 0: 2.35087e+01<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>solve_bernoulli</bold>: Relative change of iterates at step 1: 4.88678e-01<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>solve_bernoulli</bold>: Relative change of iterates at step 2: 2.77956e-02<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>solve_bernoulli</bold>: Relative change of iterates at step 3: 1.53979e-04<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>solve_bernoulli</bold>: Relative change of iterates at step 4: 4.81367e-09<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>solve_bernoulli</bold>: Relative change of iterates at step 5: 6.50007e-17<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>solve_bernoulli</bold>: Relative change of iterates at step 6: 0.00000e+00<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>solve_bernoulli</bold>: Relative change of iterates at step 7: 0.00000e+00<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>solve_bernoulli</bold>: Relative change of iterates at step 0: 2.35087e+01<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>solve_bernoulli</bold>: Relative change of iterates at step 1: 4.88678e-01<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>solve_bernoulli</bold>: Relative change of iterates at step 2: 2.77956e-02<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>solve_bernoulli</bold>: Relative change of iterates at step 3: 1.53979e-04<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>solve_bernoulli</bold>: Relative change of iterates at step 4: 4.81367e-09<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>solve_bernoulli</bold>: Relative change of iterates at step 5: 6.50007e-17<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>solve_bernoulli</bold>: Relative change of iterates at step 6: 0.00000e+00<br></div><div style=\"font-family:monospace,monospace;line-height:120%\">00:01 <bold>solve_bernoulli</bold>: Relative change of iterates at step 7: 0.00000e+00<br></div>"
      }
     },
     "fa5b88c656a34611981588943ad30428": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "StyleView",
       "background": null,
       "description_width": "",
       "font_size": null,
       "text_color": null
      }
     }
    },
    "version_major": 2,
    "version_minor": 0
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
