WO2018172629A1 - Procédé de simulation, sur un ordinateur classique, d'un circuit quantique - Google Patents

Procédé de simulation, sur un ordinateur classique, d'un circuit quantique Download PDF

Info

Publication number
WO2018172629A1
WO2018172629A1 PCT/FR2018/000057 FR2018000057W WO2018172629A1 WO 2018172629 A1 WO2018172629 A1 WO 2018172629A1 FR 2018000057 W FR2018000057 W FR 2018000057W WO 2018172629 A1 WO2018172629 A1 WO 2018172629A1
Authority
WO
WIPO (PCT)
Prior art keywords
quantum
gate
qubits
vector
circuit
Prior art date
Application number
PCT/FR2018/000057
Other languages
English (en)
Inventor
Cyril Allouche
Minh Thien NGUYEN
Original Assignee
Bull Sas
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bull Sas filed Critical Bull Sas
Priority to CA3057734A priority Critical patent/CA3057734A1/fr
Priority to CN201880033603.8A priority patent/CN110709851A/zh
Priority to US16/497,004 priority patent/US11487923B2/en
Priority to EP18714301.1A priority patent/EP3602354A1/fr
Priority to JP2020501846A priority patent/JP2020515999A/ja
Publication of WO2018172629A1 publication Critical patent/WO2018172629A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking

