{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "4f0658ce",
   "metadata": {},
   "source": [
    "# How to simulate quantum dynamics with Fire Opal\n",
    "**Learning the basics of running a dynamics simulation with `simulate_dynamics`**\n",
    "\n",
    "Fire Opal's [`simulate_dynamics`](https://docs.q-ctrl.com/references/fire-opal/fireopal/fireopal.simulate_dynamics) function is designed to simulate the time evolution of a supported many-body model directly on quantum hardware. Unlike circuit-based workflows, you do not provide a quantum circuit. Instead, you define the physical model, the initial state, the simulation parameters, and the observables you want to measure.\n",
    "\n",
    "In this user guide, you will learn how to configure these inputs, submit a simulation, and retrieve the resulting expectation values. A small one-dimensional Fermi-Hubbard example is used to keep the focus on the workflow rather than the underlying physics."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7b2ee6b4",
   "metadata": {},
   "source": [
    "## Summary workflow\n",
    "\n",
    "The general workflow for using `simulate_dynamics` is:\n",
    "\n",
    "1. Import Fire Opal and configure your credentials.\n",
    "2. Choose a supported quantum backend.\n",
    "3. Define the model, initial state, time evolution, and observables.\n",
    "4. Run the simulation with `simulate_dynamics`.\n",
    "5. Retrieve and inspect the expectation values."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1c1d162d",
   "metadata": {},
   "source": [
    "## 1. Imports and initialization\n",
    "\n",
    "Import Fire Opal and the data types used to define the simulation."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "e6c1e438",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import fireopal as fo\n",
    "from fireopal.types import ModelType, SimulationType, SparseOccupationOperators\n",
    "import qctrlvisualizer as qv\n",
    "\n",
    "plt.style.use(qv.get_qctrl_style())"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ed0d7ecd",
   "metadata": {},
   "source": [
    "If you experience an error while attempting to import the above libraries, please run the following command using the terminal. Please note that after installing new packages, you will need to restart your notebook session or kernel for the newly installed packages to be recognized."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "bbd211dc",
   "metadata": {},
   "outputs": [],
   "source": [
    "%pip install fire-opal matplotlib qiskit-ibm-runtime qctrl-visualizer qiskit qiskit_qasm3_import"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "878a2794",
   "metadata": {},
   "source": [
    "Authenticate your Q-CTRL account and create the credentials for your hardware provider. This example uses IBM Quantum."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "53bce8f2",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Q-CTRL authentication successful!\n"
     ]
    }
   ],
   "source": [
    "# Authenticate your Q-CTRL account.\n",
    "api_key = \"YOUR_QCTRL_API_KEY\"\n",
    "fo.authenticate_qctrl_account(api_key=api_key)\n",
    "\n",
    "# Create IBM Quantum credentials.\n",
    "token = \"YOUR_IBM_CLOUD_API_KEY\"\n",
    "instance = \"YOUR_IBM_CRN\"\n",
    "\n",
    "credentials = fo.credentials.make_credentials_for_ibm_cloud(\n",
    "    token=token, instance=instance\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "beddb6a0",
   "metadata": {},
   "source": [
    "## 2. Choose a backend\n",
    "\n",
    "Use [`show_supported_devices`](https://docs.q-ctrl.com/references/fire-opal/fireopal/fireopal.show_supported_devices) to list the backends available through the credentials you provided. Select one of the returned backend names for the simulation."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "id": "5692f337",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "ibm_boston\n",
      "ibm_marrakesh\n",
      "ibm_phoenix\n",
      "ibm_pittsburgh\n",
      "ibm_kingston\n",
      "ibm_miami\n",
      "ibm_fez\n"
     ]
    }
   ],
   "source": [
    "supported_devices = fo.show_supported_devices(credentials=credentials)[\n",
    "    \"supported_devices\"\n",
    "]\n",
    "\n",
    "for device in supported_devices:\n",
    "    print(device)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "e18bf5a2",
   "metadata": {},
   "outputs": [],
   "source": [
    "backend_name = \"ibm_phoenix\"\n",
    "shot_count = 2048"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5b93b707",
   "metadata": {},
   "source": [
    "## 3. Define the simulation\n",
    "\n",
    "`simulate_dynamics` uses four inputs to describe the dynamics problem: the model, initial state, simulation parameters, and observables.\n",
    "\n",
    "For this example, consider a four-site one-dimensional Fermi-Hubbard chain with hopping amplitude $t_h=1$, no on-site interaction, and zero chemical potential. A single spin-up fermion starts at site 0 and is allowed to evolve across the chain.\n",
    "\n",
    "The initial state is written as one character per physical site. The supported local occupations are `e` for empty, `u` for spin up, `d` for spin down, and `b` for both spins occupied. The rightmost character represents site 0, so `eeeu` places one spin-up fermion at site 0."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "53e8eb0a",
   "metadata": {},
   "outputs": [],
   "source": [
    "site_count = 4\n",
    "\n",
    "model = ModelType(\n",
    "    hopping_amplitude=1.0, on_site_interaction=0.0, chemical_potential=0.0\n",
    ")\n",
    "\n",
    "simulation = SimulationType(time_step=0.2, step_count=8)\n",
    "\n",
    "initial_state = \"eeeu\"\n",
    "\n",
    "observables = [\n",
    "    SparseOccupationOperators(operators=[[(\"Nup\", site)]], coefficients=[1.0])\n",
    "    for site in range(site_count)\n",
    "]"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f237730b",
   "metadata": {},
   "source": [
    "The observable list measures the spin-up occupation $\\langle n_{i\\uparrow}\\rangle$ at each site. Each `SparseOccupationOperators` object defines one observable, and the order of the list determines the order of the returned expectation values."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "37447c67",
   "metadata": {},
   "source": [
    "## 4. Run the dynamics simulation\n",
    "\n",
    "Pass the problem definition and execution settings directly to `simulate_dynamics`. Fire Opal constructs and runs the required quantum circuits internally."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "1dfc4007",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Job submitted.\n"
     ]
    }
   ],
   "source": [
    "job = fo.simulate_dynamics(\n",
    "    model=model,\n",
    "    initial_state=initial_state,\n",
    "    simulation=simulation,\n",
    "    observables=observables,\n",
    "    shot_count=shot_count,\n",
    "    backend_name=backend_name,\n",
    "    credentials=credentials,\n",
    ")\n",
    "\n",
    "print(\"Job submitted.\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "id": "3179b663",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'status_message': 'Job has finished successfully.',\n",
       " 'action_status': 'SUCCESS'}"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "job.status()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c9b0f6c3",
   "metadata": {},
   "source": [
    "## 5. Retrieve the results\n",
    "\n",
    "`simulate_dynamics` returns a Fire Opal job. Call `result()` to retrieve the completed simulation output. The `observable_expectation_values` entry contains the time series for the requested observables."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "92092c42",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Provider job IDs: ['datgoulvr3kc73elfqh0', 'datgoutvr3kc73elfqhg']\n",
      "Expectation-value array shape: (4, 9)\n"
     ]
    }
   ],
   "source": [
    "result = job.result()\n",
    "\n",
    "expectation_values = np.asarray(result[\"observable_expectation_values\"], dtype=float)\n",
    "\n",
    "print(\"Provider job IDs:\", result[\"provider_job_ids\"])\n",
    "print(\"Expectation-value array shape:\", expectation_values.shape)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1e9f5556",
   "metadata": {},
   "source": [
    "## 6. Visualize the dynamics\n",
    "\n",
    "Plot the occupation of each site as a function of simulation time. At the beginning, the spin-up fermion occupies site 0. As the system evolves, the hopping term redistributes its occupation across the chain."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "85d670b9",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 720x360 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "times = np.arange(expectation_values.shape[1]) * simulation.time_step\n",
    "\n",
    "for site, values in enumerate(expectation_values):\n",
    "    plt.plot(times, values, marker=\"o\", label=f\"Site {site}\")\n",
    "\n",
    "plt.xlabel(\"Time\")\n",
    "plt.ylabel(r\"$\\langle n_{i\\uparrow} \\rangle$\")\n",
    "plt.title(\"Spin-up occupation dynamics\")\n",
    "plt.ylim(-0.05, 1.05)\n",
    "plt.legend()\n",
    "plt.tight_layout()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ed3c28a7",
   "metadata": {},
   "source": [
    "## Next steps\n",
    "\n",
    "The execution pattern remains the same for larger simulations. To adapt this example, change the model parameters, provide the desired Fock-state string, adjust the time step and number of steps, and define the occupation observables you want to measure. The call to `simulate_dynamics` does not require you to construct, transpile, or submit the underlying quantum circuits yourself."
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "qiskit2",
   "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.12.11"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
