Calibration of a quantum computer

The directed calibration graph with adaptation nodes addresses the complexity of quantum computer calibration by modeling task dependencies, enhancing efficiency and error handling in quantum computer calibration.

WO2026146248A1PCT designated stage Publication Date: 2026-07-09IQM FINLAND OY

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
IQM FINLAND OY
Filing Date
2025-10-30
Publication Date
2026-07-09

Smart Images

  • Figure FI2025060056_09072026_PF_FP_ABST
    Figure FI2025060056_09072026_PF_FP_ABST
Patent Text Reader

Abstract

According to an example embodiment, a method (200) for controlling calibration of a quantum computer (110) is provided, the method (200) to be carried out by a calibration control apparatus and comprising: modeling (202) dependencies between a plurality of calibration tasks pertaining to the quantum computer (110) by a directed calibration graph comprising a plurality of nodes that each represent a respective one of said plurality of calibration tasks and a plurality of directed edges that each connect a pair of nodes and indicate a dependency of a calibration task represented by the head of the respective edge on a calibration task represented by the tail of the respective edge; and carrying out (204) a calibration procedure via executing the plurality of nodes in a dependency order defined in the calibration graph, where execution of each node comprises carrying out the calibration task represented by the respective node, wherein the plurality of nodes may comprise one or more adaptation nodes, where execution of an adaptation node further comprises deriving (206) a node status value that indicates either successful execution or an error condition and where the calibration procedure proceeds from the respective adaptation node to a subsequent node selected in dependence of the node status value.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Calibration of a quantum computer

[0002] TECHNICAL FIELD

[0003] The present invention relates to calibration of a quantum computer and, in particular, to a technique for controlling calibration of a quantum computer.

[0004] BACKGROUND

[0005] In recent years, the potential to provide disruptive advances in fields such as finance, pharmacy and cybersecurity has driven fast development of quantum computers. A quantum computer is a highly complex and sensitive apparatus that requires careful calibration for carrying out a specific quantum computing task, where the calibration itself involves significant complexity.

[0006] In this regard, a calibration procedure for calibrating a quantum computer to carry out a specific quantum computing task typically comprises a series of experiments for measuring different parameters associated with a quantum processor. The measured parameters of the quantum processor together with predefined configuration values provide a set of parameters that define an operational state of the quantum computer, whereas the operational state and a gate sequence to be carried out by the quantum computer jointly define the quantum computation task. Hence, the calibration procedure is carried out to determine parameters required to define the operational state of the quantum computer, whereas many of the parameters determined via the calibration procedure depend directly or indirectly on other parameters to be determined in the course of the calibration procedure, the calibration procedure thereby involving a potentially complex network of inter-relationships between the parameters to be determined.

[0007] Typically, addressing the challenges arising from the parameter interdependencies relies on expertise of a person designing and carrying out the calibration procedure. A more structured approach known in the art for addressing the calibration challenge involves usage of a directed graph tomodel the dependencies between the parameters to be determined via the calibration procedure and carrying out the calibration procedure in consideration of the directed graph. However, such a graph-based model does not enable accounting for all the dependencies that may arise in the calibration procedure and, therefore, further tools that facilitate carrying out the calibration procedure are highly desirable.

[0008] SUMMARY

[0009] It is an object of the present invention to provide an improved technique for facilitating calibration of a quantum computer for carrying out a quantum computing task.

[0010] According to an example embodiment, a method for controlling calibration of a quantum computer is provided, the method to be carried out by a calibration control apparatus and comprising: modeling dependencies between a plurality of calibration tasks pertaining to the quantum computer by a directed calibration graph comprising a plurality of nodes that each represent a respective one of said plurality of calibration tasks and a plurality of directed edges that each connect a pair of nodes and indicate a dependency of a calibration task represented by the head of the respective edge on a calibration task represented by the tail of the respective edge; and carrying out a calibration procedure via executing the plurality of nodes in a dependency order defined in the calibration graph, where execution of each node comprises carrying out the calibration task represented by the respective node, wherein the plurality of nodes may comprise one or more adaptation nodes, where execution of an adaptation node further comprises deriving a node status value that indicates either successful execution or an error condition and where the calibration procedure proceeds from the respective adaptation node to a subsequent node selected in dependence of the node status value.

[0011] According to another example embodiment, a system for controlling calibration of a quantum computer is provided, the system comprising a calibration controller apparatus arranged to: model dependencies between a plurality ofcalibration tasks pertaining to the quantum computer by a directed calibration graph comprising a plurality of nodes that each represent a respective one of said plurality of calibration tasks and a plurality of directed edges that each connect a pair of nodes and indicate a dependency of a calibration task represented by the head of the respective edge on a calibration task represented by the tail of the respective edge; and carry out a calibration procedure via executing the plurality of nodes in a dependency order defined in the calibration graph, where execution of each node comprises carrying out the calibration task represented by the respective node, wherein the plurality of nodes may comprise one or more adaptation nodes, where execution of an adaptation node further comprises deriving a node status value that indicates either successful execution or an error condition and where the calibration procedure proceeds from the respective adaptation node to a subsequent node selected in dependence of the node status value.

[0012] The description of various features, e.g. of calibration tasks, graphs, nodes and edges, described in connection with the method for controlling calibration of a quantum computer to be carried out by a calibration control apparatus is applicable, mutatis mutandis, to the system for controlling calibration of a quantum computer and vice versa.

[0013] In the above example embodiments of the method as well as that of the system, at least one of the plurality of calibration tasks may comprise a plurality of calibration subtasks and the node representing said calibration task may comprise a directed calibration inner graph comprising a plurality of subnodes that each represent a respective one of said plurality of calibration subtasks and a plurality of directed edges that each connect a pair of subnodes and indicate a dependency of a calibration subtask represented by the head of the respective edge on a calibration subtask represented by the tail of the respective edge. Executing said node comprising the inner graph includes executing the plurality of subnodes in a dependency order defined in the inner graph, where execution of each subnode comprises carrying out the calibration subtask represented by the respective subnode. As described above, itfollows, that the plurality of nodes may comprise one or more adaptation nodes and / or one or more inner graphs.

[0014] The plurality of subnodes may comprise one or more adaptation subnodes, where execution of an adaptation subnode further comprises deriving a subnode status value that indicates either successful execution or an error condition and where the calibration procedure proceeds from the respective adaptation subnode to a subsequent subnode selected in dependence of the subnode status value.

[0015] Execution of each subnode may produce one or more observations that pertain to the quantum computer based on respective output parameters determined via carrying out the calibration subtask represented by the respective subnode. A descendant node, e.g. the closest descendant node, of the node comprising said subnodes may receive an observation set that includes one or more, preferably a subset, of observations produced by said subnodes, wherein execution of the respective descendant node may be based on parameters derived from observations included in the observation set. The method may further comprise selecting a number of observations, preferably a subset, produced by said subnodes to be included in the observation set before passing the observation set to a descendant node.

[0016] The directed calibration graph may be a sweep graph. Each calibration task of the sweep graph comprises a plurality of calibration substasks and each node of the sweep graph comprises an inner graph, the inner graph being as described above, where each inner graph corresponds to a sweeping target. Preferably, in the case of the sweep graph, a node receives an observation set that includes respective one or more observations produced by its one or more ancestor nodes and respective subnodes and execution of the respective node skips execution of its subnode if parameter values of said subnode of respective node are the same as the respective parameter values of a subnode of the one or more ancestor nodes.According to another example embodiment, a computer program for controlling calibration of a quantum computer is provided, the computer program comprising computer instructions for causing one or more apparatuses to perform the method described in the foregoing.

