09 - Appareils et instruments scientifiques et électriques
42 - Services scientifiques, technologiques et industriels, recherche et conception
Produits et services
Downloadable computer software for representing quantum computing workflows; Downloadable computer software for quantum computing in the nature of providing quantum model descriptions; Downloadable computer software for quantum computing; Downloadable computer software for designing and executing quantum algorithms; Downloadable computer software for generating, compiling, and executing quantum programs Software as a service (SAAS) services featuring software for quantum computing; Providing temporary use of on-line non-downloadable software for quantum algorithm design and optimization; Software as a service (SAAS) services featuring software for generating, compiling, and executing quantum programs
09 - Appareils et instruments scientifiques et électriques
42 - Services scientifiques, technologiques et industriels, recherche et conception
Produits et services
Downloadable computer software for quantum computing in the nature of downloadable digital files containing executable quantum-program code; Downloadable computer software for quantum computing in the nature of downloadable digital files containing representations of quantum circuits for use in quantum computing; Downloadable computer software for quantum computing; Downloadable computer software for generating, compiling, and executing quantum programs; Downloadable computer software for quantum algorithm synthesis and circuit design Software as a service (SAAS) services featuring software for quantum computing; Providing temporary use of on-line non-downloadable software for quantum algorithm synthesis and execution; Software as a service (SAAS) services featuring software for generating, compiling, and executing quantum programs
09 - Appareils et instruments scientifiques et électriques
42 - Services scientifiques, technologiques et industriels, recherche et conception
Produits et services
Downloadable digital files containing representations of quantum computing workflows; Downloadable digital files containing quantum model descriptions; Downloadable computer software for quantum computing; Downloadable computer software for designing and executing quantum algorithms; Downloadable computer software for generating, compiling, and executing quantum programs. Software as a service (SaaS) featuring software for quantum computing; Providing temporary use of non-downloadable software for quantum algorithm design and optimization; Software as a service (SaaS) featuring software for generating, compiling, and compiling quantum programs.
09 - Appareils et instruments scientifiques et électriques
42 - Services scientifiques, technologiques et industriels, recherche et conception
Produits et services
Downloadable digital files containing executable quantum program code; Downloadable digital files containing digital representations of quantum circuits for use in quantum computing; Downloadable computer software for quantum computing; Downloadable computer software for generating, compiling, and executing quantum programs; Downloadable computer software for quantum algorithm synthesis and circuit design. Software as a service (SaaS) featuring software for quantum computing; Software as a service (SaaS) featuring software for generating, compiling, and compiling quantum programs; Providing temporary use of non-downloadable software for quantum algorithm synthesis and execution.
5.
USING A QUANTUM SENSOR TO APPROXIMATE A QUANTUM STATE
A system, apparatus and product comprising: a quantum sensor that is configured to measure a property of a first physical phenomenon; a quantum computer that is configured to execute a parametric quantum circuit comprising qubits that are set to represent the property of the first physical phenomenon, wherein the parametric quantum circuit comprises: an ansatz parametric circuit configured to approximate a target quantum state of a second physical phenomenon, and to output a manipulated quantum state; and an assessing module configured to assess an expectation value of operators on the manipulated quantum state; wherein said quantum computer is configured to implement a Variational Quantum Eigensolver (VQE) scheme to iteratively adjust values of a set of parameters defining the ansatz parametric circuit until the assessing module provides a desired expectation value; and an output module configured to output the desired expectation value.
G06N 10/60 - Algorithmes quantiques, p. ex. fondés sur l'optimisation quantique ou les transformées quantiques de Fourier ou de Hadamard
G06N 10/20 - Modèles d’informatique quantique, p. ex. circuits quantiques ou ordinateurs quantiques universels
G06N 10/40 - Réalisations ou architectures physiques de processeurs ou de composants quantiques pour la manipulation de qubits, p. ex. couplage ou commande de qubit
A method, apparatus and product comprising: obtaining a logical representation of a quantum circuit, wherein the logical representation comprises a plurality of logical qubits manipulated by a plurality of logical gates; and generating a physical representation of the quantum circuit, the physical representation is configured to allocate a set of physical qubits of a quantum computer to the plurality of logical qubits in order to implement error correction operations The generating includes selecting a first quantity of physical qubits from the set of physical qubits for a first separate section of the quantum circuit; selecting a second quantity of physical qubits from the set of physical qubits for a second separate section of the quantum circuit, and synthesizing the quantum circuit using the first and second quantities for the first and second separate sections.
A method, apparatus and system comprising: a quantum sensor that is configured to measure a quantum state of a physical phenomenon; a quantum computer that is connectable to said quantum sensor, and is configured to execute a parametric quantum circuit a plurality of times, wherein the parametric quantum circuit comprising qubits that are set to represent the quantum state and an inverse ansatz parametric circuit that is configured to receive the quantum state from the qubits and to output a processed state; wherein said quantum computer is configured to iteratively set parameter values of the inverse ansatz parametric circuit until obtaining a parameter value that causes the parametric quantum circuit to output an approximation of a predetermined state; and an output module configured to provide output data that indicates an approximation of the quantum state.
A method, product, and apparatus comprising: obtaining a logical representation of a quantum circuit that defines a plurality of gate operations on subsets of a plurality of logical qubits; obtaining a physical representation of the quantum circuit on a quantum computer comprising a set of physical qubits positioned on a plane embedded in at least two dimensions, the physical representation comprising: a division of the set of physical qubits into a plurality of patches, the plurality of patches comprising qubit patches and auxiliary patches; and a mapping of the plurality of logical qubits to the qubit patches; allocating the plurality of gate operations to a set of layers, whereby determining a reduced number of layers for the quantum circuit; and synthesizing the quantum circuit according to the set of layers.
G06N 10/40 - Réalisations ou architectures physiques de processeurs ou de composants quantiques pour la manipulation de qubits, p. ex. couplage ou commande de qubit
G06N 10/70 - Correction, détection ou prévention d’erreur quantique, p. ex. codes de surface ou distillation d’état magique
An apparatus, method, and system comprising: a quantum computer that is configured to execute a parametric quantum circuit a plurality of times, the parametric quantum circuit comprising: a qubit with an unknown quantum state at an initial cycle of the parametric quantum circuit, an ansatz parametric circuit for receiving the unknown quantum state and outputting a processed quantum state, and a detection sub-circuit for indicating a distance measure of the processed quantum state from a target state, wherein said quantum computer implements a Variational Quantum Algorithm (VQA) scheme to iteratively set parameter values of the ansatz parametric circuit until obtaining a parameter value that causes the parametric quantum circuit to output an approximation of zero; and an output module for outputting the ansatz parametric circuit.
A method, apparatus, and product comprising: obtaining a representation of a quantum circuit; determining that a qubit is a candidate auxiliary qubit by estimating that a state of the qubit at a first cycle is identical to a state of the qubit at a second cycle; identifying a function section in the quantum circuit based on the qubit, the function section commencing at a beginning cycle, the beginning cycle is ordered before the second cycle, the function section ending at an ending cycle, the ending cycle is ordered after the first cycle, the ending cycle is ordered after the commencing cycle, the function section utilizing the qubit as an auxiliary qubit; and outputting an indication of the function section.
G06N 10/40 - Réalisations ou architectures physiques de processeurs ou de composants quantiques pour la manipulation de qubits, p. ex. couplage ou commande de qubit
11.
QUANTUM CIRCUIT EXECUTION METHOD UTILIZING QUBIT IDLE PERIODS FOR ENHANCED RESOURCE EFFICIENCY
A method, apparatus and product for executing a quantum circuit by a quantum execution platform, comprising: obtaining the quantum circuit, the quantum circuit comprises first and second qubit allocation instructions, the first qubit allocation instruction instructing to obtain a first set of qubits at an initial cycle, the second qubit allocation instruction instructing to obtain a second set of qubits at an intermediate cycle ordered after the initial cycle; performing an execution of cycles of the quantum circuit, said performing comprises allocating, for the initial cycle, qubits from a qubit pool to be utilized by the quantum circuit, the qubits corresponding to the first set of qubits; and in response to the execution reaching the intermediate cycle, dynamically allocating at least one additional qubit from the qubit pool to be utilized by the quantum circuit, the at least one additional qubit corresponding to the second set of qubits.
G06N 10/40 - Réalisations ou architectures physiques de processeurs ou de composants quantiques pour la manipulation de qubits, p. ex. couplage ou commande de qubit
G06F 9/38 - Exécution simultanée d'instructions, p. ex. pipeline ou lecture en mémoire
G06N 10/20 - Modèles d’informatique quantique, p. ex. circuits quantiques ou ordinateurs quantiques universels
G06N 10/70 - Correction, détection ou prévention d’erreur quantique, p. ex. codes de surface ou distillation d’état magique
12.
Optimizing quantum circuits with permutable input registers
A method for optimizing a quantum circuit includes obtaining a quantum circuit model comprising one or more quantum operations, wherein at least one quantum operation is marked as having permutable input registers. An optimization goal for the quantum circuit is determined. A processor selects a permutation of the input registers for the at least one marked quantum operation based on the optimization goal. An optimized quantum circuit is generated based on the selected permutation. The method may further include providing the generated optimized quantum circuit for execution by a quantum execution platform.
A Graphical User Interface (GUI) is used to display a graphical representation of an abstract quantum circuit. The abstract quantum circuit includes input ports, output ports, wires, and instances. At least one of the instances is an abstract instance of a module that represents a duplication of a quantum operation defined by the module. The abstract quantum circuit is compiled to obtained a quantum circuit. Compiling the abstract quantum circuit comprises replacing the abstract instance with a plurality of instances of the module, whereby concretizing the abstract instance.
A method, apparatus and product for executing a quantum circuit by a quantum execution platform, includes obtaining the quantum circuit, the quantum circuit having first and second qubit allocation instructions, the first qubit allocation instruction instructing to obtain a first set of qubits at an initial cycle, the second qubit allocation instruction instructing to obtain a second set of qubits at an intermediate cycle ordered after the initial cycle; performing an execution of cycles of the quantum circuit, said performing including allocating, for the initial cycle, qubits from a qubit pool to be utilized by the quantum circuit, the qubits corresponding to the first set of qubits, and in response to the execution reaching the intermediate cycle, dynamically allocating at least one additional qubit from the qubit pool to be utilized by the quantum circuit, the at least one additional qubit corresponding to the second set of qubits.
G06N 10/40 - Réalisations ou architectures physiques de processeurs ou de composants quantiques pour la manipulation de qubits, p. ex. couplage ou commande de qubit
G06F 9/38 - Exécution simultanée d'instructions, p. ex. pipeline ou lecture en mémoire
G06N 10/20 - Modèles d’informatique quantique, p. ex. circuits quantiques ou ordinateurs quantiques universels
G06N 10/70 - Correction, détection ou prévention d’erreur quantique, p. ex. codes de surface ou distillation d’état magique
15.
ITERATIVE COMPILATION AND EXECUTION IN A QUANTUM OPERATING SYSTEM
A method, apparatus, and product includes obtaining a quantum program having one or more functionalities that are intended to be implemented as quantum operations in a quantum circuit, where the quantum program is not executable on a quantum execution platform; compiling a first portion of the quantum program to generate a first quantum circuit that is executable on the quantum execution platform; providing the first quantum circuit to the quantum execution platform to be executed thereby; compiling a second portion of the quantum program to generate a second quantum circuit that is executable on the quantum execution platform, where the first and second portions of the quantum program are disjoint non-overlapping portions of the quantum program; and providing the second quantum circuit to the quantum execution platform to be executed thereby, thereby performing an iterative compilation and execution of the quantum program.
G06N 10/20 - Modèles d’informatique quantique, p. ex. circuits quantiques ou ordinateurs quantiques universels
G06N 10/80 - Programmation quantique, p. ex. interfaces, langages ou boîtes à outils de développement logiciel pour la création ou la manipulation de programmes capables de fonctionner sur des ordinateurs quantiquesPlate-formes pour la simulation ou l’accès aux ordinateurs quantiques, p. ex. informatique quantique en nuage
A method, apparatus and product for executing a quantum circuit by a quantum execution platform, comprising: obtaining the quantum circuit, the quantum circuit comprises first and second qubit allocation instructions, the first qubit allocation instruction instructing to obtain a first set of qubits at an initial cycle, the second qubit allocation instruction instructing to obtain a second set of qubits at an intermediate cycle ordered after the initial cycle; performing an execution of cycles of the quantum circuit, said performing comprises allocating, for the initial cycle, qubits from a qubit pool to be utilized by the quantum circuit, the qubits corresponding to the first set of qubits; and in response to the execution reaching the intermediate cycle, dynamically allocating at least one additional qubit from the qubit pool to be utilized by the quantum circuit, the at least one additional qubit corresponding to the second set of qubits.
G06N 10/40 - Réalisations ou architectures physiques de processeurs ou de composants quantiques pour la manipulation de qubits, p. ex. couplage ou commande de qubit
G06F 9/38 - Exécution simultanée d'instructions, p. ex. pipeline ou lecture en mémoire
G06N 10/20 - Modèles d’informatique quantique, p. ex. circuits quantiques ou ordinateurs quantiques universels
G06N 10/70 - Correction, détection ou prévention d’erreur quantique, p. ex. codes de surface ou distillation d’état magique
A method, apparatus and product for executing a quantum circuit by a quantum execution platform, comprising: obtaining the quantum circuit, the quantum circuit comprises first and second qubit allocation instructions, the first qubit allocation instruction instructing to obtain a first set of qubits at an initial cycle, the second qubit allocation instruction instructing to obtain a second set of qubits at an intermediate cycle ordered after the initial cycle; performing an execution of cycles of the quantum circuit, said performing comprises allocating, for the initial cycle, qubits from a qubit pool to be utilized by the quantum circuit, the qubits corresponding to the first set of qubits; and in response to the execution reaching the intermediate cycle, dynamically allocating at least one additional qubit from the qubit pool to be utilized by the quantum circuit, the at least one additional qubit corresponding to the second set of qubits.
G06N 10/40 - Réalisations ou architectures physiques de processeurs ou de composants quantiques pour la manipulation de qubits, p. ex. couplage ou commande de qubit
G06F 9/38 - Exécution simultanée d'instructions, p. ex. pipeline ou lecture en mémoire
G06N 10/20 - Modèles d’informatique quantique, p. ex. circuits quantiques ou ordinateurs quantiques universels
G06N 10/70 - Correction, détection ou prévention d’erreur quantique, p. ex. codes de surface ou distillation d’état magique
A method, apparatus and product for executing a quantum circuit by a quantum execution platform, comprising: obtaining the quantum circuit, the quantum circuit comprises first and second qubit allocation instructions, the first qubit allocation instruction instructing to obtain a first set of qubits at an initial cycle, the second qubit allocation instruction instructing to obtain a second set of qubits at an intermediate cycle ordered after the initial cycle; performing an execution of cycles of the quantum circuit, said performing comprises allocating, for the initial cycle, qubits from a qubit pool to be utilized by the quantum circuit, the qubits corresponding to the first set of qubits; and in response to the execution reaching the intermediate cycle, dynamically allocating at least one additional qubit from the qubit pool to be utilized by the quantum circuit, the at least one additional qubit corresponding to the second set of qubits.
G06N 10/60 - Algorithmes quantiques, p. ex. fondés sur l'optimisation quantique ou les transformées quantiques de Fourier ou de Hadamard
G06N 10/80 - Programmation quantique, p. ex. interfaces, langages ou boîtes à outils de développement logiciel pour la création ou la manipulation de programmes capables de fonctionner sur des ordinateurs quantiquesPlate-formes pour la simulation ou l’accès aux ordinateurs quantiques, p. ex. informatique quantique en nuage
G06N 10/00 - Informatique quantique, c.-à-d. traitement de l’information fondé sur des phénomènes de mécanique quantique
19.
QUANTUM PROGRAM COMPILATION IN A QUANTUM OPERATING SYSTEM
A method, apparatus and product includes dynamically selecting a distribution of a compilation process of a quantum program between a first software compiler and a second software compiler, the selecting including selecting to perform a first set of computations of the compilation process at the first software compiler, and to perform a second set of computations of the compilation process at the second software compiler; generating, at the first software compiler, an intermediate-level data structure based on the quantum program by performing the first set of computations; providing the intermediate-level data structure from the first software compiler to the second software compiler; generating, by the second software compiler, a quantum circuit implementing the intermediate-level data structure by performing the second set of computations; and providing the quantum circuit to a quantum execution platform for execution thereby.
G06N 10/20 - Modèles d’informatique quantique, p. ex. circuits quantiques ou ordinateurs quantiques universels
G06N 10/40 - Réalisations ou architectures physiques de processeurs ou de composants quantiques pour la manipulation de qubits, p. ex. couplage ou commande de qubit
G06N 10/80 - Programmation quantique, p. ex. interfaces, langages ou boîtes à outils de développement logiciel pour la création ou la manipulation de programmes capables de fonctionner sur des ordinateurs quantiquesPlate-formes pour la simulation ou l’accès aux ordinateurs quantiques, p. ex. informatique quantique en nuage
A method, apparatus and product comprising: generating, by a first software compiler, an intermediate-level data structure based on a quantum program, the intermediate-level data structure is a Directed Acyclic Graph (DAG) that is a non-executable representation of the quantum program; initiating a first execution of the quantum program at the quantum execution platform by: obtaining, at a second software compiler, first real-time constraints on an availability of resources of the quantum execution platform for the first execution; generating, based on the first real-time constraints, a first quantum circuit that implements the DAG; and providing the first quantum circuit to the quantum execution platform to be executed thereon; and initiating a second execution of the quantum program at the quantum execution platform by: obtaining second real-time constraints on an availability of resources; generating a second quantum circuit; and providing the second quantum circuit to the quantum execution platform.
G06N 10/80 - Programmation quantique, p. ex. interfaces, langages ou boîtes à outils de développement logiciel pour la création ou la manipulation de programmes capables de fonctionner sur des ordinateurs quantiquesPlate-formes pour la simulation ou l’accès aux ordinateurs quantiques, p. ex. informatique quantique en nuage
21.
EFFICIENT HAMILTONIAN EXPONENTIATION IN A QUANTUM CIRCUIT
A method, apparatus, and computer product comprising: obtaining a multitree data structure that represents a plurality of ordered Pauli-terms, the plurality of ordered Pauli-terms representing an exponentiation module, wherein implementing a Pauli-term in a quantum circuit requires to implement a basis change stage and a parity summation stage, the multitree data structure comprises root nodes representing the plurality of Pauli-terms, leaf nodes representing qubits, and a non-leaf node; converting the multitree data structure to an ordered binary multitree that comprises an additional node; and synthesizing the quantum circuit based on the ordered binary multitree, whereby the quantum circuit comprises an implementation of the parity summation stage and an implementation of the basis change stage, whereby the quantum circuit implements at least one cancellation of a given CX gate of the parity summation stage.
A method, apparatus, and computer product comprising: obtaining a multitree data structure that represents a plurality of ordered Pauli-terms, the plurality of ordered Pauli-terms representing an exponentiation module, wherein implementing a Pauli- term in a quantum circuit requires to implement a basis change stage and a parity summation stage, the multitree data structure comprises root nodes representing the plurality of Pauli-terms, leaf nodes representing qubits, and a non-leaf node; converting the multitree data structure to an ordered binary multitree that comprises an additional node; and synthesizing the quantum circuit based on the ordered binary multitree, whereby the quantum circuit comprises an implementation of the parity summation stage and an implementation of the basis change stage, whereby the quantum circuit implements at least one cancellation of a given CX gate of the parity summation stage.
G06N 10/80 - Programmation quantique, p. ex. interfaces, langages ou boîtes à outils de développement logiciel pour la création ou la manipulation de programmes capables de fonctionner sur des ordinateurs quantiquesPlate-formes pour la simulation ou l’accès aux ordinateurs quantiques, p. ex. informatique quantique en nuage
G06N 10/60 - Algorithmes quantiques, p. ex. fondés sur l'optimisation quantique ou les transformées quantiques de Fourier ou de Hadamard
G06N 10/20 - Modèles d’informatique quantique, p. ex. circuits quantiques ou ordinateurs quantiques universels
23.
OPTIMAL QUANTUM FUNCTION IMPLEMENTATIONS BASED ON FUNCTION INPUTS
Method, computer program products and apparatuses for preconditional implementation swaps between quantum functions in order to improving a target optimization metric when executing the modified quantum circuit. A quantum circuit comprising a quantum function configured to receive input qubits and perform a manipulation thereon is obtained with input conditions on at least a portion of the input qubits, that are guaranteed to be met when the quantum function is utilized by the quantum circuit. A set of equivalent quantum functions that are equivalent to the quantum function under the input conditions is determined, such as using an equivalences graph representing equivalent functions under various input conditions. An optimized quantum function is selected from the set based on a target optimization metric. A modified improved quantum circuit is generated by replacing the quantum function with the optimized quantum function.
G06N 10/20 - Modèles d’informatique quantique, p. ex. circuits quantiques ou ordinateurs quantiques universels
G06N 10/80 - Programmation quantique, p. ex. interfaces, langages ou boîtes à outils de développement logiciel pour la création ou la manipulation de programmes capables de fonctionner sur des ordinateurs quantiquesPlate-formes pour la simulation ou l’accès aux ordinateurs quantiques, p. ex. informatique quantique en nuage
24.
DATA STRUCTURE FOR EFFICIENT REPRESENTATION OF PAULI-TERMS SEQUENCES
A method, apparatus, and computer product for constructing a multitree data structure, comprising: obtaining Pauli-terms that are associated with qubits, each Pauli-term defines at least one active qubit, the Pauli-terms are ordered according to a defined order; generating an auxiliary graph that represents the Pauli-terms, the auxiliary graph comprising graph nodes that represent the Pauli-terms, the graph nodes are ordered consecutively according to the defined order, an interface between first and second consecutive graph nodes represents a set of active qubits that is active in first and second Pauli-terms, the first and second Pauli-terms are represented by the first and second consecutive graph nodes; and generating the multitree data structure based on the auxiliary graph.
A method, apparatus, and computer product for scheduling Pauli-terms by selecting an order for the Pauli-terms, comprising: obtaining first and second ordered sets of Pauli-terms; obtaining first and second multitree data structures representing the first and second ordered sets, respectively; and determining whether or not the first and second ordered sets should be concatenated by: generating a third multitree data structure that represents all Pauli-terms of the first and second ordered sets; calculating a difference between a resource utilization score of the third multitree data structure and between resource utilization scores of the first and second multitree data structures; and based on the difference, determining whether or not the first and second ordered sets should be concatenated.
A method, apparatus and product comprising: obtaining a Directed Cycle Graph (DAG) representation of a quantum program, the DAG representation comprises at least one non-executable node that represents a functionality in a high-level representation; generating a Constraint Satisfaction Problem (CSP) model of the DAG representation; generating a partial DAG representation of the quantum program based on the DAG representation, the partial DAG representation comprising at least a first executable node and a second non-executable node, said generating comprising selecting the first executable node and the second non-executable node as implementations of the at least one non-executable node; and synthesizing the quantum program based on the partial DAG representation.
G06N 10/20 - Modèles d’informatique quantique, p. ex. circuits quantiques ou ordinateurs quantiques universels
G06F 30/27 - Optimisation, vérification ou simulation de l’objet conçu utilisant l’apprentissage automatique, p. ex. l’intelligence artificielle, les réseaux neuronaux, les machines à support de vecteur [MSV] ou l’apprentissage d’un modèle
A method, a computerized apparatus, and a computer program product for automatic quantum circuit control skips. The method comprises obtaining a controlled sequence of quantum operations defining a complete order with at least two computation-uncomputation pairs of operations separated by a sub-sequence of one or more quantum operations. Computation-uncomputation pairs to be reduced are selected based on an optimization of a score of the reduced control sequence in comparison to a score of an alternative reduced control sequence in which the pairs are not reduced, in accordance with a score of each operation in a respective quantum circuit control. A reduced control sequence with a reduced number of controls is obtained by excluding a selected computation-uncomputation pairs of operations.
G06N 10/40 - Réalisations ou architectures physiques de processeurs ou de composants quantiques pour la manipulation de qubits, p. ex. couplage ou commande de qubit
A method, apparatus and product comprising: obtaining a logical representation of a quantum circuit, wherein the logical representation comprises a plurality of logical qubits manipulated by a plurality of logical gates; and generating a physical representation of the quantum circuit, the physical representation is configured to allocate a set of physical qubits of a quantum computer to the plurality of logical qubits in order to implement error correction operations The generating includes selecting a first quantity of physical qubits from the set of physical qubits for a first separate section of the quantum circuit; selecting a second quantity of physical qubits from the set of physical qubits for a second separate section of the quantum circuit, and synthesizing the quantum circuit using the first and second quantities for the first and second separate sections.
A method, system, and product, the method including obtaining quantum state data from a simulation of a portion of a quantum circuit. The portion of the quantum circuit is configured to prepare input values on input qubits of the quantum circuit. The portion of the quantum circuit is configured to produce an output value based on a manipulation of the input qubits when having the input values, with the quantum state data including the input values and the output value. The method further includes, based on the quantum state data, determining a modification of the quantum circuit. Based on the determining of the modification of the quantum circuit, the method generates a modified quantum circuit that is configured to produce the output value. The method then includes executing the modified quantum circuit on a quantum computer.
A method, apparatus and product comprising: generating, by a first software compiler, an intermediate-level data structure based on a quantum program, the intermediate-level data structure is a Directed Acyclic Graph (DAG) that is a non-executable representation of the quantum program; initiating a first execution of the quantum program at the quantum execution platform by: obtaining, at a second software compiler, first real-time constraints on an availability of resources of the quantum execution platform for the first execution; generating, based on the first real-time constraints, a first quantum circuit that implements the DAG; and providing the first quantum circuit to the quantum execution platform to be executed thereon; and initiating a second execution of the quantum program at the quantum execution platform by: obtaining second real-time constraints on an availability of resources; generating a second quantum circuit; and providing the second quantum circuit to the quantum execution platform.
G06N 10/80 - Programmation quantique, p. ex. interfaces, langages ou boîtes à outils de développement logiciel pour la création ou la manipulation de programmes capables de fonctionner sur des ordinateurs quantiquesPlate-formes pour la simulation ou l’accès aux ordinateurs quantiques, p. ex. informatique quantique en nuage
31.
CLASSICAL PREPROCESSING FOR EFFICIENT STATE PREPARATION IN QUANTUM COMPUTERS
A method, apparatus, and product comprising: computing, using a classical computer, a modified quantum state based on an application of a transformation on an initial quantum state, the initial quantum state is associated with one or more qubits, a quantum circuit comprising the one or more qubits, and an original sub-circuit that is configured to set the initial quantum state on the one or more qubits; and generating a modified quantum circuit that comprises a modified sub-circuit, the modified sub-circuit is configured to set the modified quantum state on the one or more qubits of the modified quantum circuit during one or more cycles of the modified quantum circuit, wherein the modified sub-circuit is configured to apply an inverse transformation on the modified quantum state of the one or more qubits at one or more subsequent cycles.
A method, apparatus, and product comprising: computing, using a classical computer, a modified quantum state based on an application of a transformation on an initial quantum state, the initial quantum state is associated with one or more qubits, a quantum circuit comprising the one or more qubits, and an original sub-circuit that is configured to set the initial quantum state on the one or more qubits; and generating a modified quantum circuit that comprises a modified sub-circuit, the modified sub-circuit is configured to set the modified quantum state on the one or more qubits of the modified quantum circuit during one or more cycles of the modified quantum circuit, wherein the modified sub-circuit is configured to apply an inverse transformation on the modified quantum state of the one or more qubits at one or more subsequent cycles.
G06N 10/20 - Modèles d’informatique quantique, p. ex. circuits quantiques ou ordinateurs quantiques universels
G06F 9/50 - Allocation de ressources, p. ex. de l'unité centrale de traitement [UCT]
G06N 10/40 - Réalisations ou architectures physiques de processeurs ou de composants quantiques pour la manipulation de qubits, p. ex. couplage ou commande de qubit
A method, apparatus, and product comprising: obtaining an indication of an execution task, the execution task comprises executing a quantum program a number of times, the number of times is larger than two times; and selecting a quantum computer from a set of two or more quantum computers for performing the execution task, the set of two or more quantum computers comprise a first quantum computer and a second quantum computer, said selecting the quantum computer is performed based on a first value of a performance parameter that is associated with the first quantum computer and based on a second value of the performance parameter that is associated with the second quantum computer.
G06N 10/80 - Programmation quantique, p. ex. interfaces, langages ou boîtes à outils de développement logiciel pour la création ou la manipulation de programmes capables de fonctionner sur des ordinateurs quantiquesPlate-formes pour la simulation ou l’accès aux ordinateurs quantiques, p. ex. informatique quantique en nuage
G06N 10/00 - Informatique quantique, c.-à-d. traitement de l’information fondé sur des phénomènes de mécanique quantique
G06F 9/50 - Allocation de ressources, p. ex. de l'unité centrale de traitement [UCT]
A method, product and apparatus comprising: obtaining an indication of an execution task to be performed by a quantum computer, wherein the execution task comprises executing, by the quantum computer, a quantum program for a number of times that is larger than two times; obtaining a graph comprising nodes that are connected by edges, the graph represents a gate-level implementation of the quantum program, the graph depicts quantum restrictions of the quantum program; and packing multiple graphs according to the quantum restrictions to synthesize a joint circuit, the joint circuit is configured, when executed by the quantum computer, to implement the execution task, the multiple graphs comprise at least one instance of the graph, the one instance of the graph represents a single execution of the quantum program, whereby execution of the joint circuit implements execution of the quantum program for the number of times.
G06N 10/80 - Programmation quantique, p. ex. interfaces, langages ou boîtes à outils de développement logiciel pour la création ou la manipulation de programmes capables de fonctionner sur des ordinateurs quantiquesPlate-formes pour la simulation ou l’accès aux ordinateurs quantiques, p. ex. informatique quantique en nuage
G06N 10/00 - Informatique quantique, c.-à-d. traitement de l’information fondé sur des phénomènes de mécanique quantique
A method, system, and product for performance analysis of quantum programs. A quantum program comprises plurality of code artifacts and is compilable into a quantum circuit. A representation of the quantum circuit that implements the quantum program is obtained. The quantum circuit manipulates a plurality of qubits over a plurality of cycles using a plurality of quantum gates. The representation of the quantum circuit includes circuit components. A performance measurement of a code artifact of the quantum program is automatically computed based on one or more circuit components that are mapped to the code artifact by a component to code mapping. The component to code mapping maps circuit components of the representation to the quantum circuit to respective code artifacts of the quantum program.
G06N 10/80 - Programmation quantique, p. ex. interfaces, langages ou boîtes à outils de développement logiciel pour la création ou la manipulation de programmes capables de fonctionner sur des ordinateurs quantiquesPlate-formes pour la simulation ou l’accès aux ordinateurs quantiques, p. ex. informatique quantique en nuage
A method, system, and product for performance analysis of quantum programs. A quantum program comprises plurality of code artifacts and is compilable into a quantum circuit. A representation of the quantum circuit that implements the quantum program is obtained. The quantum circuit manipulates a plurality of qubits over a plurality of cycles using a plurality of quantum gates. The representation of the quantum circuit includes circuit components. A performance measurement of a code artifact of the quantum program is automatically computed based on one or more circuit components that are mapped to the code artifact by a component to code mapping. The component to code mapping maps circuit components of the representation to the quantum circuit to respective code artifacts of the quantum program.
G06N 10/80 - Programmation quantique, p. ex. interfaces, langages ou boîtes à outils de développement logiciel pour la création ou la manipulation de programmes capables de fonctionner sur des ordinateurs quantiquesPlate-formes pour la simulation ou l’accès aux ordinateurs quantiques, p. ex. informatique quantique en nuage
G06N 10/00 - Informatique quantique, c.-à-d. traitement de l’information fondé sur des phénomènes de mécanique quantique
A method, apparatus, and product comprising: obtaining a representation of a quantum circuit; determining that a qubit is a candidate auxiliary qubit by estimating that a state of the qubit at a first cycle is identical to a state of the qubit at a second cycle; identifying a function section in the quantum circuit based on the qubit, the function section commencing at a beginning cycle, the beginning cycle is ordered before the second cycle, the function section ending at an ending cycle, the ending cycle is ordered after the first cycle, the ending cycle is ordered after the commencing cycle, the function section utilizing the qubit as an auxiliary qubit; and outputting an indication of the function section.
G06N 10/40 - Réalisations ou architectures physiques de processeurs ou de composants quantiques pour la manipulation de qubits, p. ex. couplage ou commande de qubit
38.
GENERATING A GRAPHICAL REPRESENTATION OF A QUANTUM CIRCUIT
A method, apparatus, and product includes obtaining a representation of a quantum circuit that is configured to manipulate a plurality of qubits over a plurality of cycles where the representation defines a first order of the plurality of qubits. A second order of the plurality of qubits is determined that is different from the first order of the plurality of qubits, wherein said determining the second order is based on an objective function that is configured to provide scores based on respective lengths of circuit components in graphical representations of the quantum circuit. A graphical representation of the quantum circuit is generated that displays the plurality of qubits in accordance with the second order, and the graphical representation is displayed.
G06N 10/20 - Modèles d’informatique quantique, p. ex. circuits quantiques ou ordinateurs quantiques universels
G06N 10/80 - Programmation quantique, p. ex. interfaces, langages ou boîtes à outils de développement logiciel pour la création ou la manipulation de programmes capables de fonctionner sur des ordinateurs quantiquesPlate-formes pour la simulation ou l’accès aux ordinateurs quantiques, p. ex. informatique quantique en nuage
39.
GENERATING A GRAPHICAL REPRESENTATION OF A QUANTUM CIRCUIT
A method, apparatus, and product comprising: obtaining a representation of a quantum circuit that is configured to manipulate a plurality of qubits over a plurality of cycles, the representation defining a first order of the plurality of qubits; determining a second order of the plurality of qubits that is different from the first order of the plurality of qubits, wherein said determining the second order is based on an objective function that is configured to provide scores based on respective lengths of circuit components in graphical representations of the quantum circuit; generating a graphical representation of the quantum circuit that displays the plurality of qubits in accordance with the second order; and displaying the graphical representation.
G06N 10/80 - Programmation quantique, p. ex. interfaces, langages ou boîtes à outils de développement logiciel pour la création ou la manipulation de programmes capables de fonctionner sur des ordinateurs quantiquesPlate-formes pour la simulation ou l’accès aux ordinateurs quantiques, p. ex. informatique quantique en nuage
G06N 10/00 - Informatique quantique, c.-à-d. traitement de l’information fondé sur des phénomènes de mécanique quantique
G06N 10/20 - Modèles d’informatique quantique, p. ex. circuits quantiques ou ordinateurs quantiques universels
G06F 3/0484 - Techniques d’interaction fondées sur les interfaces utilisateur graphiques [GUI] pour la commande de fonctions ou d’opérations spécifiques, p. ex. sélection ou transformation d’un objet, d’une image ou d’un élément de texte affiché, détermination d’une valeur de paramètre ou sélection d’une plage de valeurs
G06T 11/20 - Traçage à partir d'éléments de base, p. ex. de lignes ou de cercles
A method, apparatus and product including obtaining a representation of a quantum circuit that manipulates a plurality of qubits over a plurality of cycles, wherein role indications of the plurality of qubits are not available; and detecting one or more robust qubits in the plurality of qubits. Each qubit of the one or more robust qubits comprises a dirty auxiliary qubit that is robust to quantum states of remaining qubits from the plurality of qubits. The detecting includes applying one or more initial states to the plurality of qubits using one or more quantum state setters, simulating the quantum circuit using a simulator, and inspecting states of the plurality of qubits from said simulating.
A method, apparatus and product including obtaining a representation of a quantum circuit that manipulates a plurality of qubits over a plurality of cycles, wherein role indications of the plurality of qubits are not available; and detecting one or more robust qubits in the plurality of qubits. Each qubit of the one or more robust qubits comprises a dirty auxiliary qubit that is robust to quantum states of remaining qubits from the plurality of qubits. The detecting includes applying one or more initial states to the plurality of qubits using one or more quantum state setters, simulating the quantum circuit using a simulator, and inspecting states of the plurality of qubits from said simulating.
A method, apparatus and product comprising: obtaining a representation of a quantum circuit, wherein the quantum circuit manipulates a plurality of qubits over a plurality of cycles, wherein role indications of the plurality of qubits are not available; and detecting one or more robust qubits in the plurality of qubits, wherein each qubit of the one or more robust qubits comprises a dirty auxiliary qubit that is robust to quantum states of remaining qubits from the plurality of qubits, wherein said detecting comprises: applying one or more initial states to the plurality of qubits using one or more quantum state setters, simulating the quantum circuit using a simulator, and inspecting states of the plurality of qubits from said simulating.
G06F 30/327 - Synthèse logiqueSynthèse de comportement, p. ex. logique de correspondance, langage de description de matériel [HDL] à liste d’interconnections [Netlist], langage de haut niveau à langage de transfert entre registres [RTL] ou liste d’interconnections [Netlist]
A method, apparatus and product includes obtaining a logical representation of a quantum circuit; modifying the quantum circuit to transfer a gate operation defined in a first cycle to be performed in a second cycle, thereby obtaining a modified quantum circuit, wherein said modifying does not change a functionality of the quantum circuit, and synthesizing the modified quantum circuit using a dynamic error correction scheme. The dynamic error correction scheme implements error correction operations using a first assignment of first physical qubits to a logical qubit for a first set of cycles and using a second assignment of second physical qubits to the logical qubit for a second set of cycles, wherein the first set of cycles comprises the first cycle, and the second set of cycles comprises the second cycle.
G06N 10/20 - Modèles d’informatique quantique, p. ex. circuits quantiques ou ordinateurs quantiques universels
G06N 10/70 - Correction, détection ou prévention d’erreur quantique, p. ex. codes de surface ou distillation d’état magique
G06N 10/40 - Réalisations ou architectures physiques de processeurs ou de composants quantiques pour la manipulation de qubits, p. ex. couplage ou commande de qubit
44.
SELECTING PHYSICAL QUBITS FOR QUANTUM ERROR CORRECTION SCHEMES
A method, apparatus and product comprising: obtaining a logical representation of a quantum circuit; selecting a quantity of physical qubits for a physical representation of the quantum circuit, wherein said selecting the quantity is based on a utility per-qubit metric that is used to define a utility per-qubit score of the quantum circuit, wherein the utility per-qubit score is determined based on a ratio between a quality score of the quantum circuit when using the quantity of physical qubits and between a cost function of the quantum circuit, wherein the quality score is defined by a quality metric that is monotonically correlated to error rates of logical output qubits; and synthesizing the quantum circuit using the quantity of the physical qubits that was selected.
G06N 10/70 - Correction, détection ou prévention d’erreur quantique, p. ex. codes de surface ou distillation d’état magique
G06N 10/40 - Réalisations ou architectures physiques de processeurs ou de composants quantiques pour la manipulation de qubits, p. ex. couplage ou commande de qubit
45.
CONTROLLED PROPAGATION OF INPUT VALUES IN QUANTUM COMPUTING
A method, product and apparatus for controlled propagation of input values in quantum computing. The method comprises obtaining a quantum program to be compiled. The quantum program has a first input qubit having a first value and a second input qubit having a second value. The method comprises identifying an intermediate cycle after which the first input qubit is not used in the quantum program, synthesizing a transformative quantum program that is applicable on a qubit being processed based on the first value and based on the second value; and updating the quantum program which comprises: modifying the quantum program to perform the transformative quantum program on the first input qubit at the intermediate cycle; and causing the quantum program to utilize the first input qubit instead of the second input qubit.
A method, product and apparatus for controlled propagation of input values in quantum computing. The method comprises obtaining a quantum program to be compiled. The quantum program has a first input qubit having a first value and a second input qubit having a second value. The method comprises identifying an intermediate cycle after which the first input qubit is not used in the quantum program, synthesizing a transformative quantum program that is applicable on a qubit being processed based on the first value and based on the second value; and updating the quantum program which comprises: modifying the quantum program to perform the transformative quantum program on the first input qubit at the intermediate cycle; and causing the quantum program to utilize the first input qubit instead of the second input qubit.
An apparatus, product and method includes partially compiling a quantum circuit from an initial cycle and until one or more intermediate cycles. A partial executable quantum circuit and measurements regarding a group of candidate auxiliary qubits are obtained by executing the partial executable quantum circuit multiple times and classifying the group of candidate auxiliary qubits to a qubit class with respect to a target group of qubits. The qubit class indicates that the group of candidate auxiliary qubits is not entangled with the target group. The quantum circuit is modified to apply a cleaning process on the group of candidate auxiliary qubits, whereby a modified quantum circuit is obtained. The modified quantum circuit is compiled thus obtaining an executable quantum circuit.
An apparatus, product and method comprising: partially compiling a quantum circuit from an initial cycle and until one or more intermediate cycles, whereby obtaining a partial executable quantum circuit; obtaining measurements regarding a group of candidate auxiliary qubits by executing the partial executable quantum circuit multiple times; classifying the group of candidate auxiliary qubits to a qubit class with respect to a target group of qubits, wherein the qubit class indicates that the group of candidate auxiliary qubits is not entangled with the target group; modifying the quantum circuit to apply a cleaning process on the group of candidate auxiliary qubits, whereby obtaining a modified quantum circuit; and compiling the modifying quantum circuit, thereby obtaining an executable quantum circuit.
G06N 10/80 - Programmation quantique, p. ex. interfaces, langages ou boîtes à outils de développement logiciel pour la création ou la manipulation de programmes capables de fonctionner sur des ordinateurs quantiquesPlate-formes pour la simulation ou l’accès aux ordinateurs quantiques, p. ex. informatique quantique en nuage
G06N 10/00 - Informatique quantique, c.-à-d. traitement de l’information fondé sur des phénomènes de mécanique quantique
Method, apparatus and product for modeling of quantum circuits and usages thereof. A method comprises obtaining a model of a quantum circuit that comprises a set of decision variables, corresponding domains, and constraints, wherein the set of decision variables comprise gate assignment decision variables that define an assignment of a gate to a qubit in a cycle in the quantum circuit. The method comprises automatically determining a set of valuations for the set of decision variables. The set of valuations are selected from the corresponding domains and satisfy the constraints. Based on the set of valuations the quantum circuit is synthesized.
G06F 30/327 - Synthèse logiqueSynthèse de comportement, p. ex. logique de correspondance, langage de description de matériel [HDL] à liste d’interconnections [Netlist], langage de haut niveau à langage de transfert entre registres [RTL] ou liste d’interconnections [Netlist]
A method, system and product comprising: obtaining a functional-level representation of a quantum circuit that comprises a functional block, wherein the functional block defines an operation of the quantum circuit over at least two cycles; selecting from a function library an implementation for the functional block, wherein the function library comprises a plurality of alternative implementations of the functional block, wherein each implementation of the plurality of alternative implementations is configured to provide a same functionality of the functional block and is applicable to a quantum computer to be used for executing the quantum circuit; and generating a gate-level representation of the quantum circuit that comprises the implementation for the functional block.
A method, system and product comprising: obtaining a gate-level representation of a quantum circuit, wherein the gate-level representation comprises a set of quantum gates defining operations on a set of qubits, wherein the gate-level representation comprises a gate-level implementation of a functional block of a functional-level representation of the quantum circuit, wherein the functional block defines an operation of the quantum circuit over at least two cycles; obtaining metadata from a functional-level processing component, wherein the metadata comprise an artifact associated with the gate-level implementation of the functional block; and compiling the gate-level representation of the quantum circuit, wherein said compiling is performed based on the metadata.
A method, system and product comprising: obtaining a functional-level representation of a quantum circuit that comprises a functional block, wherein the functional block defines an operation of the quantum circuit over at least two cycles; selecting from a function library an implementation for the functional block, wherein the function library comprises a plurality of alternative implementations of the functional block, wherein each implementation of the plurality of alternative implementations is configured to provide a same functionality of the functional block and is applicable to a quantum computer to be used for executing the quantum circuit; and generating a gate-level representation of the quantum circuit that comprises the implementation for the functional block.
A method, system and product for synthesizing a quantum circuit using Constraint Satisfaction Problem (CSP). A functional-level representation of a quantum circuit that includes a first functional blocks and a second functional block is obtained. The functional-level representation defines a relationship between the first functional block and the second functional block. A CSP that is determined based on the functional-level representation, is automatically solved. The CSP is solved by identifying a first and second implementations to the first and second functional blocks that adhere to the CSP. A gate-level representation of the quantum circuit is synthesized using the first and second implementations.
A method, apparatus, a product comprising: obtaining a propagator module of a quantum function of a quantum program, the propagator module is programmed using a classical programming language, the propagator module configured to obtain as input a first domain of values for a first circuit parameter and a second domain of values for a second circuit parameter, and to output first and second sub-domains of the first and second domains of values, respectively; obtaining constraints of the quantum function; obtaining an optimization scheme that is defined over the first and second circuit parameters; generating a constraint problem based on the propagator module, the constraints, and the optimization scheme; resolving the constraint problem based on a constraint solver, a resolution comprising at least first and second values for the first and second circuit parameter; and synthesizing the quantum function according to the resolution.
A method, system and product comprising: obtaining a functional-level representation of a quantum circuit that comprises a functional block; obtaining an indication of one or more resources that are available to the functional block, the indication regarding a range of cycles and an indication regarding a number of qubits; dynamically generating a gate-level implementation of the functional block that adheres to the indication of the one or more resources; and synthesizing a gate-level implementation of the quantum circuit, wherein the gate-level implementation of the quantum circuit comprises the gate-level implementation of the functional block.
A method, apparatus and product includes obtaining a logical representation of a quantum circuit that is implementable by a plurality of alternative physical representations of the quantum circuit, each of which implementing the logical representation with a different error correction scheme and defining error correction schemes for the quantum circuit. The defining error correction schemes includes implementing a search algorithm on the alternative physical representations, wherein the search algorithm is configured to search for a physical representation of the quantum circuit with an assignment of a plurality of physical qubits to a plurality of logical qubits that is defined in view of a quality score. A quality metric used to compute the quality score is monotonically correlated to error rates of logical output qubits of the quantum circuit when implementing each alternative physical representation. The assignment is utilized to define the error correction schemes for the quantum circuit.
G06N 10/70 - Correction, détection ou prévention d’erreur quantique, p. ex. codes de surface ou distillation d’état magique
G06N 10/40 - Réalisations ou architectures physiques de processeurs ou de composants quantiques pour la manipulation de qubits, p. ex. couplage ou commande de qubit
G06N 10/20 - Modèles d’informatique quantique, p. ex. circuits quantiques ou ordinateurs quantiques universels
A method, product and apparatus comprising: obtaining an indication of an execution task to be performed by a quantum computer, wherein the execution task comprises executing, by the quantum computer, a quantum program for a number of times that is larger than two times: obtaining a graph comprising nodes that are connected by edges, the graph represents a gate-level implementation of the quantum program, the graph depicts quantum restrictions of the quantum program; and packing multiple graphs according to the quantum restrictions to synthesize a joint circuit, the joint circuit is configured, when executed by the quantum computer, to implement the execution task, the multiple graphs comprise at least one instance of the graph, the one instance of the graph represents a single execution of the quantum program, whereby execution of the joint circuit implements execution of the quantum program for the number of times.
G06F 9/48 - Lancement de programmes Commutation de programmes, p. ex. par interruption
G06N 10/40 - Réalisations ou architectures physiques de processeurs ou de composants quantiques pour la manipulation de qubits, p. ex. couplage ou commande de qubit
A method, apparatus, and product comprising: obtaining an indication of an execution task, the execution task comprises executing a quantum program a number of times, the number of times is larger than two times; and selecting a quantum computer from a set of two or more quantum computers for performing the execution task, the set of two or more quantum computers comprise a first quantum computer and a second quantum computer, said selecting the quantum computer is performed based on a first value of a performance parameter that is associated with the first quantum computer and based on a second value of the performance parameter that is associated with the second quantum computer.
G06N 10/80 - Programmation quantique, p. ex. interfaces, langages ou boîtes à outils de développement logiciel pour la création ou la manipulation de programmes capables de fonctionner sur des ordinateurs quantiquesPlate-formes pour la simulation ou l’accès aux ordinateurs quantiques, p. ex. informatique quantique en nuage
G06N 10/20 - Modèles d’informatique quantique, p. ex. circuits quantiques ou ordinateurs quantiques universels
A method, product and apparatus of implemented controlled propagation in quantum computing. The method comprises obtaining an instruction to implemented a controlled propagation of a modified value of a qubit in a quantum program at a target cycle; determining an existing value of the qubit at the predetermined cycle in the quantum program; synthesizing a transformative quantum program based on the existing value and the modified value; and updating the quantum program to perform the transformative quantum program after the target cycle, whereby creating a modified quantum program implementing the instruction.
G06N 10/80 - Programmation quantique, p. ex. interfaces, langages ou boîtes à outils de développement logiciel pour la création ou la manipulation de programmes capables de fonctionner sur des ordinateurs quantiquesPlate-formes pour la simulation ou l’accès aux ordinateurs quantiques, p. ex. informatique quantique en nuage
G06N 10/60 - Algorithmes quantiques, p. ex. fondés sur l'optimisation quantique ou les transformées quantiques de Fourier ou de Hadamard
G06F 11/36 - Prévention d'erreurs par analyse, par débogage ou par test de logiciel
A method, system and product relating to quantum computing. The method comprises using a quantum computer to execute a quantum program a plurality of times, wherein during each execution of the quantum program: reaching an intermediate state, wherein the intermediate state is obtained prior to reaching the terminating cycle of the quantum program; and performing a measurement of a qubit at the intermediate state, whereby obtaining a plurality of measurements of the qubit at the intermediate state in a plurality of executions of the quantum program. The method further comprises determining a value of the qubit at the intermediate state based on the plurality of measurements obtained of the qubit at the intermediate state.
G06N 10/80 - Programmation quantique, p. ex. interfaces, langages ou boîtes à outils de développement logiciel pour la création ou la manipulation de programmes capables de fonctionner sur des ordinateurs quantiquesPlate-formes pour la simulation ou l’accès aux ordinateurs quantiques, p. ex. informatique quantique en nuage
G06N 10/60 - Algorithmes quantiques, p. ex. fondés sur l'optimisation quantique ou les transformées quantiques de Fourier ou de Hadamard
G06F 11/36 - Prévention d'erreurs par analyse, par débogage ou par test de logiciel
A method, product and apparatus for efficient execution of a quantum program. The method comprises: determining a target qubit of a quantum program and a target cycle, wherein the quantum program is configured to manipulate a set of qubits, including the target qubit, using a set of quantum gates, wherein the quantum program is defined to use a predetermined number of gates; performing an impact analysis of the quantum program with respect to a value of the target qubit at the target cycle to identify a gate that does not impact the value of the target qubit at the target cycle; modifying the quantum program based on the impact analysis by removing the gate, whereby determining a modified quantum program, wherein the modified quantum program is defined to use a number of gates that is smaller than the predetermined number of gates; and executing the modified quantum program.
G06N 10/80 - Programmation quantique, p. ex. interfaces, langages ou boîtes à outils de développement logiciel pour la création ou la manipulation de programmes capables de fonctionner sur des ordinateurs quantiquesPlate-formes pour la simulation ou l’accès aux ordinateurs quantiques, p. ex. informatique quantique en nuage
G06N 10/60 - Algorithmes quantiques, p. ex. fondés sur l'optimisation quantique ou les transformées quantiques de Fourier ou de Hadamard
G06F 11/36 - Prévention d'erreurs par analyse, par débogage ou par test de logiciel
A method, product and apparatus for efficient execution of a quantum program. The method comprises: determining a target qubit of a quantum program and a target cycle, wherein the quantum program is configured to manipulate a set of qubits, including the target qubit, using a set of quantum gates, wherein the quantum program is defined to use a predetermined number of gates; performing an impact analysis of the quantum program with respect to a value of the target qubit at the target cycle to identify a gate that does not impact the value of the target qubit at the target cycle; modifying the quantum program based on the impact analysis by removing the gate, whereby determining a modified quantum program, wherein the modified quantum program is defined to use a number of gates that is smaller than the predetermined number of gates; and executing the modified quantum program.
A method, system and product relating to quantum computing. The method comprises using a quantum computer to execute a quantum program a plurality of times, wherein during each execution of the quantum program: reaching an intermediate state, wherein the intermediate state is obtained prior to reaching the terminating cycle of the quantum program; and performing a measurement of a qubit at the intermediate state, whereby obtaining a plurality of measurements of the qubit at the intermediate state in a plurality of executions of the quantum program. The method further comprises determining a value of the qubit at the intermediate state based on the plurality of measurements obtained of the qubit at the intermediate state.
09 - Appareils et instruments scientifiques et électriques
42 - Services scientifiques, technologiques et industriels, recherche et conception
Produits et services
downloadable quantum computing software for operating quantum computers; downloadable quantum software development kits; downloadable computer software for creating quantum algorithms; downloadable computer software for quantum programming; downloadable computer operating system software for quantum computers; downloadable computer software for utilizing quantum computers; downloadable computer software for creating, analyzing and running quantum algorithms; downloadable computer software for creating, analyzing and running quantum programs; downloadable computer software for programming and running software on quantum computers software services, namely developing software for developing quantum computing software tools; software services, namely, developing quantum computer software; design and development of quantum computer software; maintenance and updating of software relating to quantum programming; maintenance and updating of software relating to quantum technology; scientific research consulting and technological consulting services relating to quantum computing; design and development of computer software relating to quantum programming; design and development of computer software relating to quantum technology; providing temporary use of online non-downloadable software development tools for quantum algorithms; providing temporary use of online non-downloadable software development tools for quantum programs; providing temporary use of online non-downloadable software for creating, analyzing and running programs for quantum algorithms; providing temporary use of online non-downloadable software for creating, analyzing and running programs for quantum computers; software as a service services featuring software for creating, analyzing and running programs for quantum algorithms; software as a service services featuring software for creating, analyzing and running programs for quantum computers
09 - Appareils et instruments scientifiques et électriques
42 - Services scientifiques, technologiques et industriels, recherche et conception
Produits et services
downloadable quantum computing software for operating quantum computers; downloadable quantum software development kits; downloadable computer software for creating quantum algorithms; downloadable computer software for quantum programming; downloadable computer operating system software for quantum computers; downloadable computer software for utilizing quantum computers; downloadable computer software for creating, analyzing and running quantum algorithms; downloadable computer software for creating, analyzing and running quantum programs; downloadable computer software for programming and running software on quantum computers software services, namely developing software for developing quantum computing software tools; software services, namely, developing quantum computer software; design and development of quantum computer software; maintenance and updating of software relating to quantum programming; maintenance and updating of software relating to quantum technology; scientific research consulting and technological consulting services relating to quantum computing; design and development of computer software relating to quantum programming; design and development of computer software relating to quantum technology; providing temporary use of online non-downloadable software development tools for quantum algorithms; providing temporary use of online non-downloadable software development tools for quantum programs; providing temporary use of online non-downloadable software for creating, analyzing and running programs for quantum algorithms; providing temporary use of online non-downloadable software for creating, analyzing and running programs for quantum computers; software as a service services featuring software for creating, analyzing and running programs for quantum algorithms; software as a service services featuring software for creating, analyzing and running programs for quantum computers
09 - Appareils et instruments scientifiques et électriques
42 - Services scientifiques, technologiques et industriels, recherche et conception
Produits et services
quantum computing software; quantum software development kits; downloadable computer software for quantum algorithms; downloadable computer software for quantum programming; downloadable computer operating system software for quantum computers; downloadable computer software for utilizing quantum computers downloadable computer software for creating, analyzing and running quantum algorithms; downloadable computer software for creating, analyzing and running quantum programs; downloadable computer software for programming and running software on quantum computers. software as a service, namely, development of tools for developing software for quantum computing; Software as a service, namely, developing quantum computer software design and development of quantum computer software; maintenance and updating of software relating to quantum programming; maintenance and updating of software relating to quantum technology; scientific and technological services relating to quantum computing; design and development of computer software relating to quantum programming; design and development of computer software relating to quantum technology; providing temporary use of online non-downloadable development tools for quantum algorithms; providing temporary use of online non-downloadable development tools for quantum programs; providing temporary use of online non-downloadable software for creating, analyzing and running programs for quantum algorithms; providing temporary use of online non-downloadable software for creating, analyzing and running programs for quantum computers; software as a service [SaaS] featuring software for creating, analyzing and running programs for quantum algorithms; software as a service [SaaS] featuring software for creating, analyzing and running programs for quantum computers.
09 - Appareils et instruments scientifiques et électriques
42 - Services scientifiques, technologiques et industriels, recherche et conception
Produits et services
Quantum computing software; quantum software development kits, being a set of software tools to optimize quantum programming; downloadable computer software for quantum algorithms; downloadable computer software for quantum programming; downloadable computer operating system software for quantum computers; downloadable computer software for utilizing quantum computers downloadable computer software for creating, analyzing and running quantum algorithms; downloadable computer software for creating, analyzing and running quantum programs; downloadable computer software for programming and running software on quantum computers. Software as a service, namely, development of tools for developing software for quantum computing; Software as a service, namely, developing quantum computer software design and development of quantum computer software; maintenance and updating of software relating to quantum programming; maintenance and updating of software relating to quantum technology; scientific and technological services relating to quantum computing; design and development of computer software relating to quantum programming; design and development of computer software relating to quantum technology; providing temporary use of online non-downloadable development tools for quantum algorithms; providing temporary use of online non-downloadable development tools for quantum programs; providing temporary use of online non-downloadable software for creating, analyzing and running programs for quantum algorithms; providing temporary use of online non-downloadable software for creating, analyzing and running programs for quantum computers; software as a service [SaaS] featuring software for creating, analyzing and running programs for quantum algorithms; software as a service [SaaS] featuring software for creating, analyzing and running programs for quantum computers.
A method, product and apparatus of implemented controlled propagation in quantum computing. The method includes obtaining an instruction to implement a controlled propagation of a modified value of a qubit in a quantum program at a target cycle; determining an existing value of the qubit at the target cycle in the quantum program; synthesizing a transformative quantum program based on the existing value and the modified value; and updating the quantum program to perform the transformative quantum program after the target cycle, whereby creating a modified quantum program implementing the instruction.
A method, apparatus and product includes obtaining a logical representation of a quantum circuit and selecting a quantity of physical qubits for a physical representation of the quantum circuit, wherein the selecting of the quantity is based on a utility per-qubit metric that is used to define a utility per-qubit score of the quantum circuit. The utility per-qubit score is determined based on a ratio between a quality score of the quantum circuit when using the quantity of physical qubits and between a cost function of the quantum circuit, wherein the quality score is defined by a quality metric that is monotonically correlated to error rates of logical output qubits. The quantum circuit is synthesized using the quantity of the physical qubits that was selected.
G06N 10/70 - Correction, détection ou prévention d’erreur quantique, p. ex. codes de surface ou distillation d’état magique
G06N 10/40 - Réalisations ou architectures physiques de processeurs ou de composants quantiques pour la manipulation de qubits, p. ex. couplage ou commande de qubit
Method, apparatus and product for modeling of quantum circuits and usages thereof. A method comprises obtaining a model of a quantum circuit that comprises a set of decision variables, corresponding domains, and constraints, wherein the set of decision variables comprise gate assignment decision variables that define an assignment of a gate to a qubit in a cycle in the quantum circuit. The method comprises automatically determining a set of valuations for the set of decision variables. The set of valuations are selected from the corresponding domains and satisfy the constraints. Based on the set of valuations the quantum circuit is synthesized.
G06N 10/20 - Modèles d’informatique quantique, p. ex. circuits quantiques ou ordinateurs quantiques universels
G06N 10/40 - Réalisations ou architectures physiques de processeurs ou de composants quantiques pour la manipulation de qubits, p. ex. couplage ou commande de qubit
Method, apparatus and product for modeling of quantum circuits and usages thereof. A method comprises obtaining a model of a quantum circuit that comprises a set of decision variables, corresponding domains, and constraints, wherein the set of decision variables comprise gate assignment decision variables that define an assignment of a gate to a qubit in a cycle in the quantum circuit. The method comprises automatically determining a set of valuations for the set of decision variables. The set of valuations are selected from the corresponding domains and satisfy the constraints. Based on the set of valuations the quantum circuit is synthesized.
A method, system and product comprising: obtaining a directed acyclic graph representing a quantum circuit, the directed acyclic graph comprising a set of blocks and connections therebetween, wherein a connection between a first block and a second block indicates passing an output value of a qubit outputted by the first block to be an input value of a qubit manipulated by the second block; determining a Constraint Satisfaction Problem (CSP) based on the directed acyclic graph, wherein the CSP comprises one or more constraints based on the connections defined by the directed acyclic graph; automatically solving the CSP, wherein said automatically solving comprises selecting an implementation to each block that adheres to the one or more constraints; and synthesizing a gate-level representation of the quantum circuit based on the solution to the CSP.
A method, system and product relating to quantum computing. The method comprises using a quantum computer to execute a quantum program a plurality of times, wherein during each execution of the quantum program: reaching an intermediate state, wherein the intermediate state is obtained prior to reaching the terminating cycle of the quantum program; and performing a measurement of a qubit at the intermediate state, whereby obtaining a plurality of measurements of the qubit at the intermediate state in a plurality of executions of the quantum program. The method further comprises determining a value of the qubit at the intermediate state based on the plurality of measurements obtained of the qubit at the intermediate state.
Method, apparatus and product for modeling of quantum circuits and usages thereof. A method includes obtaining a model of a quantum circuit that comprises a set of decision variables, corresponding domains, and constraints, wherein the set of decision variables comprise gate assignment decision variables that define an assignment of a gate to a qubit in a cycle in the quantum circuit. The method includes automatically determining a set of valuations for the set of decision variables. The set of valuations are selected from the corresponding domains and satisfy the constraints. Based on the set of valuations the quantum circuit is synthesized.
A method, system and product comprising: obtaining a functional-level representation of a quantum circuit that comprises a functional block; synthesizing a gate-level representation of the quantum circuit based on the functional-level representation of the quantum circuit, wherein the gate-level representation of the quantum circuit comprises a first sub-circuit and a second sub-circuit; providing the gate-level representation to a gate-level processing component; obtaining, from the gate-level processing component, a change indication indicating that the gate-level processing component modified the first sub-circuit, whereby determining a modified first sub-circuit; in response to the change indication, synthesizing a modified second sub-circuit based on a knowledge of an existence of the modified first sub-circuit.