Definitions

  • the invention relates to the field of computer science, and more specifically to the simulation of a quantum logic circuit by means of a conventionally structured computer - that is to say using processors comprising logic gates each consisting of a circuit of transistors that can be traversed by electron flows.
  • the design of a computer (which can be likened to a processor, the two terms being synonymous here) is generally based on a preliminary algorithmic simulation phase of its operation (that is to say the operation of the logic circuits which compose it) to predict in a general way the behavior and, more particularly, the results that the computer would provide at the end of the execution of a given program.
  • the operations are performed by combinations of elementary logic gates with transistors, which perform logic functions applied to input bits (of value 0 or 1) and whose results are bits output (value 0 or 1).
  • the logical functions NOT, AND, OR, NOR, NAND.
  • the output (that is, the result) of a program requiring n bits input can be modeled by a state vector with 2 n components, which represents the set of possible values of the output bits.
  • quantum computer In a quantum computer, it is the qubit (quantum bit contraction) which represents the elementary unit of storage of the information, by analogy with the bit which itself represents the elementary unit of storage of the information in a classic computer.
  • the value of a qubit is indeterminate because probabilistic.
  • qubit is a quantum system whose state is described by an ip wave function, denoted ⁇ ⁇ ) according to Dirac's bra-ket formalism, in a Hilbert space.
  • i />) is written as a linear combination of the possible values of the qubit:
  • a qubit can be represented by a point positioned on the surface of a so-called Bloch sphere (of radius 1), whose spherical coordinates are ⁇ (0 ⁇ ⁇ ) and ⁇ (0 ⁇ 2 ⁇ ).
  • the qubits are intended to be used in a manner analogous to the conventional bits, that is to say to be combined into a register of n qubits (n an integer) that can be processed. within a computer program.
  • n qubits The state of n qubits is described by a wave function ⁇ ⁇ ) generalized in a Hilbert space with 2 n dimensions:
  • ⁇ i represents the possible values (or base states) of classical bit combinations
  • coefficients t are the probability amplitudes of each value, normalized according to the following relationship:
  • the quantum computer is theoretically capable of simultaneously processing all possible states of the register, or 2 n .
  • the quantum computer naturally performs its calculations in parallel. It follows that the addition of a qubit multiplies by 2 the computing power of the computer, the latter being an exponential function of the size of the register.
  • the size of the register - and thus the number of states (characterizing each one information) of this one that can treat simultaneously the computer - is 2,330 ⁇ 10 90 , which corresponds to the estimated number of particles in our observable universe.
  • quantum computers are expected to solve problems that are currently insoluble by conventional computers because of the unreasonable computing capacity that would need to be mobilized - and computing time required.
  • Shor's quantum algorithm makes it possible - in theory - to solve the problem of the factorization of a natural integer N in a time whose order of magnitude is asymptotically algorithmic, that is to say (in notation called "big O” from Landau), of the order of 0 (log (N)) Shore's algorithm is based on the use of a quantum Fourier transform, whose efficiency is much higher than that of classical Fourier transforms.
  • a known modeling of a quantum logic circuit with n qubits consists in mathematically representing this circuit by a matrix (denoted U, called the operation matrix) of size 2 n ⁇ 2 n and which, applied to a initial state vector E of size 2 n , outputs a final state vector E ', also of size 2 n and matrix product of E by U:
  • n m the maximum number, denoted n m , of simulatable qubits is not greater than:
  • a known technique for limiting the memory capacity required for the calculation (or, with equivalent memory capacity, to increase the number n m of simulated qubits) consists in making an approximation of the operation matrix U by reducing its dimension by means of a so-called Schmidt decomposition, the methodology of which is described in particular in the reference work A. Nielsen & I. Chuang, Quantum Computation and Quantum Information, Cambridge University Press, 10th Anniversary Edition, 2010, p.109 et seq. In practice, however, if this approximation can provide acceptable results for some simple quantum circuits (eg for an AND-type logic gate), it is severely lacking in robustness for more complex circuits (eg for a circuit). of Quantum Fourier Transform).
  • phase of configuring the quantum circuit which comprises the operations of
  • o define the number n of qubits to be treated at the input of the quantum circuit model
  • an analysis phase of the thus configured quantum circuit model which comprises the operations of:
  • a) define a vector state of the n qubits at the input of the quantum circuit, which comprises a series of 2 n amplitude coefficients (i an integer, 0 ⁇ i ⁇ 2 n - 1) equal to 0 or 1, and such that:
  • each operator being 1 and determine his / trunk number and column number c (l and c integers such that 0 ⁇ l ⁇ 2 n, 0 ⁇ c ⁇ 2 and n ⁇ c) ;
  • L k such as:
  • This method makes it possible to simulate more efficiently (that is to say more quickly, and by mobilizing a lesser memory space) a quantum circuit, compared to known methods.
  • FIG. 1 is a diagrammatic representation of an example of a diagonal type of quantum logic gate associated with a state transition graph of qubits passing through this gate;
  • FIG. 2 is a diagrammatic representation of an example of a classical quantum logic gate associated with a state transition graph of qubits transiting through this gate;
  • FIG. 3 is a diagrammatic representation of an example of a dense type of quantum logic gate associated with a state transition graph of qubits passing through this gate;
  • FIG. 4 is a diagrammatic representation of an example of a quantum logic circuit comprising a series of quantum logic gates, associated with a graph of the qubit state transitions successively traversing these logic gates.
  • semiconductor integrated circuit computing processing unit refers to any processor (also called a microprocessor) comprising sets of transistors obtained according to conventional techniques for purification, etching, doping of semiconductor materials (such as silicon) and each capable of being crossed (or not, depending on the state of the transistor) by a flow of electric current that can be modeled by the laws classical physics (including Ohm's Law).
  • a transistor provides, at its output, a signal whose value, determined by the state of the transistor, is by convention equal to 0 or 1. This value is allocated to a bit numbering unit called bit, which is the base of the coding of conventional computers. known (and used) of the general public.
  • probability amplitudes are complex numbers each relating the probability of occurrence of the corresponding value (respectively
  • the wave function ⁇ ⁇ ) (or state) of the unit qubit can also be written in the form of a vector (column matrix):
  • ⁇ i) represents, in bra-ket notation (Dirac notation) and in binary, the possible values (or basic states) of the classical bit combinations.
  • the coefficients are the probability amplitudes (or coefficients
  • the method of simulation of a quantum circuit does not rest on a computational approach taking into account the complex notations of the coefficients ⁇ ⁇ of amplitude, but on a combinatorial approach which takes into account of the set of possible values that the state vector ⁇ ⁇ ) (that is, the wave function) can take while eliminating the unlikely values of this state vector as the qubits progress through the quantum circuit.
  • a quantum circuit modifies the value of the 2 n qubits which crosses it (nt).
  • ⁇ ⁇ the state of the qubits entering the circuit
  • ⁇ ⁇ ' the state of the qubits that come out.
  • ⁇ ⁇ ) and ⁇ xj) ') are linked by a transfer function, operated by the quantum circuit and described by a matrix relation:
  • U is a so-called transfer matrix, of size 2 n ⁇ 2 n , corresponding to the transfer function applied by the quantum circuit to the incoming qubits.
  • the transfer matrix U comprises operators u xy (x and y integers, 0 ⁇ x ⁇ 2 n - 1, 0 y y 2 2 n - 1) which are in the form of complex numbers (in the mathematical sense of the term). .
  • the transfer matrix U represents the set of operations applied by the quantum circuit to the incoming qubits, as described by their state vector.
  • the inventors had, in the first place, the idea of subdividing the quantum circuit into several adjacent successive layers through which the set of qubits entering the circuit and each containing a predetermined elementary quantum logic gate each carrying an operation also predetermined on one or more of the qubits entering the layer (but not necessarily on all of them).
  • d (d be an integer such that d ⁇ 2) the number of elementary quantum logic gates of the circuit. It is decreed that d ⁇ 2 because an elementary logic gate corresponds to a simple matrix operation whose result is easily solved by the known simulations.
  • H the Hadamard gate
  • the SWAP gate (or qSWAP), which applies its permutation transfer function) to two qubits and is defined as follows:
  • the controlled phase gate denoted by fl ⁇ , associated with an angle denoted by ⁇ (in the notation used to describe the qubit on the Bloch sphere), which applies its transfer function (a rotation of angle ⁇ ) to a single qubit and is defined as follows:
  • the inventors have, secondly, the idea of classifying the different models of elementary gates (which can be used to configure the quantum circuit) into three types:
  • Gate type classic whose matrix is non-diagonal and includes operators worth 0 or 1 due to a single operator equal to 1 per line and column;
  • the inventors have, thirdly, the idea of minimizing the operations performed on the qubits passing through each layer L k of the quantum circuit, simplifying as much as possible the calculations resulting from the application of the transfer function performed by the elementary logic gate G k resident in this layer, starting from the following triple postulate:
  • the vector state is in the form of a column matrix comprising 2 n - 1 amplitude coefficient coefficients of value 0 and a single amplitude coefficient of value 1 (see the examples provided below):
  • a diagonal type logic gate does not modify the value of the state vector (considered according to its possible values) - this is in particular the case of the Pauli gate Z and the controlled phase gates f1, because a diagonal matrix does not affect the value of the amplitude coefficients of the state vector of the incoming qubits;
  • a classical logic gate carries out a single possible transformation of the state vector incoming qubits
  • the matrix H because its matrix comprises non-zero values on at least one row and / or one column.
  • This triple postulate makes it possible to simplify considerably the calculations during the simulation of the passage of each gate by the n qubits, because it makes it possible to eliminate - that is to say not to take into account - the unlikely values of the vector d 'state at the exit of the door, to retain (and memorize in a dedicated memory register) only the probable values.
  • FIG. 1 shows a circuit comprising a single diagonal-type elementary quantum gate traversed by a single qubit: it is a controlled phase which applies to the qubit which passes through it an angular rotation.
  • 0) is represented by a horizontal arrow, which signifies that the quantum gate considered does not modify the value of the processed qubits.
  • FIG. 2 shows a circuit comprising a single elementary quantum gate of conventional type traversed by a single qubit: this is an X gate.
  • 1) is illustrated by an oblique arrow, which means that the quantum gate under consideration modifies the state of the incoming qubit by assigning it the only other possible state.
  • FIG. 3 shows a circuit comprising a single dense quantum elementary quantum gate traversed by a single qubit: this is a gate H (Hadamard).
  • the two possible states of the input qubit are represented under the gate, in superimposed boxes, and, at the same height, the two possible values of the output qubit:
  • each quantum gate model being associated with a matrix U k of transfer comprising ordered operators in rows and columns and defining the set of possible state transitions of qubits transiting through this gate.
  • the simulation includes a first configuration phase, which includes the operations of:
  • n 3;
  • d quantum gate models eg. three Hadamard doors, two doors and a door
  • the simulation comprises a second phase of analysis of the quantum circuit model thus configured, which comprises the operations of:
  • Diagonal type gate the matrix of which is diagonal - this is so, in the example of FIG. 4, G 2 , G 4 and G S ;
  • Gate of conventional type whose matrix is non-diagonal and includes operators of 0 or 1 due to a single operator per line and column (no door concerned in the example of FIG.4);
  • bra-ket notation (used in FIG. 4) can be noted respectively:
  • this vector comprising a series of 2 n amplitude coefficients
  • L k the following values: o memorize the vector in a dedicated register of a semiconductor integrated circuit memory, which makes it possible to perform each computation step in parallel;
  • L k such as:
  • the qubit entering the Hadamart gate can take any value at the output, while the other two bits are unchanged: this explains why a double arrow starts from the box containing the possible state of the qubits at the entrance of the door and leads to the only two possible states at the output of the door, depending on the value of the qubit affected by the transfer function of the door: in the case, e.g. of the gate G 3 , which affects the second qubit only, and starting from the state
  • the simulation could be accelerated by a factor of between 20 and 40.
  • the method makes it possible to process a maximum number n m of qubits greater than:
  • This number is greater by a factor of 2 than the known numbers, with equivalent memory capacity.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Geometry (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Optical Modulation, Optical Deflection, Nonlinear Optics, Optical Demodulation, Optical Logic Elements (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

Procédé de simulation, sur une unité de traitement informatique à circuit intégré sur semi-conducteur, du fonctionnement d'un modèle de circuit quantique, qui comprend les opérations consistant à : - diviser le circuit quantique en d couches L k adjacentes destinées à être traversées successivement par les n qubits pris ensemble, chaque couche comprenant une unique porte quantique G k ; - attribuer à chaque porte quantique G k du circuit un type parmi trois types prédéfinis de portes quantiques : • Porte de type diagonal, dont la matrice de transfert est diagonale; • Porte de type classique, dont la matrice de transfert est non diagonale et comprend des opérateurs valant 0 ou 1 à raison d'un unique opérateur par ligne et par colonne; • Porte de type dense, qui n'est ni de type classique ni de type diagonal.

Description

Procédé de simulation, sur un ordinateur classique, d'un circuit quantique
L'invention a trait au domaine de l'informatique, et plus précisément à la simulation d'un circuit logique quantique au moyen d'un ordinateur structuré de manière classique - c'est-à-dire à l'aide de processeurs comprenant des portes logiques constituées chacune d'un circuit de transistors qui peuvent être traversés par des flux d'électrons.
La conception d'un ordinateur (que l'on peut assimiler à un processeur, les deux termes étant ici synonymes) repose généralement sur une phase préalable de simulation algorithmique de son fonctionnement (c'est-à-dire du fonctionnement des circuits logiques qui le composent) pour en prédire d'une manière générale le comportement et, plus particulièrement, les résultats que l'ordinateur fournirait à l'issue de l'exécution d'un programme donné.
Les opérations (par ex. addition, soustraction, multiplication) sont effectuées par des combinaisons de portes logiques élémentaires à transistors, qui réalisent des fonctions logiques appliquée à des bits d'entrée (de valeur 0 ou 1) et dont les résultats sont des bits de sortie (de valeur 0 ou 1). Citons à titre d'exemple les fonctions logiques NOT, AND, OR, NOR, NAND.
La miniaturisation des transistors, rendue possible par la finesse croissante des procédés gravure des semi-conducteurs, a permis de multiplier la puissance de calcul et la capacité de stockage (ou mémoire) des ordinateurs. Suivant la conjecture (dite Loi) de Moore, la densité des transistors pouvant être gravés sur un semi-conducteur aurait plus ou moins doublé tous les deux ans depuis les années 1960.
Tant que les transistors demeurent à l'échelle micrométrique, la physique classique (avec les lois de l'électricité) demeure applicable, et les fonctions réalisées par les portes logiques demeurent déterministes, ce qui permet d'appliquer dans l'algorithmique de simulation une algèbre simple, linéaire.
Dans un ordinateur classique (au sens où il comprend des transistors fonctionnant conformément aux lois de l'électricité de la physique classique), la sortie (c'est-à-dire le résultat) d'un programme nécessitant n bits en entrée (chacun de valeur 0 ou 1) peut être modélisé par un vecteur d'état à 2n composantes, qui représente l'ensemble des valeurs possibles des bits de sortie.
On comprend par conséquent que l'ajout d'un bit d'entrée conduit à une multiplication par 2 du nombre de valeurs possibles des bits de sortie. En d'autres termes, toute augmentation linéaire des entrées (ajout de bits) se traduit par une augmentation exponentielle de la capacité de calcul (et/ou de mémoire) requise.
Compte tenu des besoins applicatifs croissants (par ex. médecine assistée par ordinateur, conduite des véhicules autonomes, traitement de l'image à haute définition), la miniaturisation des circuits logiques se poursuit, et l'on atteint à présent les échelles nanométriques et même atomiques.
A ces échelles, l'information n'est plus véhiculée par des flux électriques dont le comportement peut être déterminé et prédit par les lois de la physique classique, mais par des particules (ou quanta) dont le comportement, en grande partie probabiliste, répond aux lois de la physique quantique.
Dans un ordinateur quantique, c'est le qubit (contraction de quantum bit) qui représente l'unité élémentaire de stockage de l'information, par analogie au bit qui, lui, représente l'unité élémentaire de stockage de l'information dans un ordinateur classique.
Si la valeur d'un bit est toujours - et en permanence - de 0 ou 1 selon l'opération qui lui est appliquée (identité : 0→ 0 ou 1→ 1 ; NOT : 0→ 1 ou 1→0), la valeur d'un qubit est quant à elle indéterminée car probabiliste.
Une définition assez claire du qubit est proposée par Benenti et al, Principles of Quantum Computation and Information, Volume I : Basic Concepts, World Scientific Publishing Co, 2004. Selon cette définition, un qubit est un système quantique dont l'état est décrit par une fonction d'onde ip, notée \ψ) selon le formalisme bra-ket de Dirac, dans un espace de Hilbert. La fonction d'onde |i/>) s'écrit sous forme d'une combinaison linéaire des valeurs possibles du qubit :
Figure imgf000004_0001
Où |0) et |1) représentent les valeurs 0 et 1 (ou état de base) d'un bit classique, et où les coefficients a et /?, dénommés « amplitudes de probabilité », sont des nombres complexes normalisés selon la relation suivante :
Figure imgf000005_0001
D'un point de vue géométrique, un qubit peut être représenté par un point positionné à la surface d'une sphère dite de Bloch (de rayon 1), dont les coordonnées sphériques sont Θ (0 < θ≤ π) et φ (0 < φ≤ 2π).
Dans ces conditions, l'état l^} du qubit peut s'écrire sous forme de l'équation suivante :
Figure imgf000005_0002
...ou sous forme du vecteur d'état suivant :
Figure imgf000005_0003
Ces équations témoignent, contre-intuitivement, d'une continuité d'état du qubit, qui peut prendre une infinité d'états - tant qu'il n'est pas mesuré : dès lors sa valeur est déterminée (0 ou 1). Cette continuité fait qu'en théorie un unique qubit est susceptible de stocker une quantité infinie d'information, ce qui laisse espérer pour l'ordinateur quantique des performances particulièrement intéressantes en termes de calcul et de stockage, alors même que sa compacité le rend attractif en tant qu' objet.
Cependant les lois de la mécanique quantique figent l'état du qubit dès sa lecture ; il est impossible de remonter aux valeurs des amplitudes a et β, et donc impossible de connaître l'état instantané du qubit.
Dans l'état actuel des connaissances, les qubits sont destinés à être utilisés d'une manière analogue aux bits classiques, c'est-à-dire à être combinés en un registre de n qubits (n un entier) susceptibles d'être traités au sein d'un programme informatique.
L'état de n qubits est décrit par une fonction d'onde \ψ) généralisée dans un espace de Hilbert à 2n dimensions :
Figure imgf000005_0004
Où \i) représente les valeurs possibles (ou états de base) des combinaisons de bits classiques, et où les coefficients at sont les amplitudes de probabilité de chaque valeur, normalisés selon la relation suivante :
Figure imgf000006_0001
Ainsi, pour deux qubits (n = 2) :
Avec :
Figure imgf000006_0002
A la différence d'un ordinateur classique traitant un unique état du registre parmi l'ensemble de ses états possibles, l'ordinateur quantique est en théorie capable de traiter simultanément l'ensemble des états possibles du registre, soit 2n. En d'autres termes, l'ordinateur quantique effectue par nature ses calculs en parallèle. Il en découle que l'addition d'un qubit multiplie par 2 la puissance de calcul de l'ordinateur, celle-ci étant donc une fonction exponentielle de la taille du registre. Pour fixer les idées, il suffit d'indiquer que pour n = 300 (soit 300 qubits), la taille du registre - et donc le nombre d'états (caractérisant chacun une information) de celui-ci que peut traiter simultanément l'ordinateur - est de 2330≤ 1090, ce qui correspond au nombre estimé de particules dans notre univers observable.
Dans un avenir proche, et de manière réaliste, il est attendu des ordinateurs quantiques qu'ils puissent résoudre des problèmes actuellement insolubles par les ordinateurs classiques en raison de la capacité de calcul déraisonnable qu'il serait nécessaire de mobiliser - et du temps de calcul requis.
Un exemple bien connu de problème mathématique que les algorithmes classiques tournant sur les ordinateurs classiques ne parviennent à résoudre en des temps raisonnables est la factorisation d'un entier naturel N (typiquement 15 = 3x5). C'est cette relative incapacité des ordinateurs classiques à résoudre le problème de la factorisation qui a rendu exploitable la cryptographie à chiffrement RSA (Rivest-Shamir-Aldeman), dont la génération des clés publiques repose en effet sur le produit de nombres entiers.
L'algorithme quantique de Shor (cf. par ex. une présentation de cet algorithme dans Lomonaco, Shor's Quantum Factoring Algorithm, Proceedings of Symposia in Applied Mathematics, Université du Maryland, 2000) permet - en théorie - de résoudre le problème de la factorisation d'un entier naturel N en un temps dont l'ordre de grandeur est asymptotiquement algorithmique, c'est-à-dire (en notation dite « grand O » de Landau), de l'ordre de 0(log(N) . L'algorithme de Shore repose sur l'utilisation d'une transformée de Fourier quantique, dont l'efficacité est très supérieure à celle des transformées de Fourier classiques.
On voit donc l'intérêt qu'il y a à modéliser dès à présent, sur des ordinateurs classiques, les circuits logiques quantiques. Cependant le l'espace mémoire et la puissance de calcul sont des facteurs limitants.
Ainsi, une modélisation connue d'un circuit logique quantique à n qubits consiste à représenter mathématiquement ce circuit par une matrice (notée U, dite matrice opération - en anglais : Opération Matrix) de taille 2n x 2n et qui, appliquée à un vecteur d'état E initial de taille 2n, fournit en sortie un vecteur d'état final E', également de taille 2n et produit matriciel de E par U :
Figure imgf000007_0001
Cette modélisation est testée notamment dans Gerdt et al, A Mathematica Program for Constructing Quantum Circuits and Computing Their Unitary Matrices, Workshop on Quantum Physics and Communication, Oct. 2007.
Cependant Patrzyk et al, Towards a Novel Environment for Simulation of Quantum Computing, Computer Science 16(1)2015, 103- 129, a évalué la capacité mémoire (correspondant au nombre de bits pouvant être stockés dans la mémoire) nécessaire, pour un ordinateur classique, à la simulation d'un nombre donnés de qubits (et plus précisément au stockage de la matrice opération), et fourni une liste d'exemples numériques intéressants présentés dans le tableau (Table 1 p.106) reproduit ci-après (la mémoire est indiquée en Bytes (octets) ; les préfixes k, M et T correspondant respectivement aux opérateurs kilo, mega et Tera) :
Figure imgf000007_0002
L'on peut montrer que, si l'on note N la capacité mémoire d'un ordinateur classique nécessaire au stockage de la matrice opération U, le nombre maximum, noté nm, de qubits simulables n'est pas supérieur à :
Figure imgf000008_0001
Une technique connue, pour limiter la capacité mémoire nécessaire au calcul (ou, à capacité mémoire équivalente, pour augmenter le nombre nm de qubits simulables), consiste à une effectuer une approximation de la matrice opération U en réduisant sa dimension au moyen d'une décomposition dite de Schmidt, dont la méthodologie est notamment décrite dans l'ouvrage de référence A. Nielsen & I. Chuang, Quantum Computation and Quantum Information, Cambridge University Press, 10th Anniversary Edition, 2010, p.109 et suivantes. Mais on constate en pratique que, si cette approximation peut fournir des résultats acceptables pour quelques circuits quantiques simples (par ex. pour une porte logique de type AND), elle manque cruellement de robustesse pour des circuits plus complexes (par ex. pour un circuit de Transformée de Fourrier quantique).
Samad et Al, Memory Efficient Quantum Circuit Simulator Based on Linked List Architecture, 2005, propose de s'affranchir d'une mémorisation complète de la matrice (notée U ci-dessus) du circuit logique quantique en prétendant subdiviser celle-ci en colonnes et en effectuant successivement le produit scalaire de chaque colonne avec le vecteur d'état représentant les qubits d'entrée, les colonnes étant progressivement effacées de la mémoire au fur et à mesure qu'est réalisé leur produit scalaire (cf. Efficient implementation, p. 4-5). Cependant, bien que prétendant avoir appliqué avec succès cette méthode à l'algorithme de Shor, et bien que prétendant en outre avoir été capable de simuler 20 qubits en un temps raisonnable, Samad ne détaille nullement cette méthode.
On voit par conséquent que le besoin persiste d'une simulation (tournant sur un ordinateur classique) de circuit quantique, capable, par comparaison aux simulations connues, de meilleures performances, et plus précisément capable de rendre compte de l'état :
- soit d'un plus grand nombre de qubits à capacité mémoire équivalente, soit d'un même nombre de qubits à capacité mémoire plus raisonnable.
A cet effet, il est proposé un procédé de simulation, sur une unité de traitement informatique à circuit intégré sur semi-conducteur, du fonctionnement d'un modèle de circuit quantique configuré pour traiter un nombre prédéfini n (n un entier tel que n≥ 2) de qubits en entrée et comprenant une série de d (d un entier tel que d≥ 2) portes quantiques Gk (k un entier, 1 < k≤ d) élémentaires sélectionnées parmi une bibliothèque de modèles prédéfinis de portes quantiques stockés dans une mémoire à circuit intégré sur semi-conducteur, chaque modèle de porte quantique étant associé à une matrice Uk de transfert comprenant des opérateurs ordonnés en lignes et colonnes et définissant l'ensemble des transitions d'état possibles de qubits transitant par cette porte, ce procédé comprenant :
une phase de configuration du circuit quantique, qui comprend les opérations consistant à ;
o définir le nombre n de qubits à traiter en entrée du modèle de circuit quantique ;
o sélectionner les d modèles de portes quantiques ;
o agencer les d modèles de portes quantiques ainsi sélectionnés pour constituer le modèle de circuit quantique ;
une phase d'analyse du modèle de circuit quantique ainsi configuré, qui comprend les opérations consistant à :
o diviser le circuit quantique en d couches Lk adjacentes destinées à être traversées successivement par les n qubits pris ensemble, chaque couche comprenant une unique porte quantique ;
o attribuer à chaque porte quantique du circuit un type parmi trois types prédéfinis de portes quantiques :
• Porte de type diagonal, dont la matrice de transfert est diagonale ;
• Porte de type classique, dont la matrice de transfert est non diagonale et comprend des opérateurs valant 0 ou 1 à raison d'un unique opérateur par ligne et par colonne ;
• Porte de type dense, qui n'est ni de type classique ni de type diagonal ; Une phase de calcul, qui comprend la répétition, pour ; = 1 à j = 2n (j un entier) des opérations suivantes :
a) définir un vecteur
Figure imgf000010_0001
d'état des n qubits à l'entrée du circuit quantique, qui comprend une série de 2n coefficients d'amplitude
Figure imgf000010_0013
(i un entier, 0 < i < 2n - 1) valant 0 ou 1, et tels que :
Figure imgf000010_0002
répéter, pour k = 1 à k = d, la séquence suivante :
b1) prendre en compte un vecteur
Figure imgf000010_0006
d'état des n qubits à l'entrée de la couche Lk, ce vecteur
Figure imgf000010_0003
comprenant une série de 2n coefficients d'amplitude ;
Figure imgf000010_0007
b2) identifier la porte Gk comprise dans la couche Lk ;
b3) prendre en compte le type de la porte Gk ;
b4) si la porte Gk est de type diagonal, attribuer au vecteur d'état des n qubits sortant de la couche Lk la valeur
Figure imgf000010_0008
du vecteur
Figure imgf000010_0004
d'état des n qubits entrant dans celle-ci :
Figure imgf000010_0009
b5) si la porte Gk est de type classique :
o détecter dans sa matrice de transfert chaque opérateur valant 1 et déterminer son numéro / de ligne et son numéro c de colonne (l et c des entiers tels que 0≤ l≤ 2n, 0≤ c≤ 2n et l≠ c) ;
o attribuer aux coefficients d'amplitude du
Figure imgf000010_0010
vecteur d'état des n qubits sortant de la couche
Figure imgf000010_0005
Lk les valeurs suivantes :
Figure imgf000010_0011
o mémoriser le vecteur dans un registre dédié
Figure imgf000010_0012
d'une mémoire à circuit intégré sur semi-conducteur ; b6) si la porte Gk est de type dense : o déterminer l'ensemble des valeurs possibles du vecteur d'état des n qubits sortant de la couche
Figure imgf000011_0001
Lk tel que :
Figure imgf000011_0002
o mémoriser chaque valeur possible du vecteur
Figure imgf000011_0003
dans un registre dédié d'une mémoire à circuit intégré sur semi-conducteur ;
c) agréger, dans un registre unique d'une mémoire à circuit intégré sur semi-conducteur, l'ensemble des états possibles du vecteur
Figure imgf000011_0004
Cette méthode permet de simuler avec plus d'efficacité (c'est-à-dire plus rapidement, et en mobilisant un moindre espace mémoire) un circuit quantique, par comparaison aux méthodes connues.
L'invention va à présent être détaillée dans la description d'un mode de réalisation, faite ci-après en référence aux dessins annexés dans lesquels :
la FIG.1 est une représentation schématique d'un exemple de porte logique quantique de type diagonal, associé à un graphe de transition d'état de qubits transitant par cette porte ;
- la FIG.2 est une représentation schématique d'un exemple de porte logique quantique de type classique, associé à un graphe de transition d'état de qubits transitant par cette porte ;
la FIG.3 est une représentation schématique d'un exemple de porte logique quantique de type dense, associé à un graphe de transition d'état de qubits transitant par cette porte ;
la FIG.4 est une représentation schématique d'un exemple de circuit logique quantique comprenant une série de portes logiques quantiques, associé à un graphe des transitions d'états de qubits traversant successivement ces portes logiques.
L'on souhaite simuler, sur une unité de traitement informatique à circuit intégré sur semi-conducteur, le fonctionnement d'un modèle (quelconque) de circuit quantique configuré pour traiter un nombre prédéfini n de qubits en entrée de ce circuit.
L'expression « unité de traitement informatique à circuit intégré sur semi-conducteur » désigne tout processeur (également dénommé microprocesseur) comprenant des ensembles de transistors obtenus selon les techniques classiques de purification, gravure, dopage des matériaux semi-conducteurs (tel que le silicium) et aptes chacun à être traversé (ou non, selon l'état du transistor) par un flux de courant électrique pouvant être modélisé par les lois de la physique classique (notamment la loi d'Ohm).
Un transistor fournit, en sortie, un signal dont la valeur, déterminée par l'état du transistor, est égale par convention à 0 ou 1. Cette valeur est allouée à une unité de numération binaire appelée bit, base du codage des ordinateurs classiques actuellement connus (et utilisés) du grand public.
Les avancées théoriques permises notamment par Hilbert, Dirac et Schrôdinger ont ouvert un champ d'investigation visant à concevoir un ordinateur quantique, c'est-à-dire un ordinateur dont le composant de base serait miniaturisé à l'échelle nanométrique voire atomique, et ne verrait à cette échelle plus transiter des flux de courant comme le transistor que l'on connaît, mais des électrons à l'unité, qui fournissent chacun la valeur d'un bit (0 ou 1).
Comme l'électron, considéré seul, a un comportement qui n'obéit plus aux lois classiques de la physique mais aux lois de la mécanique quantique, probabilistes par nature, le composant en question fournit en sortie un signal dont la valeur est indéterminée mais qu'il est cependant possible de décrire au moyen des outils mathématiques développés pour la mécanique quantique, et notamment au moyen de l'équation relatant l'état (ou fonction d'onde) dit de superposition dans lequel se trouve la particule (ici l'électron).
On n'expliquera pas ici la nature exacte des phénomènes physiques à l'œuvre (notamment s'agissant du spin, de la position et de la quantité de mouvement de l'électron), car cela non seulement est hors sujet, mais en outre demeure débattu dans la communauté scientifique.
On introduira cependant certaines notions physiques et mathématiques nécessaires à une explication raisonnée de la méthode de simulation proposée, qui permettent en outre de comprendre en quoi cette méthode présente de meilleures performances que les méthodes de simulation connues.
On reprend ici les conventions de notation adoptées par la littérature
(voir les références mentionnées en introduction). Ainsi, on note \ψ) la fonction d'onde (en notation bra-ket de Dirac) décrivant l'état de la particule, ou des particules comme nous le verrons.
En dimension 2, pour une particule simple appelée qubit susceptible de fournir deux valeurs (0 et 1), la fonction d'onde (ou état) du qubit s'écrit :
Figure imgf000013_0003
|0) et |1) représentent, en notation bra-ket, les valeurs 0 et 1 (ou état de base) d'un bit classique, tout exprimant le fait que ces valeurs sont des valeurs probables (et non certaines) pouvant être adoptées par le qubit, étant entendu que, conformément aux lois de la mécanique quantique, toute mesure effectuée sur un qubit (correspondant à une particule) fixe définitivement son état.
et β, dénommés « amplitudes de probabilité » ou « coefficients d'amplitude », sont des nombres complexes qui relatent chacun la probabilité d'occurrence de la valeur correspondante (respectivement |0) pour a et |1) pour /?).
et β vérifient la relation dite de « normalisation » suivante :
Figure imgf000013_0004
La fonction d'onde \ψ) (ou état) du qubit unitaire peut également s'écrire sous forme d'un vecteur (matrice colonne) :
Figure imgf000013_0001
Dans cette notation, les états |0) et |1) s'écrivent de la manière suivante :
Figure imgf000013_0002
L'on pourrait se limiter à l'étude d'un unique qubit, puisque celui-ci est en théorie susceptible, aux dires de la littérature, de stocker une quantité infinie d'informations.
Cependant, comme il est par nature impossible, à partir de la valeur constatée (c'est-à-dire mesurée) d'un qubit, de déterminer sa (ses) valeur(s) initiale(s), on considère généralement, dans les recherches effectuées sur le comportement de l'ordinateur quantique, un nombre n (n un entier tel que n > 2) de qubits pris ensemble, dont on cherche à déterminer l'état global par une fonction d'onde \ψ) généralisée. Dans un espace Hilbertien de dimension n la fonction d'onde (ou état) s'écrit :
Figure imgf000014_0003
\i) représente, en notation bra-ket (notation de Dirac) et en binaire, les valeurs possibles (ou états de base) des combinaisons de bits classiques.
Les coefficients sont les amplitudes de probabilité (ou coefficients
Figure imgf000014_0006
d'amplitude) d'occurrence de chacune de ces valeurs ; ce sont des nombres complexes (au sens mathématique du terme), qui vérifient ensemble la relation suivante :
Figure imgf000014_0001
Avec, pour tout i :
Figure imgf000014_0007
Nous avons déjà présenté la fonction d'onde appliquée à un
Figure imgf000014_0008
unique qubit. Pour ce cas très simple, observons simplement, pour clarifier les notations, que a0 est noté a et a noté β.
Pour deux qubits (n = 2) :
Avec :
Figure imgf000014_0004
En notation vectorielle :
Figure imgf000014_0002
Pour trois qubits (n = 3) :
Figure imgf000014_0005
En notation vectorielle :
Figure imgf000015_0001
Comme nous le verrons ci-après, la méthode de simulation d'un circuit quantique que l'on va décrire repose non sur une approche calculatoire tenant compte des notations complexes des coefficients αέ d'amplitude, mais sur une approche combinatoire qui tient compte de l'ensemble des valeurs possibles que peut prendre le vecteur d'état \ψ) (c'est-à-dire la fonction d'onde) tout en éliminant les valeurs improbables de ce vecteur d'état
Figure imgf000015_0002
au fur et à mesure de la progression des qubits au travers du circuit quantique.
A titre liminaire, observons que, pour deux qubits (n = 2, voir ci- dessus), les valeurs possibles que peut prendre \ψ) sont :
Figure imgf000015_0003
...qui correspondent respectivement au valeurs suivantes des deux qubits pris ensemble :
Figure imgf000015_0005
Pour trois qubits (n = 3, voir ci-dessus), les valeurs possibles que peut prendre \x ) sont
Figure imgf000015_0004
...qui correspondent respectivement aux valeurs suivantes des trois qubits pris ensemble :
Figure imgf000015_0006
Un circuit quantique modifie la valeur du ou des 2n qubits qui le traverse(nt).
Par convention, et pour la suite de l'exposé, on note \ψ) l'état des qubits entrant dans le circuit et \ψ') l'état des qubits qui en sortent. \ψ) et \xj)') sont liés par une fonction de transfert, opérée par le circuit quantique et décrite par une relation matricielle :
Figure imgf000016_0004
Où U est une matrice, dite de transfert, de taille 2n x 2n, correspondant à la fonction de transfert appliquée par le circuit quantique aux qubits entrants. La matrice de transfert U comprend des opérateurs uxy (x et y des entiers, 0 < x≤ 2n— 1, 0≤ y≤ 2n - 1) qui se présentent sous forme de nombres complexes (au sens mathématique du terme). La matrice de transfert U représente l'ensemble des opérations appliquées par le circuit quantique aux qubits entrants, tels que décrits par leur vecteur d'état
En notant :
Figure imgf000016_0001
...on peut écrire comme suit la relation entre \ψ') et \ψ) :
Figure imgf000016_0002
Dénombrer, même en algèbre linéaire, l'ensemble des états possibles des qubits en sortie du circuit, requiert pour un ordinateur classique des ressources très importantes dès lors que le nombre de qubits entrants est élevé. En fait, l'espace mémoire nécessaire croît exponentiellement avec le nombre de qubits à traiter.
On souhaite donc éviter de devoir constituer entièrement la matrice de transfert U (correspondant au circuit quantique étudié) et de devoir effectuer le calcul matriciel
Figure imgf000016_0003
A cet effet, les inventeurs ont eu, en premier lieu, l'idée de subdiviser le circuit quantique en plusieurs couches successives adjacentes, par lesquelles transitent l'ensemble des qubits entrant dans le circuit et contenant chacune une porte logique quantique élémentaire prédéterminée effectuant chacune une opération également prédéterminée sur un ou plusieurs des qubits entrant dans la couche (mais pas nécessairement sur la totalité d'entre eux).
On note d (d un entier tel que d≥ 2) le nombre de portes logiques quantiques élémentaires du circuit. On décrète que d≥2 car une porte logique élémentaire correspond à une opération matricielle simple dont le résultat est aisément résolu par les simulations connues.
On note k l'indice de chaque couche (k un entier tel que l≤k≤d), que l'on affecte à la lettre L pour désigner par Lk la klème couche et à la lettre G pour désigner par Gk la klème porte logique unitaire, contenue dans la couche Lk.
La littérature (cf. par ex. Nielsen & Chuang, op. cit.) a défini un certain nombre de modèles de portes logiques quantiques élémentaires, chacune associée à une matrice de transfert déterminée.
Citons à titre d'exemple :
la porte d'Hadamard, notée H, qui applique sa fonction de transfert à un unique qubit et est définie comme suit :
Figure imgf000017_0001
les portes de Pauli, notées X (ou NOT), Y et Z, qui appliquent leurs fonctions de transfert (respectivement une permutation et deux rotations d'angle π), à un unique qubit et sont respectivement définies comme suit :
Figure imgf000017_0002
la porte « Controlled-NOT », notée CNOT, qui applique sa fonction de transfert (une inversion) à deux qubits et est définie comme suit :
Figure imgf000017_0003
la porte SWAP (ou qSWAP), qui applique sa fonction de transfert permutation) à deux qubits et est définie comme suit :
Figure imgf000017_0004
la porte de phase contrôlée, notée fl^, associée à un angle noté φ (dans la notation employée pour décrire le qubit sur la sphère de Bloch), qui applique sa fonction de transfert (une rotation d'angle φ) à un unique qubit et est définie comme suit :
Figure imgf000018_0001
Pour faciliter la simulation d'un circuit quantique quelconque, les inventeurs ont, en deuxième lieu, eu l'idée de classifier les différents modèles de portes élémentaires (pouvant servir à configurer le circuit quantique) en trois types :
• Porte de type diagonal, dont la matrice est diagonale ;
• Porte de type classique, dont la matrice est non diagonale et comprend des opérateurs valant 0 ou 1 à raison d'un unique opérateur égal à 1 par ligne et par colonne ;
• Porte de type dense, qui n'est ni de type classique ni de type diagonal.
Selon cette classification :
• Z, βφ, notamment, sont des portes de type diagonal ;
• X, Y, CNOT, SWAP, notamment, sont des portes de type classique ;
• H, notamment, est une porte de type dense.
Pour faciliter encore la simulation, les inventeurs ont, en troisième lieu, eu l'idée de minimiser les opérations effectuées sur les qubits transitant par chaque couche Lk du circuit quantique, en simplifiant autant que possible les calculs résultant de l'application de la fonction de transfert réalisée par la porte logique élémentaire Gk résidant dans cette couche, en partant du triple postulat suivant :
Pour tout vecteur d'état des n qubits entrant dans la porte,
Figure imgf000018_0003
considéré selon ses valeurs possibles - c'est-à-dire que le vecteur
Figure imgf000018_0002
d'état se présente sous forme d'une matrice colonne comprenant 2n - 1 coefficients de coefficients d'amplitude de valeur 0 et un unique coefficient d'amplitude de valeur 1 (voir les exemples fournis ci- dessous) :
1) Une porte logique de type diagonal ne modifie pas la valeur du vecteur d'état (considéré selon ses valeurs possibles) - c'est notamment le cas de la porte de Pauli Z et des portes de phase contrôlée fl^, car une matrice diagonale n'affecte pas la valeur des coefficients d'amplitude du vecteur d'état des qubits entrants ;
2) Une porte logique de type classique effectue une unique transformation possible du vecteur d'état
Figure imgf000019_0001
des qubits entrants
- c'est notamment le cas des portes X (NOT), Y, CNOT et SWAP - car une matrice non diagonale comprenant des opérateurs valant 0 ou 1 à raison d'un unique opérateur égal à 1 par ligne et par colonne effectue un déplacement du coefficient ac d'amplitude de valeur 1, depuis le rang i = c où se trouve ce coefficient dans le vecteur d'état
Figure imgf000019_0002
des qubits entrants), vers le rang l dans le vecteur d'état
Figure imgf000019_0003
des qubits sortant ;
3) Une porte logique de type dense effectue plusieurs transformations possibles du vecteur d'état des qubits entrants - c'est
Figure imgf000019_0004
notamment le cas de la matrice H, car sa matrice comprend des valeurs non nulles sur au moins une ligne et/ou une colonne.
Ce triple postulat permet de simplifier considérablement les calculs lors de la simulation du passage de chaque porte par les n qubits, car il permet d'éliminer - c'est-à-dire de ne pas prendre en compte - les valeurs improbables du vecteur d'état
Figure imgf000019_0005
en sortie de la porte, pour ne retenir (et mémoriser dans un registre de mémoire dédié) que les valeurs probables.
Pour l'illustrer, appliquons ce postulat pour chaque type de porte logique, en référence respectivement aux FIG.1, FIG.2 et FIG.3 sur lesquelles on a représenté diverses portes quantiques élémentaires en employant les règles de représentation connues (décrites notamment dans Nielsen & Chuang, op. cit.), selon lesquelles le cheminement de chaque qubit est représenté par une ligne horizontale, et chaque porte quantique élémentaire est superposée sur une ligne. Un trait vertical aboutissant à un point sur une autre ligne que celle sur laquelle se trouve la porte signifie que la celle-ci est contrôlée par le qubit représenté par cette autre ligne.
On a représenté sur la FIG.1 un circuit comprenant une unique porte quantique élémentaire de type diagonal traversée par un unique qubit : il s'agit d'une phase contrôlée qui applique au qubit qui la traverse une rotation d'angle
Figure imgf000019_0006
On a représenté sous la porte, dans des cases superposées, les quatre états possibles des qubits d'entrée : |00), |01), 110) et et, à même hauteur, les quatre états possibles des qubits de sortie : |00), |01), |10) et |11).
Si l'état d'entrée est |00), alors la seule valeur possible de l'état de sortie est également |00), les autres valeurs possibles, |01), |10) et |11>, étant improbables et pouvant être ignorées : les cases correspondantes sont à cet effet grisées pour illustrer l'abandon de ces hypothèses de calcul.
On a représenté à titre d'illustration la transition d'état |0)→ |0) par une flèche horizontale, qui signifie que la porte quantique considérée ne modifie pas la valeur des qubits traités.
On a représenté sur la FIG.2 un circuit comprenant une unique porte quantique élémentaire de type classique, traversée par un unique qubit : il s'agit ici d'une porte X.
On a représenté sous la porte, dans des cases superposées, les deux états possibles du qubit d'entrée : |0) et et, à même hauteur, les deux valeurs possibles du qubit de sortie : |0) et |1).
Si l'état du qubit d'entrée est |0>, alors le seul état possible du qubit de sortie est |1>, l'autre valeur possible, |0), étant improbable et pouvant être ignorée : la case correspondante apparaît grisée.
Inversement, si l'état du qubit d'entrée était |1), alors le seul état possible du qubit de sortie serait de |0), l'autre état possible, étant improbable (et pouvant être ignoré).
On a représenté à titre d'illustration la transition d'état |0)→ |1) par une flèche oblique, qui signifie que la porte quantique considérée modifie l'état du qubit entrant en lui assignant le seul autre état possible.
On a représenté sur la FIG.3 un circuit comprenant une unique porte quantique élémentaire de type dense, traversée par un unique qubit : il s'agit ici d'une porte H (Hadamard).
On a représenté sous la porte, dans des cases superposées, les deux états possibles du qubit d'entrée : |0) et |1), et, à même hauteur, les deux valeurs possibles du qubit de sortie : |0) et |1).
Quelle que soit l'état du qubit d'entrée, |0) ou |1), il est équiprobable que son état de sortie soit |0) (état inchangé) ou |1) (état modifié). En supposant l'état du qubit d'entrée à |0), on a représenté à titre d'illustration les deux transitions d'état possibles par deux flèches partant de la case |0) : l'une horizontale vers |0), signifiant la possibilité d'un maintien de l'état du qubit, l'autre oblique vers |1), signifiant la possibilité de changement de l'état du qubit.
Ces conventions d'illustration permettent d'illustrer sous forme d'un graphe le procédé de simulation employé, que l'on décrit à présent de manière détaillée en référence à un exemple représenté sur la FIG.4.
On fait la supposition qu'avant d'entamer la simulation, on dispose d'une bibliothèque de modèles prédéfinis de portes quantiques stockés dans une mémoire à circuit intégré sur semi-conducteur, chaque modèle de porte quantique étant associé à une matrice Uk de transfert comprenant des opérateurs ordonnés en lignes et colonnes et définissant l'ensemble des transitions d'état possibles de qubits transitant par cette porte.
La simulation comprend une première phase de configuration, qui comprend les opérations consistant à :
o définir le nombre n de qubits à traiter en entrée du modèle de circuit quantique - par exemple n = 3 ;
o sélectionner les d modèles de portes quantiques, par ex. trois portes d'Hadamard, deux portes et une porte
Figure imgf000021_0002
Figure imgf000021_0003
o agencer les d modèles de portes quantiques ainsi sélectionnés pour constituer le modèle de circuit quantique - par exemple, comme illustré sur la FIG.4, un circuit modélisant une transformée de Fourrier rapide quantique (QFFT : Quantum
Fast Fourrier Transform).
Une fois ainsi configuré le circuit quantique à simuler, la simulation comprend une deuxième phase d'analyse du modèle de circuit quantique ainsi configuré, qui comprend les opérations consistant à :
o diviser le circuit quantique en d couches Lk adjacentes destinées à être traversées successivement par les n qubits pris ensemble, chaque couche comprenant une unique porte quantique Gk élémentaire - ainsi, dans l'exemple de la FIG.4, où d = 6 :
Figure imgf000021_0001
Figure imgf000022_0001
attribuer à chaque porte quantique du circuit un type parmi trois types prédéfinis de portes quantiques :
• Porte de type diagonal, dont la matrice est diagonale - il en va ainsi, dans l'exemple de la FIG.4, de G2, G4 et GS ;
• Porte de type classique, dont la matrice est non diagonale et comprend des opérateurs valant 0 ou 1 à raison d'un unique opérateur par ligne et par colonne (aucune porte concernée dans l'exemple de la FIG.4) ;
• Porte de type dense, qui n'est ni de type classique ni de type diagonal - il en va ainsi, dans l'exemple de la FIG.4, de GLT G3 et G6.
Une fois cette analyse achevée, la simulation comprend une troisième phase de calcul, qui comprend la répétition, pour ; = 1 à = 2n (j un entier ; dans l'exemple de la FIG.4, n = 3 de sorte que j varie de 1 à 23 = 8) des opérations suivantes :
a) définir un vecteur \\pj) d'état des n qubits à l'entrée du circuit quantique - dans l'exemple de la FIG.4 le vecteur peut prendre chacun des huit états suivants :
Figure imgf000022_0002
...qui, en notation bra-ket (employée sur la FIG.4) peuvent être notés respectivement :
|000) ; |001) ; |010) ; |011) ; |100) ; |101) ; |110) ; |111)
(empilés dans des cases superposées sur la FIG.4)
b) répéter, pour k = 1 à k = d (ici pour k = 1 à k = 6), la séquence suivante : b1) prendre en compte un vecteur d'état possible des n
Figure imgf000023_0001
qubits à l'entrée de la couche Lk, ce vecteur
Figure imgf000023_0002
comprenant une série de 2n coefficients d'amplitude
Figure imgf000023_0003
ainsi, dans le cas de la FIG.4, pour j = 1 et k = 1, l'état des n qubits à l'entrée de la couche Lx est |000), les autres états apparaissant en grisé pour signifier qu'ils ne sont pas pris en compte dans la présente itération sur k ;
b2) identifier la porte Gk comprise dans la couche Lk - dans l'exemple de la FIG.4,
Figure imgf000023_0004
Figure imgf000023_0005
b3) prendre en compte le type de la porte Gk (dans l'exemple de la FIG.4, et pour k = 1 : porte dense ; pour k = 2 : porte diagonale ; pour k = 3 : porte dense ; pour k = 4 : porte diagonale ; pour/c = 5 : porte diagonale ; pour k = 6 : porte dense ;
b4) si la porte Gk est de type diagonal (G2, G4, G5 dans l'exemple de la FIG.4), attribuer au vecteur d'état des n qubits
Figure imgf000023_0008
sortant de la couche Lk la valeur du vecteur d'état des
Figure imgf000023_0007
n qubits entrant dans celle-ci :
Figure imgf000023_0006
Dans l'exemple de la FIG.4, les flèches horizontales joignant les cases non grisées de part et d'autre des portes G2, G4, et G5 illustrent l'identité des états d'entrée et de sortie ; b5) si la porte Gk est de type classique :
Ô détecter dans sa matrice de transfert chaque opérateur valant 1 et déterminer son numéro l de ligne et son numéro c de colonne (l et c des entiers tels que ;
Figure imgf000023_0012
attribuer aux coefficients d'amplitude du
Figure imgf000023_0010
vecteur d'état des n qubits sortant de la couche
Figure imgf000023_0011
Lk les valeurs suivantes :
Figure imgf000023_0009
o mémoriser le vecteur
Figure imgf000024_0001
dans un registre dédié d'une mémoire à circuit intégré sur semi-conducteur, ce qui permet d'effectuer chaque étape de calcul en parallèle ;
b6) si la porte Gk est de type dense :
o déterminer l'ensemble des valeurs possibles du vecteur d'état des n qubits sortant de la couche
Figure imgf000024_0004
Lk tel que :
Figure imgf000024_0003
Ainsi, dans l'exemple de la FIG.4, on voit que, pour les portes
Glt G3 et G6, le qubit entrant dans la porte d'Hadamart peut prendre toute valeur en sortie, tandis que les deux autres bits sont inchangés : cela explique qu'une double flèche parte de la case contenant l'état possible des qubits en entrée de la porte et aboutisse aux deux seuls états possibles en sortie de la porte, selon la valeur du qubit affecté par la fonction de transfert de la porte : dans le cas, par ex. de la porte G3, qui affecte le deuxième qubit seulement, et en partant, en entrée, de l'état |000), les seuls deux états possibles en sortie sont |000) et |010) ; les autres états sont improbables et ignorés dans les étapes suivantes de la simulation ;
o mémoriser chaque valeur possible du vecteur
Figure imgf000024_0005
dans un registre dédié d'une mémoire à circuit intégré sur semi-conducteur, ce qui permet, à cette étape, de poursuivre en parallèle les sous-calculs issus des calculs précédents ;
c) lorsque les itérations précédentes sont achevées, agréger, dans un registre unique d'une mémoire à circuit intégré sur semi-conducteur, l'ensemble des états possibles du vecteur
Figure imgf000024_0002
(mémorisées dans des registres séparés, comme nous venons de le voir).
Le fait de ne pas tenir compte des états improbables des qubits à chaque passage de porte permet de réduire considérablement le nombre d'itérations (et donc la puissance le temps de calcul), ainsi que l'espace mémoire (de type classique) nécessaire. Pour illustrer ces avantages, la simulation qui vient d'être décrite a pu être effectuée sur un circuit du type de la FIG.4 (Transformée quantique de Fourrier rapide), pour n = 18 à n = 24.
En comparaison des algorithmes connus, on a pu accélérer la simulation par un facteur compris entre 20 et 40.
Plus précisément, en notant N la capacité mémoire disponible de l'ordinateur sur lequel est effectuée la simulation, la méthode permet de traiter un nombre maximal nm de qubits supérieur à :
Figure imgf000025_0001
Ce nombre est supérieur d'un facteur 2 aux nombres connus, à capacité mémoire équivalente.