[0017] The computer program according to the above-described example embodiment may be embodied on a volatile or a non-volatile computer-readable record medium, for example as a computer program product comprising at least one computer readable non-transitory medium having the program code stored thereon, which, when executed by one or more computer apparatuses, causes the computer apparatus(es) at least to perform the method according to the example embodiment described in the foregoing.

[0018] The exemplifying embodiments of the invention presented in this patent application are not to be interpreted to pose limitations to the applicability of the appended claims. The verb “to comprise” and its derivatives are used in this patent application as an open limitation that does not exclude the existence of also unrecited features.

[0019] Some features of the invention are set forth in the appended claims. Aspects of the invention, however, both as to its construction and its method of operation, together with additional objects and advantages thereof, will be best understood from the following description of some example embodiments when read in connection with the accompanying drawings.

[0020] BRIEF DESCRIPTION OF FIGURES

[0021] The embodiments of the invention are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings, where

[0022] Figure 1 depicts a block diagram of some components of a system according to an example;

[0023] Figure 2A illustrates relationships between calibration tasks according to an example;Figure 2B illustrates relationships between calibration tasks according to an example;

[0024] Figure 2C illustrates relationships between calibration tasks according to an example;

[0025] Figure 3A illustrates different routes within a calibration graph in response to a node status value determined in an adaptation node according to an example;

[0026] Figure 3B illustrates different routes within a calibration graph in response to a node status value determined in an adaptation node according to an example;

[0027] Figure 3C illustrates different routes within a calibration graph in response to a node status value determined in an adaptation node according to an example;

[0028] Figure 3D illustrates different routes within a calibration graph in response to a node status value determined in an adaptation node according to an example;

[0029] Figure 3E illustrates different routes within a calibration graph in response to a node status value determined in an adaptation node according to an example;

[0030] Figure 3F illustrates different routes within a calibration graph in response to a node status value determined in an adaptation node according to an example;

[0031] Figure 3G illustrates different routes within a calibration graph in response to a node status value determined in an adaptation node according to an example;

[0032] Figure 4A illustrates a graph with a node comprising an inner graph according to an example;

[0033] Figure 4B illustrates a graph with a fallback node comprising an inner graph according to an example;

[0034] Figure 5 illustrates a method according to an example; andFigure 6 illustrates a block diagram of some components of an apparatus according to an example.

[0035] DESCRIPTION OF SOME EMBODIMENTS

[0036] Figure 1 illustrates a block diagram of some components of a calibration system 100 according to an example. The calibration system 100 is provided for carrying out a calibration procedure to calibrate a quantum computer 110 to carry out a predefined quantum computing task. The calibration system 100 comprises calibration controller 102 for controlling the calibration procedure and a calibration parameter database 104 for storing calibration data associated with the calibration procedure. The calibration system 100 may optionally further comprise a measurement sub-system 106 for measuring one or more aspects of the quantum computer 110 and / or one or more aspects of the operating environment of the quantum computer 110. The calibration system 100 and the quantum computer 110 constitute a quantum computing system 10.

[0037] The quantum computer 110 stores quantum information as quantum bits, i.e. as qubits, and performs computational operations with the qubits. There are various possible physical realizations of qubits (i.e. physical qubits), for example spin qubits, flux qubits, charge qubits, optical qubits, trapped ions, neutral atoms, or nitrogen vacancy centers in diamond. The operation of these physical qubits and their interaction with each other depends on various controllable external parameters such as their resonance frequencies, external magnetic flux, the amplitude and frequency of control pulses, etc. As the physical qubits are interacting with each other both intentionally and non-intentionally, the external parameters of multiple physical qubits are typically dependent on each other. Therefore, finding an optimal set of controllable external parameter values, i.e. calibration of the quantum computer 110, is a complicated and non-trivial task.

[0038] Along the lines described in the foregoing, the quantum computing task is defined by a gate sequence defined therefore together with an operationalstate of the quantum computer 110. The operational state is defined via a parameter set that includes a set of calibration parameters together with a set of configuration parameters. The calibration parameters are directly or indirectly descriptive an operational state of the quantum computer 110, an(other) aspect of operation of the quantum computer 100 or an aspect of operating environment of the quantum computer 110, and respective values for the calibration parameters are determined via the calibration procedure. The configuration parameters are applicable for controlling various aspects of operation of the quantum computer and they typically have respective values determined before carrying out the calibration procedure e.g. based on user input. Hence, in viewpoint of the calibration procedure, the configuration parameters have respective predefined values. The calibration parameters included in the parameter set may be referred to as respective observations and they may be provided as a respective parameter name-value pairs that each include a name of a respective parameter and a value determined for the respective parameter.

[0039] As described in the foregoing, the calibration controller 102 is arranged to control the calibration procedure, whereas the observations that constitute the parameter set associated with the calibration procedure is stored in the calibration parameter database 104, which is accessible by the calibration controller 102 in the course of the calibration procedure. The calibration procedure consists of a set of calibration tasks, where each calibration task is carried out by the calibration controller 102 or carried out under control of the calibration controller 102. Some calibration tasks require one or more input parameters determined earlier in the calibration procedure as their input, whereas each calibration task outputs one or more output parameters for use by subsequent calibration tasks. Hence, the calibration controller 102 may derive the input parameter(s) required for carrying out a given calibration task based on respective observations stored in the calibration parameter database 104 and the calibration controller 102 may derive respective observations for storage in the calibration parameter database 104 based on the output parameter(s) obtained via carrying out the given calibration task.Consequently, the parameter set stored in the calibration parameter database 104 after completion of the calibration procedure is the one that defines the operational state of the quantum computer 110 for the quantum computing task to be carried out.

[0040] Along the lines described in the foregoing, each calibration task is carried out to determine one or more observations, whereas some calibration tasks may rely on one or more observations determined earlier in the calibration procedure. Moreover, a calibration task may also modify the operational state of the quantum computer 110 in a manner that facilitates or enables carrying out a subsequent calibration task. All calibration tasks pertain to the quantum computer 110 via determining observations that are (directly or indirectly) descriptive of the operational state of the quantum computer 110, (directly or indirectly) descriptive of another aspect of the quantum computer 110, or (directly or indirectly) descriptive of an operating environment of the quantum computer 110. However, the calibration tasks involved in the calibration procedure may differ from each other in their characteristics. In this regard, non-limiting examples of different calibration task types include an executable calibration task, a measurement task and a calculation task, each of which is described in some further detail in the following.

[0041] - An executable calibration task is executed by the quantum computer 110 under control of the calibration controller 102, e.g. via the calibration controller 102 issuing one or more commands that cause execution of the respective calibration task on quantum computer 110. An executable calibration task may require one or more input parameters and it provides one or more output parameters that are descriptive of the operational state of the calibration computer 110 as output. Consequently, upon carrying out an executable calibration task, the calibration controller 102 may read one or more observations from the calibration parameter database 104 and supply input parameters derived therefrom to the quantum computer 110, whereas the calibration controller 102 receives one or more output parameters fromthe quantum computer 110 and stores respective observations derived therefrom in the calibration parameter database 104 after having carried out the executable calibration task. The observations may be read and / or written e.g. as respective parameter name-value pairs.

