{ "cells": [ { "cell_type": "markdown", "id": "72ef2d67", "metadata": {}, "source": [ "# Resonator Spectroscopy\n", "\n", "This notebook will go through resonator discovery and punchout spectroscopy for identifying the resonator and measuring it's resonant frequency." ] }, { "cell_type": "code", "execution_count": 1, "id": "8c00a4b0", "metadata": { "execution": { "iopub.execute_input": "2024-10-17T13:10:51.407411Z", "iopub.status.busy": "2024-10-17T13:10:51.406793Z", "iopub.status.idle": "2024-10-17T13:10:52.940279Z", "shell.execute_reply": "2024-10-17T13:10:52.939244Z" }, "title": "HEADER" }, "outputs": [], "source": [ "import numpy as np\n", "from qcodes.parameters import ManualParameter\n", "\n", "from quantify_scheduler import Schedule\n", "from quantify_scheduler.gettables import ScheduleGettable\n", "from quantify_scheduler.operations.gate_library import Measure\n", "from quantify_scheduler.operations.pulse_library import IdlePulse" ] }, { "cell_type": "code", "execution_count": 2, "id": "9bfc7b9f", "metadata": { "execution": { "iopub.execute_input": "2024-10-17T13:10:52.943615Z", "iopub.status.busy": "2024-10-17T13:10:52.942848Z", "iopub.status.idle": "2024-10-17T13:10:53.087901Z", "shell.execute_reply": "2024-10-17T13:10:53.086975Z" } }, "outputs": [], "source": [ "import json\n", "\n", "import rich # noqa:F401\n", "\n", "import quantify_core.data.handling as dh\n", "from quantify_scheduler.device_under_test.quantum_device import QuantumDevice\n", "\n", "from utils import initialize_hardware, run # noqa:F401" ] }, { "cell_type": "markdown", "id": "f18d29d7", "metadata": {}, "source": [ "## Setup\n", "In this section we configure the hardware configuration which specifies the connectivity of our system.\n", "\n", "The experiments of this tutorial are meant to be executed with a Qblox Cluster controlling a transmon system.\n", "The experiments can also be executed using a dummy Qblox device that is created via an instance of the `Cluster` class, and is initialized with a dummy configuration.\n", "When using a dummy device, the analysis will not work because the experiments will return `np.nan` values.\n", "\n", "### Configuration file\n", "\n", "This is a template hardware configuration file for a 2-qubit system with a flux-control line which can be used to tune the qubit frequency. We will only work with qubit 0.\n", "\n", "The hardware connectivity is as follows, by cluster slot:\n", "- **QCM** (Slot 2)\n", " - $\\text{O}^{1}$: Flux line for `q0`.\n", " - $\\text{O}^{2}$: Flux line for `q1`.\n", "- **QCM-RF** (Slot 6)\n", " - $\\text{O}^{1}$: Drive line for `q0` using fixed 80 MHz IF.\n", " - $\\text{O}^{2}$: Drive line for `q1` using fixed 80 MHz IF.\n", "- **QRM-RF** (Slot 8)\n", " - $\\text{O}^{1}$ and $\\text{I}^{1}$: Shared readout line for `q0`/`q1` using a fixed LO set at 7.5 GHz.\n", "\n", "Note that in the hardware configuration below the mixers are uncorrected, but for high fidelity experiments this should also be done for all the modules." ] }, { "cell_type": "code", "execution_count": 3, "id": "21d0de93", "metadata": { "execution": { "iopub.execute_input": "2024-10-17T13:10:53.090539Z", "iopub.status.busy": "2024-10-17T13:10:53.090068Z", "iopub.status.idle": "2024-10-17T13:10:53.095900Z", "shell.execute_reply": "2024-10-17T13:10:53.094948Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Data will be saved in:\n", "/root/quantify-data\n" ] } ], "source": [ "with open(\"configs/tuning_transmon_coupled_pair_hardware_config.json\") as hw_cfg_json_file:\n", " hardware_cfg = json.load(hw_cfg_json_file)\n", "\n", "# Enter your own dataset directory here!\n", "dh.set_datadir(dh.default_datadir())" ] }, { "cell_type": "markdown", "id": "5ad37f5f", "metadata": {}, "source": [ "### Quantum device settings\n", "Here we initialize our `QuantumDevice` and our qubit parameters, checkout this [tutorial](https://quantify-os.org/docs/quantify-scheduler/tutorials/Operations%20and%20Qubits.html) for further details.\n", "\n", "In short, a `QuantumDevice` contains device elements where we save our found parameters. Here we are loading a template for 2 qubits, but we will only use qubit 0." ] }, { "cell_type": "code", "execution_count": 4, "id": "703e7ffd", "metadata": { "execution": { "iopub.execute_input": "2024-10-17T13:10:53.098194Z", "iopub.status.busy": "2024-10-17T13:10:53.097954Z", "iopub.status.idle": "2024-10-17T13:10:53.620052Z", "shell.execute_reply": "2024-10-17T13:10:53.619114Z" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/usr/local/lib/python3.9/site-packages/quantify_scheduler/backends/types/qblox.py:1220: ValidationWarning: Setting `auto_lo_cal=on_lo_interm_freq_change` will overwrite settings `dc_offset_i=0.0` and `dc_offset_q=0.0`. To suppress this warning, do not set either `dc_offset_i` or `dc_offset_q` for this port-clock.\n", " warnings.warn(\n", "/usr/local/lib/python3.9/site-packages/quantify_scheduler/backends/types/qblox.py:1235: ValidationWarning: Setting `auto_sideband_cal=on_interm_freq_change` will overwrite settings `amp_ratio=1.0` and `phase_error=0.0`. To suppress this warning, do not set either `amp_ratio` or `phase_error` for this port-clock.\n", " warnings.warn(\n" ] } ], "source": [ "quantum_device = QuantumDevice.from_json_file(\"devices/transmon_device_2q.json\")\n", "qubit = quantum_device.get_element(\"q0\")\n", "quantum_device.hardware_config(hardware_cfg)\n", "meas_ctrl, _, cluster = initialize_hardware(quantum_device, ip=None)" ] }, { "cell_type": "markdown", "id": "dd12202d", "metadata": { "lines_to_next_cell": 0, "title": "BODY" }, "source": [ "## Resonator Spectroscopy" ] }, { "cell_type": "code", "execution_count": 5, "id": "b0aef5a8", "metadata": { "execution": { "iopub.execute_input": "2024-10-17T13:10:53.622455Z", "iopub.status.busy": "2024-10-17T13:10:53.622232Z", "iopub.status.idle": "2024-10-17T13:10:53.628565Z", "shell.execute_reply": "2024-10-17T13:10:53.627741Z" }, "lines_to_next_cell": 0 }, "outputs": [], "source": [ "def resonator_spectroscopy_schedule(\n", " qubit, freqs: np.array, repetitions: int = 1 # noqa: ANN001\n", ") -> Schedule:\n", " \"\"\"Schedule to sweep the resonator frequency.\"\"\"\n", " sched = Schedule(\"schedule\", repetitions=repetitions)\n", " for i, freq in enumerate(freqs):\n", " sched.add(\n", " Measure(\n", " qubit.name,\n", " acq_index=i,\n", " freq=freq,\n", " )\n", " )\n", " sched.add(IdlePulse(8e-9))\n", " return sched\n", "\n", "\n", "freqs = ManualParameter(name=\"freq\", unit=\"Hz\", label=\"Frequency\")\n", "freqs.batched = True\n", "freqs.batch_size = 100\n", "\n", "spec_sched_kwargs = dict(\n", " qubit=qubit,\n", " freqs=freqs,\n", ")\n", "gettable = ScheduleGettable(\n", " quantum_device,\n", " schedule_function=resonator_spectroscopy_schedule,\n", " schedule_kwargs=spec_sched_kwargs,\n", " real_imag=False,\n", " batched=True,\n", ")\n", "\n", "meas_ctrl.gettables(gettable)" ] }, { "cell_type": "code", "execution_count": 6, "id": "8ad8ad50", "metadata": { "execution": { "iopub.execute_input": "2024-10-17T13:10:53.630782Z", "iopub.status.busy": "2024-10-17T13:10:53.630458Z", "iopub.status.idle": "2024-10-17T13:10:54.377815Z", "shell.execute_reply": "2024-10-17T13:10:54.376871Z" }, "lines_to_next_cell": 2 }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Starting batched measurement...\n", "Iterative settable(s) [outer loop(s)]:\n", "\t --- (None) --- \n", "Batched settable(s):\n", "\t freq \n", "Batch size limit: 100\n", "\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/usr/local/lib/python3.9/site-packages/quantify_scheduler/backends/types/qblox.py:1235: ValidationWarning: Setting `auto_sideband_cal=on_interm_freq_change` will overwrite settings `amp_ratio=1.0` and `phase_error=0.0`. To suppress this warning, do not set either `amp_ratio` or `phase_error` for this port-clock.\n", " warnings.warn(\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "80baa74cfd7a4012a1b635b36c690d10", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Completed: 0%| [ elapsed time: 00:00 | time left: ? ] it" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "/usr/local/lib/python3.9/site-packages/quantify_scheduler/backends/types/qblox.py:1235: ValidationWarning: Setting `auto_sideband_cal=on_interm_freq_change` will overwrite settings `amp_ratio=1.0` and `phase_error=0.0`. To suppress this warning, do not set either `amp_ratio` or `phase_error` for this port-clock.\n", " warnings.warn(\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.Dataset> Size: 7kB\n",
       "Dimensions:  (dim_0: 300)\n",
       "Coordinates:\n",
       "    x0       (dim_0) float64 2kB 7.68e+09 7.68e+09 ... 7.72e+09 7.72e+09\n",
       "Dimensions without coordinates: dim_0\n",
       "Data variables:\n",
       "    y0       (dim_0) float64 2kB nan nan nan nan nan nan ... nan nan nan nan nan\n",
       "    y1       (dim_0) float64 2kB nan nan nan nan nan nan ... nan nan nan nan nan\n",
       "Attributes:\n",
       "    tuid:                             20241017-131053-633-f13f0e\n",
       "    name:                             resonator spectroscopy\n",
       "    grid_2d:                          False\n",
       "    grid_2d_uniformly_spaced:         False\n",
       "    1d_2_settables_uniformly_spaced:  False
" ], "text/plain": [ " Size: 7kB\n", "Dimensions: (dim_0: 300)\n", "Coordinates:\n", " x0 (dim_0) float64 2kB 7.68e+09 7.68e+09 ... 7.72e+09 7.72e+09\n", "Dimensions without coordinates: dim_0\n", "Data variables:\n", " y0 (dim_0) float64 2kB nan nan nan nan nan nan ... nan nan nan nan nan\n", " y1 (dim_0) float64 2kB nan nan nan nan nan nan ... nan nan nan nan nan\n", "Attributes:\n", " tuid: 20241017-131053-633-f13f0e\n", " name: resonator spectroscopy\n", " grid_2d: False\n", " grid_2d_uniformly_spaced: False\n", " 1d_2_settables_uniformly_spaced: False" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "quantum_device.cfg_sched_repetitions(400)\n", "\n", "center = 7.7e9\n", "frequency_setpoints = np.linspace(center - 20e6, center + 20e6, 300)\n", "meas_ctrl.settables(freqs)\n", "meas_ctrl.setpoints(frequency_setpoints)\n", "\n", "rs_ds = meas_ctrl.run(\"resonator spectroscopy\")\n", "rs_ds" ] }, { "cell_type": "code", "execution_count": 7, "id": "8d9a8c8b", "metadata": { "execution": { "iopub.execute_input": "2024-10-17T13:10:54.380157Z", "iopub.status.busy": "2024-10-17T13:10:54.379916Z", "iopub.status.idle": "2024-10-17T13:10:54.386567Z", "shell.execute_reply": "2024-10-17T13:10:54.383249Z" } }, "outputs": [], "source": [ "qubit.clock_freqs.readout(7.9e9)" ] }, { "cell_type": "markdown", "id": "1a83566c", "metadata": { "lines_to_next_cell": 2 }, "source": [ "## Resonator punchout" ] }, { "cell_type": "code", "execution_count": 8, "id": "23e800aa", "metadata": { "execution": { "iopub.execute_input": "2024-10-17T13:10:54.392579Z", "iopub.status.busy": "2024-10-17T13:10:54.392035Z", "iopub.status.idle": "2024-10-17T13:10:54.405821Z", "shell.execute_reply": "2024-10-17T13:10:54.404487Z" }, "lines_to_next_cell": 0 }, "outputs": [], "source": [ "def resonator_punchout_schedule(\n", " qubit, freqs: np.array, ro_pulse_amps: np.array, repetitions: int = 1 # noqa: ANN001\n", ") -> Schedule:\n", " \"\"\"Schedule to sweep the resonator frequency.\"\"\"\n", " sched = Schedule(\"schedule\", repetitions=repetitions)\n", " index = 0\n", " freqs, ro_pulse_amps = np.unique(freqs), np.unique(ro_pulse_amps)\n", " for freq in freqs:\n", " for amp in ro_pulse_amps:\n", " sched.add(Measure(qubit.name, acq_index=index, freq=freq, pulse_amp=amp))\n", " sched.add(IdlePulse(8e-9))\n", " index += 1\n", " return sched\n", "\n", "\n", "freqs = ManualParameter(name=\"freq\", unit=\"Hz\", label=\"Frequency\")\n", "freqs.batched = True\n", "\n", "ro_pulse_amps = ManualParameter(name=\"ro_pulse_amp\", unit=\"\", label=\"Readout pulse amplitude\")\n", "ro_pulse_amps.batched = True\n", "\n", "spec_sched_kwargs = dict(\n", " qubit=qubit,\n", " freqs=freqs,\n", " ro_pulse_amps=ro_pulse_amps,\n", ")\n", "\n", "gettable = ScheduleGettable(\n", " quantum_device,\n", " schedule_function=resonator_punchout_schedule,\n", " schedule_kwargs=spec_sched_kwargs,\n", " real_imag=False,\n", " batched=True,\n", ")\n", "\n", "meas_ctrl.gettables(gettable)" ] }, { "cell_type": "code", "execution_count": 9, "id": "28324345", "metadata": { "execution": { "iopub.execute_input": "2024-10-17T13:10:54.408833Z", "iopub.status.busy": "2024-10-17T13:10:54.408563Z", "iopub.status.idle": "2024-10-17T13:10:55.964932Z", "shell.execute_reply": "2024-10-17T13:10:55.964258Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Starting batched measurement...\n", "Iterative settable(s) [outer loop(s)]:\n", "\t --- (None) --- \n", "Batched settable(s):\n", "\t freq, ro_pulse_amp \n", "Batch size limit: 1000\n", "\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/usr/local/lib/python3.9/site-packages/quantify_scheduler/backends/types/qblox.py:1235: ValidationWarning: Setting `auto_sideband_cal=on_interm_freq_change` will overwrite settings `amp_ratio=1.0` and `phase_error=0.0`. To suppress this warning, do not set either `amp_ratio` or `phase_error` for this port-clock.\n", " warnings.warn(\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/usr/local/lib/python3.9/site-packages/quantify_scheduler/backends/qblox/compiler_abc.py:674: RuntimeWarning: Number of instructions (13810) compiled for 'seq0' of QRMRFCompiler 'cluster0_module8' exceeds the maximum supported number of instructions in Q1ASM programs for QRMRFCompiler (12288).\n", " warnings.warn(\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "dc140252deb74adc8f5696ff89a477c5", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Completed: 0%| [ elapsed time: 00:00 | time left: ? ] it" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.Dataset> Size: 32kB\n",
       "Dimensions:  (dim_0: 1000)\n",
       "Coordinates:\n",
       "    x0       (dim_0) float64 8kB 7.68e+09 7.68e+09 ... 7.72e+09 7.72e+09\n",
       "    x1       (dim_0) float64 8kB 0.0 0.0 0.0 0.0 0.0 0.0 ... 1.0 1.0 1.0 1.0 1.0\n",
       "Dimensions without coordinates: dim_0\n",
       "Data variables:\n",
       "    y0       (dim_0) float64 8kB nan nan nan nan nan nan ... nan nan nan nan nan\n",
       "    y1       (dim_0) float64 8kB nan nan nan nan nan nan ... nan nan nan nan nan\n",
       "Attributes:\n",
       "    tuid:                             20241017-131054-413-c07a0d\n",
       "    name:                             resonator punchout\n",
       "    grid_2d:                          True\n",
       "    grid_2d_uniformly_spaced:         True\n",
       "    1d_2_settables_uniformly_spaced:  False\n",
       "    xlen:                             100\n",
       "    ylen:                             10
" ], "text/plain": [ " Size: 32kB\n", "Dimensions: (dim_0: 1000)\n", "Coordinates:\n", " x0 (dim_0) float64 8kB 7.68e+09 7.68e+09 ... 7.72e+09 7.72e+09\n", " x1 (dim_0) float64 8kB 0.0 0.0 0.0 0.0 0.0 0.0 ... 1.0 1.0 1.0 1.0 1.0\n", "Dimensions without coordinates: dim_0\n", "Data variables:\n", " y0 (dim_0) float64 8kB nan nan nan nan nan nan ... nan nan nan nan nan\n", " y1 (dim_0) float64 8kB nan nan nan nan nan nan ... nan nan nan nan nan\n", "Attributes:\n", " tuid: 20241017-131054-413-c07a0d\n", " name: resonator punchout\n", " grid_2d: True\n", " grid_2d_uniformly_spaced: True\n", " 1d_2_settables_uniformly_spaced: False\n", " xlen: 100\n", " ylen: 10" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "quantum_device.cfg_sched_repetitions(80)\n", "center = 7.7e9\n", "frequency_setpoints = np.linspace(center - 20e6, center + 20e6, 100)\n", "amplitude_setpoints = np.linspace(0, 1, 10)\n", "\n", "meas_ctrl.settables([freqs, ro_pulse_amps])\n", "meas_ctrl.setpoints_grid((frequency_setpoints, amplitude_setpoints))\n", "\n", "punchout_ds = meas_ctrl.run(\"resonator punchout\")\n", "punchout_ds" ] }, { "cell_type": "code", "execution_count": 10, "id": "e72056b2", "metadata": { "execution": { "iopub.execute_input": "2024-10-17T13:10:55.966815Z", "iopub.status.busy": "2024-10-17T13:10:55.966623Z", "iopub.status.idle": "2024-10-17T13:10:56.002885Z", "shell.execute_reply": "2024-10-17T13:10:56.002259Z" } }, "outputs": [ { "data": { "text/html": [ "
{\n",
       "    'config_type': 'quantify_scheduler.backends.qblox_backend.QbloxHardwareCompilationConfig',\n",
       "    'hardware_description': {\n",
       "        'cluster0': {\n",
       "            'instrument_type': 'Cluster',\n",
       "            'modules': {\n",
       "                '6': {'instrument_type': 'QCM_RF'},\n",
       "                '2': {'instrument_type': 'QCM'},\n",
       "                '8': {'instrument_type': 'QRM_RF'}\n",
       "            },\n",
       "            'sequence_to_file': False,\n",
       "            'ref': 'internal'\n",
       "        }\n",
       "    },\n",
       "    'hardware_options': {\n",
       "        'output_att': {'q0:mw-q0.01': 10, 'q1:mw-q1.01': 10, 'q0:res-q0.ro': 60, 'q1:res-q1.ro': 60},\n",
       "        'mixer_corrections': {\n",
       "            'q0:mw-q0.01': {\n",
       "                'auto_lo_cal': 'on_lo_interm_freq_change',\n",
       "                'auto_sideband_cal': 'on_interm_freq_change',\n",
       "                'dc_offset_i': None,\n",
       "                'dc_offset_q': None,\n",
       "                'amp_ratio': 1.0,\n",
       "                'phase_error': 0.0\n",
       "            },\n",
       "            'q1:mw-q1.01': {\n",
       "                'auto_lo_cal': 'on_lo_interm_freq_change',\n",
       "                'auto_sideband_cal': 'on_interm_freq_change',\n",
       "                'dc_offset_i': None,\n",
       "                'dc_offset_q': None,\n",
       "                'amp_ratio': 1.0,\n",
       "                'phase_error': 0.0\n",
       "            },\n",
       "            'q0:res-q0.ro': {\n",
       "                'auto_lo_cal': 'on_lo_interm_freq_change',\n",
       "                'auto_sideband_cal': 'on_interm_freq_change',\n",
       "                'dc_offset_i': None,\n",
       "                'dc_offset_q': None,\n",
       "                'amp_ratio': 1.0,\n",
       "                'phase_error': 0.0\n",
       "            },\n",
       "            'q1:res-q1.ro': {\n",
       "                'auto_lo_cal': 'on_lo_interm_freq_change',\n",
       "                'auto_sideband_cal': 'on_interm_freq_change',\n",
       "                'dc_offset_i': None,\n",
       "                'dc_offset_q': None,\n",
       "                'amp_ratio': 1.0,\n",
       "                'phase_error': 0.0\n",
       "            }\n",
       "        },\n",
       "        'modulation_frequencies': {\n",
       "            'q0:mw-q0.01': {'interm_freq': 80000000.0},\n",
       "            'q1:mw-q1.01': {'interm_freq': 80000000.0},\n",
       "            'q0:res-q0.ro': {'lo_freq': 7500000000.0},\n",
       "            'q1:res-q1.ro': {'lo_freq': 7500000000.0}\n",
       "        }\n",
       "    },\n",
       "    'connectivity': {\n",
       "        'graph': [\n",
       "            ['cluster0.module6.complex_output_0', 'q0:mw'],\n",
       "            ['cluster0.module6.complex_output_1', 'q1:mw'],\n",
       "            ['cluster0.module2.real_output_0', 'q0:fl'],\n",
       "            ['cluster0.module2.real_output_1', 'q1:fl'],\n",
       "            ['cluster0.module8.complex_output_0', 'q0:res'],\n",
       "            ['cluster0.module8.complex_output_0', 'q1:res']\n",
       "        ]\n",
       "    }\n",
       "}\n",
       "
\n" ], "text/plain": [ "\u001b[1m{\u001b[0m\n", " \u001b[32m'config_type'\u001b[0m: \u001b[32m'quantify_scheduler.backends.qblox_backend.QbloxHardwareCompilationConfig'\u001b[0m,\n", " \u001b[32m'hardware_description'\u001b[0m: \u001b[1m{\u001b[0m\n", " \u001b[32m'cluster0'\u001b[0m: \u001b[1m{\u001b[0m\n", " \u001b[32m'instrument_type'\u001b[0m: \u001b[32m'Cluster'\u001b[0m,\n", " \u001b[32m'modules'\u001b[0m: \u001b[1m{\u001b[0m\n", " \u001b[32m'6'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'instrument_type'\u001b[0m: \u001b[32m'QCM_RF'\u001b[0m\u001b[1m}\u001b[0m,\n", " \u001b[32m'2'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'instrument_type'\u001b[0m: \u001b[32m'QCM'\u001b[0m\u001b[1m}\u001b[0m,\n", " \u001b[32m'8'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'instrument_type'\u001b[0m: \u001b[32m'QRM_RF'\u001b[0m\u001b[1m}\u001b[0m\n", " \u001b[1m}\u001b[0m,\n", " \u001b[32m'sequence_to_file'\u001b[0m: \u001b[3;91mFalse\u001b[0m,\n", " \u001b[32m'ref'\u001b[0m: \u001b[32m'internal'\u001b[0m\n", " \u001b[1m}\u001b[0m\n", " \u001b[1m}\u001b[0m,\n", " \u001b[32m'hardware_options'\u001b[0m: \u001b[1m{\u001b[0m\n", " \u001b[32m'output_att'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'q0:mw-q0.01'\u001b[0m: \u001b[1;36m10\u001b[0m, \u001b[32m'q1:mw-q1.01'\u001b[0m: \u001b[1;36m10\u001b[0m, \u001b[32m'q0:res-q0.ro'\u001b[0m: \u001b[1;36m60\u001b[0m, \u001b[32m'q1:res-q1.ro'\u001b[0m: \u001b[1;36m60\u001b[0m\u001b[1m}\u001b[0m,\n", " \u001b[32m'mixer_corrections'\u001b[0m: \u001b[1m{\u001b[0m\n", " \u001b[32m'q0:mw-q0.01'\u001b[0m: \u001b[1m{\u001b[0m\n", " \u001b[32m'auto_lo_cal'\u001b[0m: \u001b[32m'on_lo_interm_freq_change'\u001b[0m,\n", " \u001b[32m'auto_sideband_cal'\u001b[0m: \u001b[32m'on_interm_freq_change'\u001b[0m,\n", " \u001b[32m'dc_offset_i'\u001b[0m: \u001b[3;35mNone\u001b[0m,\n", " \u001b[32m'dc_offset_q'\u001b[0m: \u001b[3;35mNone\u001b[0m,\n", " \u001b[32m'amp_ratio'\u001b[0m: \u001b[1;36m1.0\u001b[0m,\n", " \u001b[32m'phase_error'\u001b[0m: \u001b[1;36m0.0\u001b[0m\n", " \u001b[1m}\u001b[0m,\n", " \u001b[32m'q1:mw-q1.01'\u001b[0m: \u001b[1m{\u001b[0m\n", " \u001b[32m'auto_lo_cal'\u001b[0m: \u001b[32m'on_lo_interm_freq_change'\u001b[0m,\n", " \u001b[32m'auto_sideband_cal'\u001b[0m: \u001b[32m'on_interm_freq_change'\u001b[0m,\n", " \u001b[32m'dc_offset_i'\u001b[0m: \u001b[3;35mNone\u001b[0m,\n", " \u001b[32m'dc_offset_q'\u001b[0m: \u001b[3;35mNone\u001b[0m,\n", " \u001b[32m'amp_ratio'\u001b[0m: \u001b[1;36m1.0\u001b[0m,\n", " \u001b[32m'phase_error'\u001b[0m: \u001b[1;36m0.0\u001b[0m\n", " \u001b[1m}\u001b[0m,\n", " \u001b[32m'q0:res-q0.ro'\u001b[0m: \u001b[1m{\u001b[0m\n", " \u001b[32m'auto_lo_cal'\u001b[0m: \u001b[32m'on_lo_interm_freq_change'\u001b[0m,\n", " \u001b[32m'auto_sideband_cal'\u001b[0m: \u001b[32m'on_interm_freq_change'\u001b[0m,\n", " \u001b[32m'dc_offset_i'\u001b[0m: \u001b[3;35mNone\u001b[0m,\n", " \u001b[32m'dc_offset_q'\u001b[0m: \u001b[3;35mNone\u001b[0m,\n", " \u001b[32m'amp_ratio'\u001b[0m: \u001b[1;36m1.0\u001b[0m,\n", " \u001b[32m'phase_error'\u001b[0m: \u001b[1;36m0.0\u001b[0m\n", " \u001b[1m}\u001b[0m,\n", " \u001b[32m'q1:res-q1.ro'\u001b[0m: \u001b[1m{\u001b[0m\n", " \u001b[32m'auto_lo_cal'\u001b[0m: \u001b[32m'on_lo_interm_freq_change'\u001b[0m,\n", " \u001b[32m'auto_sideband_cal'\u001b[0m: \u001b[32m'on_interm_freq_change'\u001b[0m,\n", " \u001b[32m'dc_offset_i'\u001b[0m: \u001b[3;35mNone\u001b[0m,\n", " \u001b[32m'dc_offset_q'\u001b[0m: \u001b[3;35mNone\u001b[0m,\n", " \u001b[32m'amp_ratio'\u001b[0m: \u001b[1;36m1.0\u001b[0m,\n", " \u001b[32m'phase_error'\u001b[0m: \u001b[1;36m0.0\u001b[0m\n", " \u001b[1m}\u001b[0m\n", " \u001b[1m}\u001b[0m,\n", " \u001b[32m'modulation_frequencies'\u001b[0m: \u001b[1m{\u001b[0m\n", " \u001b[32m'q0:mw-q0.01'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'interm_freq'\u001b[0m: \u001b[1;36m80000000.0\u001b[0m\u001b[1m}\u001b[0m,\n", " \u001b[32m'q1:mw-q1.01'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'interm_freq'\u001b[0m: \u001b[1;36m80000000.0\u001b[0m\u001b[1m}\u001b[0m,\n", " \u001b[32m'q0:res-q0.ro'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'lo_freq'\u001b[0m: \u001b[1;36m7500000000.0\u001b[0m\u001b[1m}\u001b[0m,\n", " \u001b[32m'q1:res-q1.ro'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'lo_freq'\u001b[0m: \u001b[1;36m7500000000.0\u001b[0m\u001b[1m}\u001b[0m\n", " \u001b[1m}\u001b[0m\n", " \u001b[1m}\u001b[0m,\n", " \u001b[32m'connectivity'\u001b[0m: \u001b[1m{\u001b[0m\n", " \u001b[32m'graph'\u001b[0m: \u001b[1m[\u001b[0m\n", " \u001b[1m[\u001b[0m\u001b[32m'cluster0.module6.complex_output_0'\u001b[0m, \u001b[32m'q0:mw'\u001b[0m\u001b[1m]\u001b[0m,\n", " \u001b[1m[\u001b[0m\u001b[32m'cluster0.module6.complex_output_1'\u001b[0m, \u001b[32m'q1:mw'\u001b[0m\u001b[1m]\u001b[0m,\n", " \u001b[1m[\u001b[0m\u001b[32m'cluster0.module2.real_output_0'\u001b[0m, \u001b[32m'q0:fl'\u001b[0m\u001b[1m]\u001b[0m,\n", " \u001b[1m[\u001b[0m\u001b[32m'cluster0.module2.real_output_1'\u001b[0m, \u001b[32m'q1:fl'\u001b[0m\u001b[1m]\u001b[0m,\n", " \u001b[1m[\u001b[0m\u001b[32m'cluster0.module8.complex_output_0'\u001b[0m, \u001b[32m'q0:res'\u001b[0m\u001b[1m]\u001b[0m,\n", " \u001b[1m[\u001b[0m\u001b[32m'cluster0.module8.complex_output_0'\u001b[0m, \u001b[32m'q1:res'\u001b[0m\u001b[1m]\u001b[0m\n", " \u001b[1m]\u001b[0m\n", " \u001b[1m}\u001b[0m\n", "\u001b[1m}\u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "rich.print(quantum_device.hardware_config())" ] }, { "cell_type": "code", "execution_count": 11, "id": "39630621", "metadata": { "execution": { "iopub.execute_input": "2024-10-17T13:10:56.004782Z", "iopub.status.busy": "2024-10-17T13:10:56.004606Z", "iopub.status.idle": "2024-10-17T13:10:56.010526Z", "shell.execute_reply": "2024-10-17T13:10:56.009912Z" } }, "outputs": [ { "data": { "text/plain": [ "'devices/device_2q_2024-10-17_13-10-56_UTC.json'" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "quantum_device.to_json_file(\"devices/\")" ] } ], "metadata": { "files_to_bundle_in_zip_file": [ "configs/tuning_transmon_coupled_pair_hardware_config.json", "devices/transmon_device_2q.json", "utils.py" ], "jupytext": { "main_language": "python", "notebook_metadata_filter": "files_to_bundle_in_zip_file" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.20" }, "widgets": { "application/vnd.jupyter.widget-state+json": { "state": { "05475544e866487d8de3917f447be2da": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "0e9c20e6de024d4d817964211edd2aca": { "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 } }, "13a4acf10fca4b9f8be1deee1d325961": { "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 } }, "1ec32a1c1da745f9af45fb209f685f4b": { "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_9aaab149bce2486e96715e9d8619724b", "placeholder": "​", "style": "IPY_MODEL_35a2bd0e2bc34cd6ba98a372fb91b6f4", "tabbable": null, "tooltip": null, "value": " [ elapsed time: 00:00 | time left: 00:00 ]  last batch size: 1000" } }, "2e5f785877d14ff298dfd4cde147f96a": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "35a2bd0e2bc34cd6ba98a372fb91b6f4": { "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 } }, "3ebce5c7254a410eb5b049f29d874fe6": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_671042b34b96407f9b5e9a9b4a0d997e", "max": 100.0, "min": 0.0, "orientation": "horizontal", "style": "IPY_MODEL_05475544e866487d8de3917f447be2da", "tabbable": null, "tooltip": null, "value": 100.0 } }, "649b4d84e7a947c7ab1f6829e0b8c442": { "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 } }, "671042b34b96407f9b5e9a9b4a0d997e": { "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 } }, "734093f4537343a99ebeafec9073ac46": { "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 } }, "80baa74cfd7a4012a1b635b36c690d10": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_86543e50ffa84d50bdd846bf82b41fc6", "IPY_MODEL_3ebce5c7254a410eb5b049f29d874fe6", "IPY_MODEL_86244bdb7402452ea582bcc37af5d72a" ], "layout": "IPY_MODEL_734093f4537343a99ebeafec9073ac46", "tabbable": null, "tooltip": null } }, "86244bdb7402452ea582bcc37af5d72a": { "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_b62fb6c7b70a40bcb924a79403ef93aa", "placeholder": "​", "style": "IPY_MODEL_b836b0f17caf4d058ba2089f3a5450bf", "tabbable": null, "tooltip": null, "value": " [ elapsed time: 00:00 | time left: 00:00 ]  last batch size: 100" } }, "86543e50ffa84d50bdd846bf82b41fc6": { "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_0e9c20e6de024d4d817964211edd2aca", "placeholder": "​", "style": "IPY_MODEL_93753dfae99240f78aaa7f8c6ec2e96f", "tabbable": null, "tooltip": null, "value": "Completed: 100%" } }, "88e30388228d495aad93a4a9ed7daa5b": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_13a4acf10fca4b9f8be1deee1d325961", "max": 100.0, "min": 0.0, "orientation": "horizontal", "style": "IPY_MODEL_2e5f785877d14ff298dfd4cde147f96a", "tabbable": null, "tooltip": null, "value": 100.0 } }, "8933049648064d69b1934b25c6e9b09f": { "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 } }, "93753dfae99240f78aaa7f8c6ec2e96f": { "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 } }, "9aaab149bce2486e96715e9d8619724b": { "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 } }, "a522c5a6bc2c464ca1a802aef50ec2c9": { "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 } }, "b62fb6c7b70a40bcb924a79403ef93aa": { "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 } }, "b836b0f17caf4d058ba2089f3a5450bf": { "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 } }, "dc140252deb74adc8f5696ff89a477c5": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_e77d3c35c9aa4fd5bf71a691c86bc440", "IPY_MODEL_88e30388228d495aad93a4a9ed7daa5b", "IPY_MODEL_1ec32a1c1da745f9af45fb209f685f4b" ], "layout": "IPY_MODEL_8933049648064d69b1934b25c6e9b09f", "tabbable": null, "tooltip": null } }, "e77d3c35c9aa4fd5bf71a691c86bc440": { "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_649b4d84e7a947c7ab1f6829e0b8c442", "placeholder": "​", "style": "IPY_MODEL_a522c5a6bc2c464ca1a802aef50ec2c9", "tabbable": null, "tooltip": null, "value": "Completed: 100%" } } }, "version_major": 2, "version_minor": 0 } } }, "nbformat": 4, "nbformat_minor": 5 }