Claims

REVENDICATION
1. Procédé de simulation, sur une unité de traitement informatique à circuit intégré sur semi-conducteur, du fonctionnement d'un modèle de circuit quantique configuré pour traiter un nombre prédéfini n (n un entier tel que n > 2) de qubits en entrée et comprenant une série de d (d un entier tel que d≥ 2) portes quantiques Gk (k un entier, 1≤ k≤ d) élémentaires sélectionnées parmi une bibliothèque de modèles prédéfinis de portes quantiques stockés dans une mémoire à circuit intégré sur semi-conducteur, chaque modèle de porte quantique étant associé à une matrice Uk de transfert comprenant des opérateurs ordonnés en lignes et colonnes et définissant l'ensemble des transitions d'état possibles de qubits transitant par cette porte, ce procédé comprenant :
une phase de configuration du circuit quantique, qui comprend les opérations consistant à ;
o définir le nombre n de qubits à traiter en entrée du modèle de circuit quantique ;
o sélectionner les d modèles de portes quantiques ;
o agencer les d modèles de portes quantiques ainsi sélectionnés pour constituer le modèle de circuit quantique ;
une phase d'analyse du modèle de circuit quantique ainsi configuré, qui comprend les opérations consistant à :
o diviser le circuit quantique en d couches Lk adjacentes destinées à être traversées successivement par les n qubits pris ensemble, chaque couche comprenant une unique porte quantique ;
o attribuer à chaque porte quantique du circuit un type parmi trois types prédéfinis de portes quantiques :
• Porte de type diagonal, dont la matrice de transfert est diagonale ;
• Porte de type classique, dont la matrice de transfert est non diagonale et comprend des opérateurs valant 0 ou 1 à raison d'un unique opérateur par ligne et par colonne ;
• Porte de type dense, qui n'est ni de type classique ni de type diagonal ; Une phase de calcul, qui comprend la répétition, pour j = 1 à j = 2n (j un entier) des opérations suivantes :
a) définir un vecteur d'état des n qubits à l'entrée du circuit
Figure imgf000027_0013
quantique, qui comprend une série de 2n coefficients d'amplitude (i un entier, 0≤ i≤ 2n - 1) valant 0 ou 1, et tels
Figure imgf000027_0012
que :
Figure imgf000027_0001
b) répéter, pour k = 1 à k = d, la séquence suivante :
b1) prendre en compte un vecteur d'état des n qubits à
Figure imgf000027_0002
l'entrée de la couche Lk, ce vecteur comprenant une
Figure imgf000027_0003
série de 2n coefficients d'amplitude ;
Figure imgf000027_0004
b2) identifier la porte Gk comprise dans la couche Lk ;
b3) prendre en compte le type de la porte Gk ;
b4) si la porte Gk est de type diagonal, attribuer au vecteur d'état des n qubits sortant de la couche Lk la valeur
Figure imgf000027_0011
du vecteur d'état des n qubits entrant dans celle-ci :
Figure imgf000027_0006
Figure imgf000027_0005
b5) si la porte Gk est de type classique :
o détecter dans sa matrice de transfert chaque opérateur valant 1 et déterminer son numéro / de ligne et son numéro c de colonne (l et c des entiers tels que 0 < / < 2n, 0 < c < 2n et l≠ c) ;
o attribuer aux coefficients d'amplitude du
Figure imgf000027_0008
vecteur d'état des n qubits sortant de la couche
Figure imgf000027_0010
Lk les valeurs suivantes :
Figure imgf000027_0007
o mémoriser le vecteur dans un registre dédié
Figure imgf000027_0009
d'une mémoire à circuit intégré sur semi-conducteur ; b6) si la porte Gk est de type dense : o déterminer l'ensemble des valeurs possibles du vecteur d'état des n qubits sortant de la couche
Figure imgf000028_0001
Lk tel que :
Figure imgf000028_0002
o mémoriser chaque valeur possible du vecteur
Figure imgf000028_0003
dans un registre dédié d'une mémoire à circuit intégré sur semi-conducteur ;
c) agréger, dans un registre unique d'une mémoire à circuit intégré sur semi-conducteur, l'ensemble des états possibles du vecteur
Figure imgf000028_0004
PCT/FR2018/000057 2017-03-24 2018-03-19 Procédé de simulation, sur un ordinateur classique, d'un circuit quantique WO2018172629A1 (fr)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CA3057734A CA3057734A1 (fr) 2017-03-24 2018-03-19 Procede de simulation, sur un ordinateur classique, d'un circuit quantique
CN201880033603.8A CN110709851A (zh) 2017-03-24 2018-03-19 在传统计算机上仿真量子电路的方法
US16/497,004 US11487923B2 (en) 2017-03-24 2018-03-19 Method for simulating a quantum circuit, on a classical computer
EP18714301.1A EP3602354A1 (fr) 2017-03-24 2018-03-19 Procédé de simulation, sur un ordinateur classique, d'un circuit quantique
JP2020501846A JP2020515999A (ja) 2017-03-24 2018-03-19 古典的なコンピュータ上で量子回路をシミュレートする方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1770299A FR3064380B1 (fr) 2017-03-24 2017-03-24 Procede de simulation, sur un ordinateur classique, d'un circuit quantique
FR1770299 2017-03-24