[0042] - A measurement task is carried out by the measurement sub-system 106 under control of the calibration controller 102, e.g. via the calibration controller 102 issuing one or more commands that cause the measurement sub-system 106 to carry out the respective measurement for obtaining a respective output parameter. Along the lines discussed above, the output parameter obtained via the measurement task may be one that is descriptive of an aspect of the quantum computer 110 or one that is descriptive of an aspect of the operating environment of the quantum computer 110. The calibration controller 102 stores the observation derived from the output parameter obtained via the measurement task to the calibration parameter database 104 e.g. as a respective parameter name-value pair. Non-limiting examples of measurement tasks include a Rabi experiment (carried out on transmon qubits) for deriving a correct shape for a pi-pulse and an experiment for measuring coherence times of (transmon) qubits.

[0043] - A calculation task involves computation carried out by the calibration controller 102 based on one or more input parameters and the computation results in deriving one or more output parameters, where the input parameter(s) are derivable from respective observations stored in the calibration parameter database 104 and the output parameter(s) serve as basis for respective observation(s) stored in the calibration parameter database 104. In this regard, a calculation task may involve computing the one or more output parameters that are descriptive of the operational state of the quantum computer 110 or another aspect that pertains thereto or to its operating environment based on the one or more input parameters that are obtained via a calibration task (e.g. an executable calibration task or a measurementtask) carried out earlier. Upon performing a calculation task, the calibration controller 102 may derive the one or more input parameters based on respective observations stored in the calibration parameter database 104, carry out the computation defined for the respective calculation task, and store one or more observations derived from the one or more output parameters determined via the computation to the calibration parameter database 104 e.g. as respective one or more parameter name-value pairs. As non-limiting example of a calculation tasks comprises computation of an optimal squid loop flux bias configuration for operating the quantum computer 110 based on observations available in the calibration parameter database 104.

[0044] A further type of a calibration task is a general task carried out based on one or more observations available in the calibration parameter database 104. As an example, a general task may comprise a visualization task that involves creating a plot or a visual presentation of the operational state of the quantum computer 110 based on one or more observations available in the calibration parameter database 104.

[0045] The calibration controller 102 is implemented by an apparatus, which is typically a (classical) computer apparatus that comprises one or more processors and one or more memories that store program code, where the program code is arranged to, when executed by the one or more processors, cause the computer apparatus to operate as the calibration controller 102 according to the present disclosure. Hence, the apparatus implementing the calibration controller 102 serves as a calibration control apparatus. The calibration parameter database 104 may be stored in one or more memories of an apparatus. According to an example, the calibration parameter database 104 is stored in the one or more memories of the computer apparatus applied to implement the calibration controller 102, thereby making the calibration parameter database 104 directly accessible by the calibration controller 102. In another example, the calibration parameter database 104 is stored in one or more memories provided in another apparatus that is communicativelycoupled to the apparatus implementing the calibration controller 102. In the context of the present disclosure, the term ‘database’ is to be construed broadly, encompassing any data structure that is applicable for storing and accessing information that represents the parameter set.

[0046] Various further characteristics pertaining to the calibration procedure and derivation of the parameter set via operation the calibration controller 102 are described in further detail in the following via a number of non-limiting examples.

[0047] The quantum computer 110 may include a control portion that controls various aspects of operation of the quantum computer 110 and that serves as a communication interface between the quantum computer 110 and the calibration controller 102. In this regard, the control portion may operate the quantum computer 110 to execute a calibration task under control of the calibration controller 102, e.g. based on the one or more commands received from the calibration controller 102. In case the executable calibration task at hand requires application of one or more input parameters for its execution, the interface portion is responsible for operating the quantum computer 110 in accordance with the respective one or more input parameters received from the calibration controller 102. The interface portion is likewise responsible for conveying data output by the quantum computer 110 via execution of the executable calibration task in form of the respective one or more output parameters to the calibration controller 102 for subsequent storage as respective observations to the calibration parameter database 104.

[0048] The control portion of the quantum computer 110 is communicatively coupled to the calibration controller 102 via a wired or wireless communication channel to enable transmission of control information and data therebetween. The control portion may comprise, for example, an electric circuit, a (classical) computer apparatus, or a combination of an electric circuit and a computer apparatus arranged to implement the control portion of the quantum computer 110 according to the present disclosure. In this regard, the electrical circuit isto be construed broadly, encompassing electric circuits of all kinds and encompassing also field-programmable gate arrays (FPGAs) and application specific circuits (ASICs), whereas the computer apparatus may comprise one or more processors and one or more memories that store program code, where the program code is arranged to, when executed by the one or more processors, cause the computer apparatus to implement at least part of the control portion of the quantum computer 110 according to the present disclosure.

[0049] As a non-limiting example, the control portion of the quantum computer 110 may control microwave signal generators that apply microwave pulses to quantum circuit elements within the quantum computer 110. There may be one or more microwave generators, each having one or more output channels. Each microwave pulse has a specific timing, duration, base frequency, shape, and amplitude, and one or more of these pulse properties may also be considered as calibration parameters of the quantum computer 110. In addition, the control portion of the quantum computer 110 may control electrical current sources that apply electrical currents to quantum circuit elements (e.g. to coils generating magnetic flux to control frequency-tunable superconducting transmon qubits) within the quantum computer 110. There may be one or more electrical current sources, each having one or more output channels. The applied electrical currents have specific amplitudes that may also be considered as calibration parameters of the quantum computer 110. Moreover, the control portion of the quantum computer 110 may receive data on detected microwave output pulses that contain information on a measured state of a qubit within the quantum computer 110. It is noted that this example applies especially to quantum computers based on superconducting qubits, but analogous input and output quantities exist in other types of quantum computers as well. Hence, the calibration technique described in the present disclosure is applicable to other types of quantum computers as well, mutatis mutandis, where the specific input and output quantities and calibration parameters of each quantum computer type are known to a skilled person.Along the lines described in the foregoing, the measurement sub-system 106, if included in the calibration system 100, is arranged to measure one or more aspects of the quantum computer 110 and / or one or more aspects of the operating environment of the quantum computer 110. The measurement subsystem 106 may comprise respective sensor(s) arranged to measure respective aspects of the quantum computer 110 and / or its operating environment together with a control portion for controlling various aspects of operation of the sensor(s) and for serving as a communication interface between the measurement sub-system 106 and the calibration controller 102. The measurement sub-system 106 is communicatively coupled to the calibration controller 102 via a wired or wireless communication channel to enable transmission of control information and data therebetween, whereas the control portion of the measurement sub-system 106 may implemented in a manner similar to that described above for the control portion of the quantum computer 110, mutatis mutandis.

[0050] According to an example, the control portion of the measurement sub-system 106 also converts the measured aspects (e.g. signals captured by respective sensors) into corresponding output parameters and transmits the output parameters to the calibration controller 102. In another example, the control portion of the measurement sub-system 106 supplies the measured aspects to the calibration controller 102, which converts them into corresponding parameters for storage as respective observations in the calibration parameter database 104. As non-limiting examples in this regard, the one or more aspects measured via operation of the measurement sub-system 106 may include one or more of the following: a temperature of the control portion of the quantum computer 110, an ambient temperature in vicinity of the control portion of the quantum computer 110, an air humidity in vicinity of the control portion of the quantum computer 110, etc.

