experiments
Specifies calibration and characterisation tasks on qubits and couplings.
Schema¶
Properties¶
Property | Type | Description | References |
---|---|---|---|
qubit |
List[task | subflow] | None |
List of tasks targeting qubits. | task, subflow |
coupling |
List[task | subflow] | None |
List of tasks targeting couplings. | task, subflow |
Examples¶
Experiments without nested subflows¶
The most basic example of specifying experiments is by using only tasks. Suppose you want to define a flow consisting of:
- three single-qubit experiments:
- Ramsey, defined in notebook
ramsey.ipynb
- T1, defined in notebook
t1.ipynb
- DRAG calibration, defined in notebook
drag.ipynb
- Ramsey, defined in notebook
- one qubit-qubit experiment:
- ZZ coupling, defined in notebook
crosstalk.ipynb
- ZZ coupling, defined in notebook
Furthermore, suppose that coupling experiments should only begin when the qubit experiments are completed successfully. This flow would be implemented by the following experiments
object:
Experiments with nested subflows¶
To define subflows, simply use a subflow object instead of a task. For instance, if you wanted to group the first two tasks from the previous example (i.e. ramsey
and t1
), you can achieve that by using the following:
qubit:
- name: my-grouping
tasks:
- name: ramsey
- name: t1
- name: drag
coupling:
- name: crosstalk
dependencies:
- drag
As you can see, the element my-grouping
is no longer a task, but rather a subflow. This comes in handy when you want to define groupings of tasks that should be retried at the same time by combining it with the subflow.retry
property, or for grouping execution conditions for related tasks via subflow.conditions
.
You can read more about subflows in the Further workflow customisation user guide.