Publications (1)

Publication Number Publication Date
WO2018172629A1 true WO2018172629A1 (fr) 2018-09-27

Family

ID=59579779

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2018/000057 WO2018172629A1 (fr) 2017-03-24 2018-03-19 Procédé de simulation, sur un ordinateur classique, d'un circuit quantique

Country Status (7)

Country Link
US (1) US11487923B2 (fr)
EP (1) EP3602354A1 (fr)
JP (1) JP2020515999A (fr)
CN (1) CN110709851A (fr)
CA (1) CA3057734A1 (fr)
FR (1) FR3064380B1 (fr)
WO (1) WO2018172629A1 (fr)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3671577A1 (fr) * 2018-12-20 2020-06-24 Bull SAS Procédé d'analyse d'une simulation de l'exécution d'un circuit quantique
EP3671578A1 (fr) * 2018-12-20 2020-06-24 Bull SAS Procédé d'analyse d'une simulation de l'exécution d'un circuit quantique
CN111914378A (zh) * 2019-04-22 2020-11-10 合肥本源量子计算科技有限责任公司 一种单振幅量子计算模拟方法
CN113128015A (zh) * 2019-12-31 2021-07-16 合肥本源量子计算科技有限责任公司 预估单振幅模拟量子计算所需资源的方法和系统
CN114511093A (zh) * 2020-11-16 2022-05-17 中国人民解放军国防科技大学 玻色子系统模拟方法

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110428055A (zh) * 2018-04-27 2019-11-08 阿里巴巴集团控股有限公司 量子计算方法和设备
US11205030B2 (en) * 2019-01-03 2021-12-21 International Business Machines Corporation Avoiding data exchange in gate operation for quantum computing gates on a chip
CN111738448B (zh) * 2020-06-23 2021-09-28 北京百度网讯科技有限公司 量子线路模拟方法、装置、设备及存储介质
WO2022004274A1 (fr) * 2020-06-30 2022-01-06 国立研究開発法人産業技術総合研究所 Système informatique et dispositif de commande
EP4152221A1 (fr) 2021-09-16 2023-03-22 Bull SAS Procédé de construction d'un réseau informatique quantique-classique hybride
CN116523053A (zh) * 2022-01-24 2023-08-01 腾讯科技(深圳)有限公司 量子线路模拟方法、装置、设备、存储介质及程序产品
KR20230155761A (ko) * 2022-05-04 2023-11-13 한국전자기술연구원 상태 벡터를 효율적으로 계산하는 양자 회로 연산 방법
KR20230155760A (ko) * 2022-05-04 2023-11-13 한국전자기술연구원 양자 회로 시뮬레이션 하드웨어

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1870015A (zh) * 2006-06-28 2006-11-29 中山大学 一种协同量子计算机体系结构方案
US20140026107A1 (en) * 2012-07-19 2014-01-23 Microsoft Corporation Method and system for optimal decomposition of single-qubit quantum circuits using standard quantum gates
CN104462689A (zh) * 2014-12-09 2015-03-25 南通大学 线性最近邻量子电路生成器
CN104750945B (zh) * 2015-04-17 2017-11-17 南通大学 一种量子电路仿真平台
WO2017095652A1 (fr) * 2015-11-30 2017-06-08 Microsoft Technology Licensing, Llc Procédé et système pour arithmétique ternaire quantique efficace

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
"Quantum Computation and Quantum Information", 2010, article M A NIELSEN & I L CHUANG, pages: 16 - 21, XP055432847 *
A. NIELSEN; I. CHUANG: "Quantum Computation and Quantum Information", 2010, CAMBRIDGE UNIVERSITY PRESS, pages: 109
BENENTI ET AL.: "Principles of Quantum Computation and Information", 2004, SCIENTIFIC PUBLISHING CO
CEPENDANT PATRZYK ET AL.: "Towards a Novel Environment for Simulation of Quantum Computing", COMPUTER SCIENCE, vol. 16, no. 1, 2015, pages 103 - 129
GERDT ET AL.: "A Mathematica Program for Constructing Quantum Circuits and Computing Their Unitary Matrices", WORKSHOP ON QUANTUM PHYSICS AND COMMUNICATION, October 2007 (2007-10-01)
LOMONACO: "Shor's Quantum Factoring Algorithm, Proceedings of Symposia in Applied Mathematics", 2000, UNIVERSITÉ DU MARYLAND
M P FRANK ET AL: "Space-efficient simulation of quantum computers", 20090319; 20090319 - 20090321, 19 March 2009 (2009-03-19), pages 1 - 6, XP058132363, ISBN: 978-1-60558-421-8, DOI: 10.1145/1566445.1566554 *
SAMAD, MEMORY EFFICIENT QUANTUM CIRCUIT SIMULATOR BASED ON LINKED LIST ARCHITECTURE, 2005

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3671577A1 (fr) * 2018-12-20 2020-06-24 Bull SAS Procédé d'analyse d'une simulation de l'exécution d'un circuit quantique
EP3671578A1 (fr) * 2018-12-20 2020-06-24 Bull SAS Procédé d'analyse d'une simulation de l'exécution d'un circuit quantique
FR3090983A1 (fr) * 2018-12-20 2020-06-26 Bull Sas Procédé d’analyse d’une simulation de l’exécution d’un circuit quantique
FR3090984A1 (fr) * 2018-12-20 2020-06-26 Bull Sas Procédé d’analyse d’une simulation de l’exécution d’un circuit quantique
US11501045B2 (en) 2018-12-20 2022-11-15 Bull Sas Method for analyzing a simulation of the execution of a quantum circuit
US11954009B2 (en) 2018-12-20 2024-04-09 Bull Sas Method for analyzing a simulation of the execution of a quantum circuit
CN111914378A (zh) * 2019-04-22 2020-11-10 合肥本源量子计算科技有限责任公司 一种单振幅量子计算模拟方法
CN111914378B (zh) * 2019-04-22 2024-05-07 本源量子计算科技(合肥)股份有限公司 一种单振幅量子计算模拟方法及装置
CN113128015A (zh) * 2019-12-31 2021-07-16 合肥本源量子计算科技有限责任公司 预估单振幅模拟量子计算所需资源的方法和系统
CN113128015B (zh) * 2019-12-31 2023-04-07 合肥本源量子计算科技有限责任公司 预估单振幅模拟量子计算所需资源的方法和系统
CN114511093A (zh) * 2020-11-16 2022-05-17 中国人民解放军国防科技大学 玻色子系统模拟方法
CN114511093B (zh) * 2020-11-16 2023-06-09 中国人民解放军国防科技大学 玻色子系统模拟方法