[0051] Referring back to operation of the calibration controller 102 in implementing the calibration procedure, the set of calibration tasks that constitutes the calibration procedure is defined based on a directed graph that modelsdependencies between the calibration tasks and it may be (also) referred to as a calibration graph or as a dependency graph. Each node of the calibration graph represents a respective calibration task, whereas each edge connecting two nodes of the calibration graph represents a dependency between the respective calibration tasks represented by these two nodes. If considering arbitrary nodes of the calibration graph connected by a directed edge from a first node to a second node, this directed edge represents a dependency of a second calibration task represented by the second node on a first calibration task represented by the first node. In other words, the second calibration task represented by the head (node) of the edge depends on the first calibration task represented by the tail (node) of the edge. Such dependency implies that the first calibration task must be carried out before proceeding into carrying out the second calibration task to ensure making the necessary calibration parameter(s) available to the second calibration task.

[0052] Figures 2A, 2B and 2C illustrate respective examples of such relationships between calibration tasks of the calibration procedure via using nodes A, B and C that, respectively, represent calibration tasks a, b and c as an example of a portion of the calibration graph. The example of Figure 2A illustrates chained dependency, where the calibration task c depends on the calibration task b, which in turn depends on the calibration task a. Hence, in the example of Figure 2A the calibration task c directly depends on the calibration task b while it indirectly depends on the calibration task a. Further referring to the example of Figure 2A, the nodes B and C (together with any subsequent nodes down the chain of dependency) are descendants of the node A, whereas the node B is the closest (or direct) descendant of the node A. Conversely, the nodes B and A (together with any subsequent nodes up the chain of dependency) are ancestors of the node C, whereas the node B is the closest (or direct) ancestor of the node C. The example of Figure 2B illustrates dependency on multiple calibration tasks, where the calibration task c (directly) depends both on the calibration task a and on the calibration task b, whereas the example of Figure 2C illustrates multiple calibration procedures dependingon a single previous calibration task via showing each of the calibration tasks b and c (directly) depending on the calibration task a.

[0053] For brevity and clarity of the description, the following text predominantly refers to a node of the calibration graph when actually meaning the calibration task represented by the respective node. Moreover, a reference to executing a node actually refers to carrying out or implementing the calibration task represented by the respective node. Along similar lines, the following text predominantly refers to input and / or output parameters of a node when actually meaning, respectively, the one or more (input) calibration parameters to be provided as input to a calibration task represented by the respective node and / or the one or more (output) calibration parameters obtained as output of a calibration task represented by the respective node.

[0054] Upon executing a node, the calibration controller 102 determines a collection of observations that are available to the respective node, where this collection of observations is referred to as an observation set for the respective node. The calibration controller 102 derives the one or more input parameters possibly required for execution of the respective node based on observations available in the observation set for the respective node, whereas one or more observations derived from the one or more output parameters resulting from execution of the respective node are referred to as observations produced by the respective node and they are stored for subsequent use in the calibration parameter database 104.

[0055] According to an example, the observation set for a node includes the one or more observations produced by the closest ancestor of the respective node. Hence, in this example the observation(s) produced by a node propagate along the respective edge to its closest descendant node. Such limited propagation of the observations may be referred to as weak dependency, which enables constructing the calibration graph such that it includes one or more separate branches that each only produce a respective final observation set (from a respective leaf node) instead of propagating any auxiliary orintermediate observations required for deriving the final observation set all the way through the respective branch. According to another example, the observation set for a node is based on respective observations provided by all ancestors of the respective node. Hence, in this latter example the observation(s) produced by a node propagate along respective edges to its descendant nodes. In the latter example, the observation set may include all observations as a collection (e.g. as a union) of respective observations produced by the ancestor nodes of the respective node. According to an example, the observation set so obtained is modified via removing duplicate observations from the observation set before proceeding into execution of the respective node, where the modification may be carried out based on one or more predefined criteria. The modification may be carried e.g. such that in case of multiple observations pertaining to the same calibration parameter (e.g. to the same parameter name), only one of such observations is retained in the observation set. The modification that involves selection of one observation among the multiple observations that pertain to the same calibration parameter may be referred to as conflict resolution and the predefined one or more criteria for selecting the observation to be retained in the observation set for a given node may comprise, for example, one of the following:

[0056] - retaining the observation that is produced by a node of a highest topological generation, e.g. by a node that has a highest distance (as the number of intermediate nodes) from a respective root node, - retaining the observation produced by a node that is closest to the given node (in terms of the number of intermediate nodes),

[0057] - retaining the observation that is most recently produced,

[0058] - creating a new observation that comprises a union of all observations pertaining to the same calibration parameter.

[0059] In further examples, the one or more predefined criteria for selecting the observation to be retained may involve a combination of two or more of the exemplifying criteria described above.Carrying out the calibration procedure involves executing the nodes of the calibration graph in the dependency order defined in the calibration graph. Proceeding through the nodes in the dependency order results in executing the calibration tasks such that execution of a first node is preceded by respective execution of all ancestor nodes of the first node. In an example, the calibration procedure may proceed from executing a root node of the calibration graph and continue executing the nodes according to the dependency order defined in the calibration graph. If encountering a certain node that has at least one additional dependency chain leading thereto, the calibration procedure involves executing the nodes along respective dependency chains from the respective root nodes to the certain node before executing the certain node and proceeding into executing its descendant nodes along the respective dependency chains captured in the calibration graph until encountering respective leaf nodes.

[0060] Alternatively or additionally, the course of the calibration procedure in terms of the order of executing the nodes may be at least partially controlled via the calibration controller 102 keeping track of a respective run state indicator for each node of the calibration graph, where the run state indicator for a node indicates whether the respective node has been already executed or not. Without losing generality, the run state indicators may be stored in a data structure referred to as a run state table or as a run state map. As an example of making use of the run state table, when the calibration controller 102 proceeds to execution of a certain node, it may consult the run state table to identify those ancestor nodes of the certain node that are yet to be executed to ensure providing a valid observation set for the certain node and proceed with execution of these nodes, thereby facilitating energy efficient operation via not executing those ancestor nodes of the certain node for which a valid observation set is already provided. In another example of making use of the run state table, when the calibration controller 102 proceeds to execution of a certain node, it may consult the run state table to see of the certain node has been already executed and proceed with execution of the certain node only if the run state table indicates non-execution of the certain node.The dependencies between the nodes captured in the calibration graph form respective default paths through graph. While careful design of the calibration tasks that constitute the calibration procedure in many cases ensures undisturbed automated calibration via executing one node after another along the default paths defined by the dependency order defined by the calibration graph, certain calibration tasks may be identified as ones that are more prone to processing errors or disturbances than other ones. To address such a scenario, the calibration graph may include one or more adaptation nodes, where the calibration procedure may deviate from the default paths due to an error condition detected as part of execution of an adaptation node.

[0061] An adaptation node is otherwise similar to any other node of the calibration graph, but it is additionally provided with a fallback mechanism that enables accounting for one or more predefined error conditions detected upon execution of the adaptation node. Execution of an adaptation node results in the calibration controller 102 determining a node status value that indicates either successful execution of the calibration task represented by the respective node or indicates one of one or more error conditions. An error condition may arise, for example, from one or more of the following:

[0062] - the observation set for the respective node not including an observation that defines an (input) parameter required for carrying out the calibration task represented by the respective node,

