{ "cells": [ { "cell_type": "markdown", "id": "1176d3ca", "metadata": {}, "source": [ "# Single transmon qubit spectroscopy\n", "Here we will carry out qubit spectroscopy on a single transmon in order to find the $|0\\rangle \\rightarrow |1\\rangle$ drive frequency." ] }, { "cell_type": "code", "execution_count": 1, "id": "fd75f52a", "metadata": { "execution": { "iopub.execute_input": "2024-10-17T13:11:30.630423Z", "iopub.status.busy": "2024-10-17T13:11:30.630246Z", "iopub.status.idle": "2024-10-17T13:11:32.117013Z", "shell.execute_reply": "2024-10-17T13:11:32.115597Z" }, "title": "HEADER" }, "outputs": [], "source": [ "import numpy as np\n", "from qcodes.parameters import ManualParameter\n", "\n", "from quantify_scheduler.gettables import ScheduleGettable\n", "from quantify_scheduler.operations.gate_library import Measure, Reset, X\n", "from quantify_scheduler.schedules.schedule import Schedule" ] }, { "cell_type": "code", "execution_count": 2, "id": "e298217c", "metadata": { "execution": { "iopub.execute_input": "2024-10-17T13:11:32.122603Z", "iopub.status.busy": "2024-10-17T13:11:32.121039Z", "iopub.status.idle": "2024-10-17T13:11:32.284284Z", "shell.execute_reply": "2024-10-17T13:11:32.283529Z" } }, "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": "65efb519", "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": "d4292888", "metadata": { "execution": { "iopub.execute_input": "2024-10-17T13:11:32.286918Z", "iopub.status.busy": "2024-10-17T13:11:32.286446Z", "iopub.status.idle": "2024-10-17T13:11:32.290729Z", "shell.execute_reply": "2024-10-17T13:11:32.290111Z" } }, "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": "cb728534", "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": "eefc4f10", "metadata": { "execution": { "iopub.execute_input": "2024-10-17T13:11:32.292699Z", "iopub.status.busy": "2024-10-17T13:11:32.292523Z", "iopub.status.idle": "2024-10-17T13:11:32.814994Z", "shell.execute_reply": "2024-10-17T13:11:32.814323Z" } }, "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": "13e57f1a", "metadata": { "lines_to_next_cell": 2, "title": "BODY" }, "source": [ "## Qubit spectroscopy" ] }, { "cell_type": "code", "execution_count": 5, "id": "f6df6b89", "metadata": { "execution": { "iopub.execute_input": "2024-10-17T13:11:32.817460Z", "iopub.status.busy": "2024-10-17T13:11:32.817256Z", "iopub.status.idle": "2024-10-17T13:11:32.821828Z", "shell.execute_reply": "2024-10-17T13:11:32.821136Z" } }, "outputs": [], "source": [ "def two_tone_spec_sched_nco(\n", " qubit, # noqa: ANN001\n", " spec_pulse_frequencies: np.array,\n", " repetitions: int = 1,\n", ") -> Schedule:\n", " \"\"\"\n", " Generate a batched schedule for performing fast two-tone spectroscopy.\n", "\n", " Using the X gate to perform the frequency sweep on the qubit.\n", "\n", " Parameters\n", " ----------\n", " qubit\n", " qubit that should be used.\n", " spec_pulse_frequencies\n", " Sample frequencies for the spectroscopy pulse in Hertz.\n", " repetitions\n", " The amount of times the Schedule will be repeated.\n", "\n", " \"\"\"\n", " sched = Schedule(\"two-tone\", repetitions)\n", "\n", " for acq_idx, spec_pulse_freq in enumerate(spec_pulse_frequencies):\n", " sched.add(Reset(qubit.name))\n", " sched.add(X(qubit.name, freq=spec_pulse_freq))\n", " sched.add(Measure(qubit.name, acq_index=acq_idx), rel_time=200e-9)\n", " return sched" ] }, { "cell_type": "code", "execution_count": 6, "id": "cf58cf77", "metadata": { "execution": { "iopub.execute_input": "2024-10-17T13:11:32.823794Z", "iopub.status.busy": "2024-10-17T13:11:32.823593Z", "iopub.status.idle": "2024-10-17T13:11:32.827421Z", "shell.execute_reply": "2024-10-17T13:11:32.826799Z" }, "lines_to_next_cell": 0 }, "outputs": [], "source": [ "freqs = ManualParameter(name=\"freq\", unit=\"Hz\", label=\"Frequency\")\n", "freqs.batched = True\n", "\n", "qubit_spec_sched_kwargs = dict(\n", " qubit=qubit,\n", " spec_pulse_frequencies=freqs,\n", ")\n", "\n", "gettable = ScheduleGettable(\n", " quantum_device,\n", " schedule_function=two_tone_spec_sched_nco,\n", " schedule_kwargs=qubit_spec_sched_kwargs,\n", " real_imag=False,\n", " batched=True,\n", ")\n", "\n", "meas_ctrl.gettables(gettable)" ] }, { "cell_type": "code", "execution_count": 7, "id": "30e503cb", "metadata": { "execution": { "iopub.execute_input": "2024-10-17T13:11:32.829201Z", "iopub.status.busy": "2024-10-17T13:11:32.829036Z", "iopub.status.idle": "2024-10-17T13:11:33.458976Z", "shell.execute_reply": "2024-10-17T13:11:33.458241Z" } }, "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: 300\n", "\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "54b0d2e3367e484a9debab915dcd8b4b", "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: 7kB\n",
       "Dimensions:  (dim_0: 300)\n",
       "Coordinates:\n",
       "    x0       (dim_0) float64 2kB 6.08e+09 6.08e+09 ... 6.12e+09 6.12e+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-131132-831-17681b\n",
       "    name:                             Two-tone\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 6.08e+09 6.08e+09 ... 6.12e+09 6.12e+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-131132-831-17681b\n", " name: Two-tone\n", " grid_2d: False\n", " grid_2d_uniformly_spaced: False\n", " 1d_2_settables_uniformly_spaced: False" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "quantum_device.cfg_sched_repetitions(300)\n", "center = 6.1e9\n", "frequency_setpoints = np.linspace(center - 20e6, center + 20e6, 300)\n", "meas_ctrl.settables(freqs)\n", "meas_ctrl.setpoints(frequency_setpoints)\n", "\n", "qs_ds = meas_ctrl.run(\"Two-tone\")\n", "qs_ds" ] }, { "cell_type": "code", "execution_count": 8, "id": "9eaeb936", "metadata": { "execution": { "iopub.execute_input": "2024-10-17T13:11:33.461114Z", "iopub.status.busy": "2024-10-17T13:11:33.460923Z", "iopub.status.idle": "2024-10-17T13:11:33.464227Z", "shell.execute_reply": "2024-10-17T13:11:33.463571Z" } }, "outputs": [], "source": [ "qubit.clock_freqs.f01(6.1e9)" ] }, { "cell_type": "code", "execution_count": 9, "id": "28b4dc84", "metadata": { "execution": { "iopub.execute_input": "2024-10-17T13:11:33.466044Z", "iopub.status.busy": "2024-10-17T13:11:33.465876Z", "iopub.status.idle": "2024-10-17T13:11:33.501927Z", "shell.execute_reply": "2024-10-17T13:11:33.501241Z" } }, "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": 10, "id": "51586385", "metadata": { "execution": { "iopub.execute_input": "2024-10-17T13:11:33.503922Z", "iopub.status.busy": "2024-10-17T13:11:33.503746Z", "iopub.status.idle": "2024-10-17T13:11:33.509660Z", "shell.execute_reply": "2024-10-17T13:11:33.509122Z" } }, "outputs": [ { "data": { "text/plain": [ "'devices/device_2q_2024-10-17_13-11-33_UTC.json'" ] }, "execution_count": 10, "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": { "127d52b4c4414f758dd61da26e2907a0": { "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 } }, "54b0d2e3367e484a9debab915dcd8b4b": { "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_69355c26c9bf4d69b38ca121c4e64035", "IPY_MODEL_944fc2c635f849429f51b0225b62779d", "IPY_MODEL_e55cb7a2870c41f2a4c031fee5759504" ], "layout": "IPY_MODEL_71d35f4baad44bc09965872ca2837fdc", "tabbable": null, "tooltip": null } }, "586e79be9dfd4c9d9767d2046304e56d": { "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": "" } }, "69355c26c9bf4d69b38ca121c4e64035": { "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_f4f10990449d4816bbff5be1d7213729", "placeholder": "​", "style": "IPY_MODEL_127d52b4c4414f758dd61da26e2907a0", "tabbable": null, "tooltip": null, "value": "Completed: 100%" } }, "71d35f4baad44bc09965872ca2837fdc": { "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 } }, "944fc2c635f849429f51b0225b62779d": { "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_fb860743f13a41afa01a7a6607767b63", "max": 100.0, "min": 0.0, "orientation": "horizontal", "style": "IPY_MODEL_586e79be9dfd4c9d9767d2046304e56d", "tabbable": null, "tooltip": null, "value": 100.0 } }, "a5a0290e0da441208fd1754d5842dda8": { "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 } }, "a84372d4ffef43138d805d3fb4b9135e": { "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 } }, "e55cb7a2870c41f2a4c031fee5759504": { "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_a84372d4ffef43138d805d3fb4b9135e", "placeholder": "​", "style": "IPY_MODEL_a5a0290e0da441208fd1754d5842dda8", "tabbable": null, "tooltip": null, "value": " [ elapsed time: 00:00 | time left: 00:00 ]  last batch size: 300" } }, "f4f10990449d4816bbff5be1d7213729": { "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 } }, "fb860743f13a41afa01a7a6607767b63": { "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 } } }, "version_major": 2, "version_minor": 0 } } }, "nbformat": 4, "nbformat_minor": 5 }