Also Published As

Publication number Publication date
JP2020515999A (ja) 2020-05-28
EP3602354A1 (fr) 2020-02-05
CA3057734A1 (fr) 2018-09-27
US20210103692A1 (en) 2021-04-08
FR3064380B1 (fr) 2019-04-19
FR3064380A1 (fr) 2018-09-28
US11487923B2 (en) 2022-11-01
CN110709851A (zh) 2020-01-17

Similar Documents

Publication Publication Date Title
WO2018172629A1 (fr) Procédé de simulation, sur un ordinateur classique, d&#39;un circuit quantique
Stanev et al. Unsupervised phase mapping of X-ray diffraction data by nonnegative matrix factorization integrated with custom clustering
Caro et al. Out-of-distribution generalization for learning quantum dynamics
Smolin et al. Oversimplifying quantum factoring
Mallick et al. Using synchronized oscillators to compute the maximum independent set
Asaka et al. Quantum circuit for the fast Fourier transform
Chen et al. Hybrid classical-quantum linear solver using Noisy Intermediate-Scale Quantum machines
Kimmel et al. Hamiltonian simulation with optimal sample complexity
Longo et al. Von Neumann entropy in QFT
Zhang et al. Probabilistic generating circuits
Li et al. Quantum circuit design for several morphological image processing methods
Seo Edge behavior of two-dimensional Coulomb gases near a hard wall
Du et al. A distributed learning scheme for variational quantum algorithms
Pavičić et al. Automated generation of Kochen-Specker sets
Vidamour et al. Reconfigurable reservoir computing in a magnetic metamaterial
Gough et al. Stochastic Schrödinger equations as limit of discrete filtering
FR3068804B1 (fr) Architecture informatique hybride classique-quantique
Svozil Generalized Greenberger–Horne–Zeilinger arguments from quantum logical analysis
Aharonov et al. On superoscillations longevity: a windowed Fourier transform approach
Takahashi et al. Classically simulating quantum circuits with local depolarizing noise
Abellán et al. Simulating and executing circuits employing the quantum computing paradigm
EP3622445B1 (fr) Procede, mise en oeuvre par ordinateur, de recherche de regles d&#39;association dans une base de donnees
Ishtiaq et al. Quantum Machine Learning: Fad or Future?
Camia et al. Limit theorems for loop soup random variables
Bărîlă From classical computing to quantum computing

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18714301

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 3057734

Country of ref document: CA

ENP Entry into the national phase

Ref document number: 2020501846

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2018714301

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2018714301

Country of ref document: EP

Effective date: 20191024