[0063] - the observation set for the respective node including an observation that provides an invalid value for an (input) parameter required for carrying out the calibration task represented by the respective node,

[0064] - the observation produced via carrying out the calibration task represented by the respective node having an invalid value.

[0065] After execution of an adaptation node, the calibration controller 102 selects the next node to be executed in dependence of the node status value determined therein. In case the node status value indicates successful execution of the respective adaptation node, the calibration procedure proceeds from therespective adaptation node along the default path defined by the calibration path to a target node, which is a descendant of the respective adaptation node along the chain of dependency. In case the node status value indicates one of the one or more error conditions for the respective adaptation node, the calibration procedure proceeds from the respective adaptation node to a respective fallback node that is associated with the respective error condition and further along a respective fallback path to the target node. The fallback node and possible one or more intermediate nodes along the fallback path from the fallback node to the target node are executed to address the error condition detected in the respective adaptation node.

[0066] According to an example, the fallback node is off the chain of dependency that proceeds through the respective adaptation node, i.e. the fallback node is neither an ancestor nor a descendant of the respective adaptation node and, consequently, the fallback path and the nodes through which it proceeds are off the default path while the fallback path merges to the default path at the target node or at the adaptation node itself. In another example, the fallback node is an ancestor of the respective adaptation node or the respective adaptation node itself, which results in a scenario where the fallback path involves a partial repetition of the default path and re-execution of one or more of the nodes along the default path.

[0067] Figures 3A, 3B, 3C, 3D, 3E, 3F and 3G illustrate respective examples of making use of one or more fallback nodes together with the respective fallback paths leading back to default path. Throughout these examples, a node A serves as an adaptation node that determined a respective node status value.

[0068] - Figure 3A illustrates a scenario where the default path that leads from the node A to a (target) node C is taken in response to successful execution of the node A, whereas a fallback path that leads from a fallback node A’ to the (target) node C is taken in response to encountering an error condition in execution of the node A.- Figure 3B illustrates a scenario where the default path that leads from the node A to a (target) node C is taken in response to successful execution of the node A, whereas a fallback path that leads from a fallback node A’ via an intermediate node B’ to the (target) node C is taken in response to encountering an error condition in execution of the node A.

[0069] - Figure 3C illustrates a scenario where the default path that leads from the node A to a node B and further to a (target) node C is taken in response to successful execution of the node A, whereas a fallback path that leads from a fallback node A’ via an intermediate node B’ to the (target) node C is taken in response to encountering an error condition in execution of the node A.

[0070] - Figure 3D illustrates a scenario where the default path that leads from the node A to a (target) node C is taken in response to successful execution of the node A. Moreover, a first fallback path that leads from a first fallback node A’ to the (target) node C is taken in response to encountering a first error condition in execution of the node A, whereas a second fallback path that leads from a second fallback node A” via an intermediate node B” to the (target) node C is taken in response to encountering a second error condition in execution of the node A. - Figure 3E illustrates a scenario where the default path that leads from the node A through nodes B and C further to a node D is taken in response to successful execution of the nodes A, B, C and D, whereas a fallback path that leads from the node A via the node B to the (target) node C is taken in response to encountering an error condition in execution of the node C. Hence, in this example, the calibration procedure loops back from the node C to the node A and the node A further serves as a fallback node for the node C while the fallback path involves repeated execution of the nodes A, B and C.

[0071] - Figure 3F illustrates a scenario where the default path that leads from the node A to a (target) node C is taken in response to successful execution of the node A, whereas a fallback path that leads from the node A to the node A is taken in response to encountering an errorcondition in execution of the node A. Hence, in this example, the calibration procedure loops back from the node A to the node A, serving as its own fallback node, involving repeated execution of the node A. Such scenario enables a quick retry of the execution of the node A, for example, in case of a temporal error.

[0072] - Figure 3G illustrates a scenario where the default path that leads from the node A to a (target) node C is taken in response to successful execution of the node A, whereas a fallback path that leads from a fallback node A’ to the node A is taken in response to encountering an error condition in execution of the node A. Such scenario thus enables correcting required parameters before returning to the default path and repeating the execution of the node A.

[0073] It is worth noting that the scenarios shown in Figures 3A to 3G are non-limiting (relatively straightforward) examples that illustrate the concept of the fallback node(s) and the fallback path(s) that enable automatically accounting for envisaged error conditions encountered in the course of the calibration procedure, thereby substantially resulting in adaptation of the calibration graph as a measure for addressing the predefined error conditions.

[0074] In some scenarios, it may be useful to enable filtering observations passed along the edges of the calibration graph to subsequent nodes and / or to enable filtering observations applied for execution of a node. Such filtering may be advantageous, for example, for removing problematic observations in a scenario where one or more components are found erroneous in the course of the calibration procedure while it is still desirable to continue carrying out the calibration procedure to extent possible or in a scenario where one wishes to prevent unnecessary propagation of the observations that are not necessary for execution of the descendant nodes through the calibration graph.

[0075] As an example in this regard, the calibration controller 102 may be arranged to implement such filtering via transforming the observation set obtained from a node by removing predefined one or more observations that are founderroneous from the observation set before passing the observation set to a descendant node, thereby making the removed one or more observations unavailable to any descendant nodes of the respective node. Such filtering of observations may be referred to as edge filtering and, depending on the case, it may be applied to a single edge, to a predefined set of edges, or to all edges of the calibration graph.

[0076] In another example, the calibration controller 102 may be arranged to implement the filtering via transforming the observation set for a node by removing predefined one or more observations from the observation set before using the observation set for deriving the calibration parameters for execution of the respective node while passing the untransformed observation set to a descendant node, thereby excluding the one or more observations from consideration for execution of the respective node while making them available to a descendant node of the respective node. Such filtering of observations may be referred to as node filtering and, depending on the case, it may be applied to a single node, to a predefined set of nodes, or to all nodes of the calibration graph.

[0077] Modeling the calibration procedure via dependencies between calibration tasks rather than via dependencies between individual calibration parameters enables improved flexibility and versatility in defining the calibration procedure that enables e.g. conveniently accounting for calibration tasks that result in determination of multiple calibration parameters and / or that have an indirect effect on the internal state of the quantum computer 110 that may not be directly reflect in the determined parameters but that may nevertheless serve as an aspect of the calibration procedure. Moreover, another advantage arises from the built-in mechanism that is able to account for certain error conditions that may be encountered in the calibration procedure in an automated manner via adapting the path through the calibration graph accordingly without the need to terminate and re-run the calibration procedure when faced with the certain error conditions. Further advantages are enabled via the capability to create one or more separate branches that make use of the weak dependencyto limit the set of observations propagated through the respective branches, via the capability to transform observations made available to nodes of the calibration graph to account for possibly invalid calibration parameter values observed in the course of the calibration procedure and / or via the capability to re-use observations that are already up-to-date via making use of the run state indications, thereby facilitating computational efficiency of the calibration procedure via avoiding re-execution of those calibration tasks in re-calibration of the quantum computer 110 whose output parameter(s) are readily up-to-date and available.

[0078] To support scalable build of large and complex graphs, the calibration graph may comprise one or more inner graphs. Calibration graphs comprising one more inner graphs may be referred to as modular. An inner graph may be composed and encapsulated into a node, i.e. , a node in a graph may comprise a directed calibration inner graph, referred to as inner graph, comprising a plurality of subnodes and a plurality of directed edges that each connect a pair of subnodes, enabling modular construction of large complex graphs, providing better visualization, and allowing for complex fallback scenarios. Inner graphs may further simplify rendering and provide the user with an improved overview of the calibration process, making it easier and quicker to navigate while providing access to further details when necessary. An inner graph may otherwise be similar to a subgraph, i.e. a collection of nodes and edges of a graph, but the inner graph embedded into a node of the graph enables selecting which observations of the calibration subtasks of the inner graph are to be propagated to a descendant node(s) outside the inner graph, thus further increasing control of the calibration process. The user may thus select a number, preferably a subset, i.e. less than all, of the observations produced by the inner graph, i.e. by the subnodes of the node comprising said inner graph, to be propagated to the closest and / or further descendant node(s). It may be said that the node comprising the inner graph may select a number, preferably a subset, of the observations produced by the inner graph to propagate to the closest and / or further descendant node(s). In other words, the node comprising an inner graph may be able to filter observations passedalong the edges of the calibration graph and / or inner graph to subsequent (sub)nodes and / or to enable filtering observations applied for execution of a node, similar to as described above in connection to regular graphs. The method may thus comprise transforming an observation set obtained from the node comprising said subnodes by removing predefined one or more observations from the observation set before passing the observation set to a descendant node.

[0079] The node comprising the inner graph represents a calibration task comprising a plurality of calibration subtasks. The subnodes of said node thus each represent a respective one of said plurality of calibration subtasks. The plurality of directed edges each indicate a dependency of a calibration subtask represented by the head of the respective edge on a calibration subtask represented by the tail of the respective edge. When a calibration procedure is carried out using a modular calibration graph, the nodes of the calibration graph are executed in a dependency order defined in the calibration graph, where execution of each node comprises carrying out the calibration task represented by the respective node and execution of any node comprising an inner graph corresponds to executing the plurality of subnodes of said node in a dependency order defined in the calibration inner graph, where execution of any of the subnodes comprises carrying out the calibration subtasks represented by the respective subnodes.

[0080] The terms inner graph, subnode and calibration subtask may be understood to have substantially the same properties as graph, node and calibration task respectively with the description and properties of later terms applicable to the former ones mutatis mutandis. A subnode and a calibration subtask may be understood as a node and a calibration task respectively of an inner graph. The inner graph may be the same as any regular calibration graph. The inner graph may itself comprise a subnode comprising further inner graph(s), i.e. the inner graphs may be nested to as many levels as needed.The inner graph may include one or more adaptation subnodes, similar to as described above for the general calibration graph, where the calibration procedure may deviate from the default path due to an error condition detected as part of execution of an adaptation subnode. Hence, the inner graph may include a fallback path and fallback edges. In another example, the inner graph itself may be an adaptation or a fallback node.

[0081] Two examples of modular graphs are illustrated in Figures 4A and 4B. Figure 4A illustrates node D comprising an inner graph made of subnodes D1, D2, D3, D4, and D5, whereas in Figure 4B node Y’ comprises an inner graph made of subnodes Y’1 , Y’2, Y’3, and Y’4. When the graph is shown to a user, such as by a graphical user interface, the visualization may show the node D or Y’ as a single node, e.g. as other regular nodes A, B, C, E, X, Y, and Z. The node D or Y’ may contain an indication that it comprises an inner graph. Such node D or Y’ comprising an inner graph may be selectable or clickable, where selecting the node D or Y’ may show the embedded inner graph. In figures 4A and 4B, the nodes D and Y’ respectively are expanded, i.e. showing the embedded inner graphs. Hiding the inner graphs enables simplified and more compact graphs that are easier to interpret and modify.

[0082] In more detail, Figure 4A illustrates an example of relationships between calibration tasks of the calibration procedure via using nodes A, B, C, D, and E that, respectively, represent calibration tasks a, b ,c, d, and e as an example of a portion of the calibration graph where the node D comprises an inner graph comprising subnodes D1, D2, D3, D4 and D5 that, respectively, represent calibration subtasks d1, d2, d3, d4, and d5. The example of Figure 4A illustrates chained dependency, where the calibration task e depends directly on the calibration task d, which in turn depends on the calibration tasks b and c, each of calibration tasks b and c depending on calibration task a. The calibration task d comprises a set of subtasks d1 to d5 where the subtask d5 depends on subtask d4, which in turn depends on subtasks d2 and d3, whereas each of subtask d2 and d3 depends on subtask d1. The input from the calibration task d to the calibration task e is thus obtained by carrying outthe calibration subtasks d1 to d5. All or preferably only a smaller selected number of observations produced by carrying out the calibration subtasks d1 to d5 are propagated as input to the calibration task e, thus increasing computational efficiency.

[0083] Figure 4B illustrates another example of relationships between calibration tasks of the calibration procedure via using nodes X, Y, Y’, Z and A. The default path that leads from the adaptation node Y to the target node A is taken in response to successful execution of the node Y, whereas a fallback path that leads from the fallback node Y’ to the target node A is taken in response to encountering an error condition in execution of the node Y. Figure 4B illustrates that the fallback node Y’ and thus the fallback path may comprise an inner graph comprising subnodes Y’1 , Y’2, Y’3, and Y’4. The inner graph of the node Y’ is executed in the same way, mutatis mutandis, as that of the node D of Figure 4A, where in case of a fallback from the node Y to the node Y’, the subnodes Y’1 to Y’4 are executed and the node Y’ choses a subset of all the observations created by said inner graph to propagate to the descendant (target) node A. In an example, the observations of the lowest descendant, i.e. Y’4, may be chosen to propagate to the node A and the remaining observations, such as Y’1, Y’2, Y’3, may be discarded, thus facilitating computational efficiency. Inserting a fallback graph as an inner graph into a node further assists in establishing a correct observation flow where, for example, if the node Y created an observation o with value 3 and the node Y’1 created an observation o with value 2, the value of observation o that the node Y’2 sees should be that of Y’1 , i.e. 2.

[0084] One beneficial application of inner graphs is in creation of sweep graphs. The concept of an inner graph may enable efficient sweeping of a sweeping target, such as whole graph or a few selected nodes of a graph to be swept. This may be achieved by creation of a sweep graph, where said sweep graph is a graph comprising a plurality of nodes, each node comprising an inner graph, such as the sweeping target, where parameters of each said node are set to one of the sweep points, i.e. each node of the sweep graph corresponds to one of thesweep points. An inner graph thus enables sweeping a number of nodes by creating the inner graph from such nodes and inserting said inner graph inside a node. As parameters of a node may be swept, inserting a node or a graph as an inner graph into said node enables sweeping over one or more parameters of said node or whole graph. In addition to improved visualization, sweep graphs with inner graphs may allow using the previous sweep point as a base state to speed up the processing, and utilizing the same software machinery as with a regular graph. The inner graphs of the sweep graph may, but do not have to be, identical. In an example, a sweep parameter may be introduced for controlling the structure of the graph.

[0085] In an example case where the sweeping target is a graph comprising node A with a number n of parameter values to be swept and a node B with a number m of parameter values to be swept, the sweeper graph may comprise of m*n nodes, each said node comprising the sweeping target as an inner graph, i.e. each node comprises a subnode A and a subnode B with the parameter values of the subnodes A and B of each node set to one of the m*n combinations. Such sweep graph may beneficially reuse previous runs, e.g., if the subnode A in a node of the sweep graph is executed with a parameter value n1, the subnode A of a descendant node having the same parameter value n1 does not need to be executed again, thus making the calibration faster and more resource efficient.

[0086] In the foregoing, various aspects of providing the calibration procedure for calibrating the quantum computer 110 is described with references to the calibration controller 102 and to the calibration parameter database 104 with optional usage of the measurement sub-system 106. Alternatively, the calibration procedure of the quantum computer 110 according to the present disclosure may be described as a method. As an example in this regard, Figure 5 illustrates a method 200, which may be implemented e.g. by one or more (classical) computer apparatuses, the method 200 comprising the following operations:- modeling dependencies between a plurality of calibration tasks pertaining to the quantum computer 110 by the calibration graph comprising a plurality of nodes that each represent a respective one of said plurality of calibration tasks and a plurality of directed edges that each connect a pair of nodes and indicate a dependency of a calibration task represented by the head of the respective edge on a calibration task represented by the tail of the respective edge (block 202);

[0087] - carrying out a calibration procedure via executing the plurality of nodes in a dependency order defined in the calibration graph, where execution of each node comprises carrying out the calibration task represented by the respective node (block 204),

[0088] - deriving, in one or more adaptation nodes included in said plurality of nodes as part of execution of the respective adaptation node, a node status value that indicates either successful execution or an error condition, where the calibration procedure proceeds from the respective adaptation node to a subsequent node selected in dependence of the node status value (block 206).

[0089] The method 200 may be varied and / or complemented in a number of ways, for example in accordance with the examples described in the foregoing that pertain to various aspects of operation of the calibration controller 102 in implementing the calibration procedure and / or to various aspects of structure and characteristics of the calibration graph, mutatis mutandis.

[0090] Figure 6 illustrates a block diagram of some components of an apparatus 300 that may be employed to implement at least some of the operations described in the foregoing with references to the calibration controller 102 and / or the method 200. In one example, the apparatus 300 may be employed to implement the calibration controller 102, whereas in another example the apparatus 300 may be employed to implement one or more (e.g. all) steps of the method 200 described in the foregoing. The apparatus 300 comprises aprocessor 310 and a memory 320. The memory 320 may store data and computer program code 325. The apparatus 300 may further comprise communication means 330 for wired or wireless communication with other apparatuses (e.g. with the quantum computer 110) and / or user I / O (input / output) components 340 that may be arranged, together with the processor 310 and a portion of the computer program code 325, to provide the user interface for receiving input from a user and / or providing output to the user. In particular, the user I / O components may include user input means, such as one or more keys or buttons, a keyboard, a touchscreen or a touchpad. The user I / O components may include output means, such as a display or a touchscreen. The components of the apparatus 300 are communicatively coupled to each other via a bus 350 that enables transfer of data and control information between the components.

[0091] The memory 320 and a portion of the computer program code 325 stored therein may be further arranged, with the processor 310, to cause the apparatus 300 to perform at least some aspects of operation of the calibration controller 102 or to implement one or more steps of the method 200. The processor 310 is configured to read from and write to the memory 320. Although the processor 310 is depicted as a respective single component, it may be implemented as respective one or more separate processing components. Similarly, although the memory 320 is depicted as a respective single component, it may be implemented as respective one or more separate components, some or all of which may be integrated / removable and / or may provide permanent I semi-permanent / dynamic / cached storage.

[0092] The computer program code 325 may comprise computer-executable instructions that implement at least some aspects of operation of the calibration controller 102 or that implement one or more steps of the method 200 when loaded into the processor 310. As an example, the computer program code 325 may include a computer program consisting of one or more sequences of one or more instructions. The processor 310 is able to load and execute the computer program by reading the one or more sequences of one or moreinstructions included therein from the memory 320. The one or more sequences of one or more instructions may be configured to, when executed by the processor 310, cause the apparatus 300 to perform at least some aspects of operation of the calibration controller 102 or to implement one or more steps of the method 200. Hence, the apparatus 300 may comprise at least one processor 310 and at least one memory 320 including the computer program code 325 for one or more programs, the at least one memory 320 and the computer program code 325 configured to, with the at least one processor 310, cause the apparatus 300 to perform at least some aspects of operation of the calibration controller 102 or to implement one or more steps of the method 200.

[0093] The computer program code 325 may be provided e.g. as a computer program product comprising at least one computer-readable non-transitory medium having the computer program code 325 stored thereon, which computer program code 325, when executed by the processor 310 causes the apparatus 300 to perform at least some aspects of operation of the calibration controller 102 or to implement one or more steps of the method 200. The computer-readable non-transitory medium may comprise a memory device, a record medium or another article of manufacture that tangibly embodies the computer program. As another example, the computer program may be provided as a signal configured to reliably transfer the computer program.

[0094] Reference(s) to a processor herein should not be understood to encompass only programmable processors, but also dedicated circuits, such as field-programmable gate arrays (FPGA), application-specific integrated circuits (ASIC) and signal processors.

Claims

Claims1. A method (200) for controlling calibration of a quantum computer (110), the method (200) carried out by a calibration control apparatus (102, 300) and comprising:modeling (202) dependencies between a plurality of calibration tasks pertaining to the quantum computer (110) by a directed calibration graph comprising a plurality of nodes that each represent a respective one of said plurality of calibration tasks and a plurality of directed edges that each connect a pair of nodes and indicate a dependency of a calibration task represented by the head of the respective edge on a calibration task represented by the tail of the respective edge; andcarrying out (204) a calibration procedure via executing the plurality of nodes in a dependency order defined in the calibration graph, where execution of each node comprises carrying out the calibration task represented by the respective node,wherein the plurality of nodes comprises one or more adaptation nodes, where execution of an adaptation node further comprises deriving (206) a node status value that indicates either successful execution or an error condition and where the calibration procedure proceeds from the respective adaptation node to a subsequent node selected in dependence of the node status value.

2. A method (200) according to claim 1 , wherein the calibration procedure proceeds from the respective adaptation node to a subsequent node selected in dependence of the node status in the following manner: in response to the node status value indicating successful execution, the calibration procedure proceeds along a default path to a target node that is a descendant node of the respective adaptation node, andin response to the node status indicating the error condition, the calibration procedure proceeds to a predefined fallback node associated with the error condition and further along a fallback path to said target node.

3. A method (200) according to claim 2, wherein the predefined fallback node is not an ancestor node or a descendant node of the respective adaptation node, the fallback path thereby leading to said target node via one or more nodes that are off the default path from the respective adaptation node to said target node.

4. A method (200) according to claim 2, wherein the predefined fallback node is one of the following:an ancestor node of the respective adaptation node, orthe respective adaptation node itself,the fallback path thereby leading to said target node via repeating one or more nodes of the default path from the fallback node to the respective adaptation node.

5. A method (200) according to any of claims 1 to 4, wherein execution of each node produces one or more observations that pertain to the quantum computer (110) based on respective output parameters determined via carrying out the calibration task represented by the respective node.

6. A method (200) according to claim 5, wherein a node receives an observation set that includes respective one or more observations produced by its ancestor nodes and wherein execution of the respectivenode is based on input parameters derived from observations included in the observation set.

7. A method (200) according to claim 6, further comprising:detecting, in an observation set received at a node, multiple observations that pertain to the same calibration parameter; andmodifying the observation set based on a predefined criterion before executing the respective node, wherein said modification comprises one of the following:retaining only one of said detected observations, orcreating a new observation that comprises a union of said detected observations.

8. A method (200) according to claim 5, wherein a node receives an observation set that includes the one or more observations produced by its closest ancestor node and wherein execution of the respective node is based on parameters derived from observations included in the observation set.

9. A method (200) according to any of claims 6 to 8, further comprising transforming the observation set obtained from a node by removing predefined one or more observations from the observation set before passing the observation set to a descendant node, thereby making the removed one or more observations unavailable to any descendant nodes of the respective node.

10. A method (200) according to any of claims 6 to 9, further comprising transforming the observation set received at a node by removing predefined one or more observations from the observation set beforeusing the observation set for deriving the input parameters for execution of the respective node while passing the untransformed observation set to a descendant node, thereby excluding the one or more observations from consideration for execution of the respective node while making them available to a descendant node of the respective node.

11. A method (200) according to any of claims 1 to 8,further comprising maintaining a run state table that comprises a respective run state indicator for each node of the calibration graph, wherein the run state indicator for a given node indicates whether the respective node has been executed or not,wherein carrying out (204) the calibration procedure comprise executing only those nodes that according to the run state table have not been executed.

12. A method (200) according to any of claims 1 to 11 , wherein said plurality of calibration tasks comprises one or more of the following:one or more executable calibration tasks for execution on the quantum computer (110), where each executable calibration task returns one or more output parameters that are descriptive of an operational state of the quantum computer (110) and that serve as basis for deriving observations produced by the node representing the respective executable calibration task,one or more measurement tasks for measuring an aspect of the quantum computer (110) or its operating environment, where each measurement task returns an output parameter that is descriptive of the respective aspect of the quantum computer (110) or its operating environment and that serves as basis for deriving an observation produced by the node representing the respective measurement task.one or more calculation tasks for computing one or more output parameters that are descriptive of an operational state of the quantum computer (110) and that serve as basis for deriving respective observations produced by the node representing the respective calculation task.

13. A method (200) according to claim 12, wherein an executable calibration task or a calculation task takes one or more input parameters that are derivable from respective observations produced by one or more ancestor nodes of the node representing the respective executable calibration task or the respective calculation task and that are descriptive of one of the following:an operational state of the quantum computer (110),an aspect of the quantum computer (110), oran aspect of an operating environment of the quantum computer (110).

14. A method (200) according to any of claims 1 to 13, whereinat least one of the plurality of calibration tasks comprises a plurality of calibration subtasks,the node representing said calibration task comprises a directed calibration inner graph comprising a plurality of subnodes that each represent a respective one of said plurality of calibration subtasks and a plurality of directed edges that each connect a pair of subnodes and indicate a dependency of a calibration subtask represented by the head of the respective edge on a calibration subtask represented by the tail of the respective edge, andexecuting said node comprising the inner graph includes executing the plurality of subnodes in a dependency order defined in the inner graph, where execution of each subnode comprises carrying out the calibration subtask represented by the respective subnode.

15. A method (200) according to claim 14, whereinexecution of each subnode produces one or more observations that pertain to the quantum computer (110) based on respective output parameters determined via carrying out the calibration subtask represented by the respective subnode,a descendant node of the node comprising said subnodes receives an observation set that includes one or more observations produced by said subnodes, andexecution of the respective descendant node is based on parameters derived from observations included in the observation set,the method further comprising selecting a number of observations produced by said subnodes to be included in the observation set before passing the observation set to a descendant node.

16. A method (200) according to claim 15, wherein the selected number of observations is a subset of the observations produced by the subnodes of the node comprising said subnodes.

17. A method (200) according to any of claims 14 to 16, wherein the plurality of subnodes comprises one or more adaptation subnodes, where execution of an adaptation subnode further comprises deriving (206) a subnode status value that indicates either successful execution or an error condition and where the calibration procedure proceeds from the respective adaptation subnode to a subsequent subnode selected in dependence of the subnode status value.

18. A method (200) according to any of claims 14 to 17, wherein the directed calibration graph is a sweep graph such that each calibration task of the sweep graph comprises a plurality of calibration subtasks and each node of the sweep graph comprises an inner graph comprising a plurality ofsubnodes that each represent a respective one of said plurality of calibration subtasks and a plurality of directed edges that each connect a pair of subnodes and indicate a dependency of a calibration subtask represented by the head of the respective edge on a calibration subtask represented by the tail of the respective edge, wherein each inner graph corresponds to a sweeping target.

19. A method (200) according to claim 18, wherein a node receives an observation set that includes respective one or more observations produced by its one or more ancestor nodes and respective subnodes and wherein execution of the respective node skips execution of its subnode if parameter values of said subnode of respective node are the same as the respective parameter values of a subnode of the one or more ancestor nodes.

20. A computer program comprising instructions for causing one or more apparatuses to perform at least the method (200) according to any of claims 1 to 19.

21. A calibration system (100) for controlling calibration of a quantum computer (110), the calibration system (100) comprising a calibration controller apparatus (120, 300) arranged to:model dependencies between a plurality of calibration tasks pertaining to the quantum computer (110) by a directed calibration graph comprising a plurality of nodes that each represent a respective one of said plurality of calibration tasks and a plurality of directed edges that each connect a pair of nodes and indicate a dependency of a calibration task represented by the head of the respective edge on a calibration task represented by the tail of the respective edge; andcarry out a calibration procedure via executing the plurality of nodes in a dependency order defined in the calibration graph, where execution of each node comprises carrying out the calibration task represented by the respective node,wherein the plurality of nodes comprises one or more adaptation nodes, where execution of an adaptation node further comprises deriving a node status value that indicates either successful execution or an error condition and where the calibration procedure proceeds from the respective adaptation node to a subsequent node selected in dependence of the node status value.

22. A calibration system (100) according to claim 21 , wherein the calibration procedure proceeds from the respective adaptation node to a subsequent node selected in dependence of the node status in the following manner:in response to the node status value indicating successful execution, the calibration procedure proceeds along a default path to a target node that is a descendant of the respective adaptation node, and in response to the node status indicating the error condition, the calibration procedure proceeds to a predefined fallback node associated with the error condition and further along a fallback path to said target node.

23. A calibration system (100) according to claim 21 or 22,further comprising a calibration parameter database (104) for storing calibration parameters,wherein execution of each node produces one or more observations based on calibration parameters determined via carrying out the calibration task represented by the respective node.

24. A calibration system (100) according to claim 23, wherein execution of a node is based on an observation set that includes respective one or more observations produced by one or more of its ancestor nodes.

25. A calibration system (100) according to any of claims 22 to 24, wherein at least one of the plurality of calibration tasks comprises a plurality of calibration subtasks,the node representing said calibration task comprises a directed calibration inner graph comprising a plurality of subnodes that each represent a respective one of said plurality of calibration subtasks and a plurality of directed edges that each connect a pair of subnodes and indicate a dependency of a calibration subtask represented by the head of the respective edge on a calibration subtask represented by the tail of the respective edge, andexecuting said node comprising the inner graph includes executing the plurality of subnodes in a dependency order defined in the inner graph, where execution of each subnode comprises carrying out the calibration subtask represented by the respective subnode.

26. A quantum computing system (10) comprising:a quantum computer (110); anda calibration system (100) according to any of claims 21 to 25 arranged for controlling calibration of the quantum computer (110).