FR 3091385 A1 20200703 FR 1874179 A 20181226 Description Titre de l'invention : Méthode de développement d'un procédé de compilation d'un circuit quantique sur un processeur quantique et un tel procédé Domaine technique 100011 L'invention relève du domaine des méthodes de développement d'un procédé de compilation d'un circuit quantique sur un processeur quantique et des procédés de compilation d'un circuit quantique sur un processeur quantique. Technique antérieure [0002] 11 est connu du document Compiling SU(4) Quantum Circuits to IBM QX Archi- tectures une méthode permettant de compiler un programme quantique sur un processeur quantique fixé. La méthode ne considère que certains changements comme l'insertion de portes quantiques de permutation de valeur entre deux qbits et une décomposition de Cartan. La méthode cherche à minimiser le nombre de portes quantiques dans le circuit quantique résultant, en utilisant une heuristique. [0003] Toutefois, cette méthode ne permet pas de compiler n'importe quel programme quantique sur n'importe quel processeur quantique. De plus, cette méthode n'est pas une méthode «à tout moment » (ou « anytime » en anglais). [0004] 11 est également connu du document Rule-based optimization of reversible circuits une méthode permettant de remplacer des sous-circuits quantiques par des sous-circuits quantiques équivalents optimaux. [0005] Toutefois, cette méthode ne s'applique que pour des sous-circuits réversibles, et présente de fait des contraintes importantes. Problème technique [0006] Ces solutions connues ne permettent pas d'une part, de proposer une méthode capable de compiler un circuit quantique quelconque sur un processeur quantique quelconque, et, d'autre part, de permettre, lors de la compilation d'un circuit quantique, de proposer une méthode d'optimisation du circuit quantique selon une métrique d'optimisation quelconque. [0007] L'invention vient pallier au moins partiellement les inconvénients de l'art antérieur. [0008] Pour cela, l'invention propose une méthode permettant la compilation de tout circuit quantique sur tout processeur quantique, tout en permettant l'optimisation de la compilation du circuit quantique. Pour cela, il va être intéressant de proposer une étape de sélection d'une pluralité de paramètres comprenant le circuit quantique, le processeur quantique, un jeu de portes quantiques, une métrique d'optimisation et une heuristique ou une métaheuristique permettant l'optimisation de la compilation. 2 [0009] La méthode permet donc une compilation avec cinq degrés de liberté, rendant ainsi cette méthode particulièrement adaptable, tant en termes de compilation de circuits quantiques, qu'en termes d'optimisation du circuit quantique obtenu. [0010] Pour autoriser autant de liberté sans sacrifier l'efficacité du circuit quantique, l'invention propose d'une part de réécrire le circuit quantique sous-circuit par sous-circuit, et d'autre part de d'abord convertir les portes non-exécutables en porte exécutables avant d'optimiser les portes exécutables selon la métrique sélectionnée. [0011] Il est proposé une méthode de développement d'un procédé de compilation d'un circuit quantique sur un processeur quantique, comprenant : - une étape de sélection : * d'un circuit quantique, * d'un processeur quantique sur lequel compiler le circuit quantique, * d'un jeu de portes quantiques exécutables sur le processeur quantique sélectionné, en fonction du processeur quantique sélectionné, * d'une métrique d'optimisation, * d'une heuristique ou une tnétaheuristique, - une étape de division du circuit quantique sélectionné en sous-circuits quantiques, - une première étape de réécriture des sous-circuits quantiques comprenant des portes quantiques non exécutables par le processeur quantique sélectionné de manière à ce qu'ils comprennent uniquement des portes quantiques exécutables par le processeur quantique sélectionné, - une deuxième étape de réécriture des sous-circuits quantiques, par l'heuristique ou la métaheuristique sélectionnée, de manière à obtenir des sous-circuits quantiques comprenant des portes quantiques exécutables par le processeur quantique sélectionné améliorant la métrique sélectionnée, - une étape de regroupement des sous-circuits quantiques en un circuit quantique compilable par le processeur quantique sélectionné. [0012] Dans la deuxième étape de réécriture des sous-circuits quantiques, des portes quantiques pouvant être améliorées, par exemple fusion de deux portes quantiques en une seule, peuvent également être remplacées. Cette étape d'amélioration, si elle strictement meilleure localement », pourra être réalisée entre les première et deuxième étapes de réécriture. On cherchera à obtenir des portes exécutables et optimales, c'est-à-dire des portes exécutables qui sont « strictement meilleures lo- calement », i.e. s'il existe une optimisation triviale (par exemple fusionner deux portes : « RX(x) - RX(y) -> RX(x-Fy) » dans l'hypothèse où l'on sait exécuter n'importe quel RX, l'amélioration est évidente) on pourra effectuer cette optimisation triviale dès que possible ou à tout moment. [0013] Par « portes quantiques non exécutables », on entend des portes quantiques qui ne 3 peuvent pas être exécutées sur le processeur quantique sélectionné, ou des portes quantiques que l'on souhaite voir disparaître. [0014] Il est également proposé un procédé de compilation d'un circuit quantique sur un processeur quantique, par l'utilisation d'un jeu de portes quantiques exécutables sur le processeur quantique, comprenant : - une étape de division du circuit quantique sélectionné en sous-circuits quantiques, - une première étape de réécriture des sous-circuits quantiques comprenant des portes quantiques non exécutables par le processeur quantique sélectionné de manière à ce qu'ils comprennent uniquement des portes quantiques exécutables par le processeur quantique sélectionné, - une deuxième étape de réécriture des sous-circuits quantiques, par l'heuristique ou la métaheuristique sélectionnée, de manière à obtenir des sous-circuits quantiques comprenant des portes quantiques exécutables par le processeur quantique sélectionné améliorant la métrique sélectionnée, - une étape de regroupement des sous-circuits quantiques en un circuit quantique compilé. [0015] De préférence, la deuxième étape de réécriture comprend : - une boucle d'itérations comprenant successivement : * une étape d'obtention de sous-circuits quantiques issus de la première étape de réécriture, une étape de réécriture (lesdits sous-circuits quantiques en sous-circuits quantiques comprenant des portes quantiques exécutables par le processeur améliorant la métrique sélectionnée, une étape de regroupement des sous-circuits quantiques pour obtenir un circuit quantique compilable, une étape de rétroaction, par l'intermédiaire de l'heuristique ou de la métaheuristique sélectionnée, entraînant une nouvelle étape de réécriture des sous-circuits quantiques issus de la première étape de réécriture en fonction d'un score de la métrique sélectionnée associé au circuit quantique compilable, jusqu'à atteindre : o soit un seuil de score extrémal de la métrique sélectionnée, o soit un seuil maximal d'itérations dans la boucle. [0016] Ainsi, l'utilisation d'une boucle d'itérations lors de l'application de l'heuristique ou de la métaheuristique permet de pouvoir effectuer des désoptimisations locales pour obtenir finalement une optimisation globale du circuit quantique. Autrement dit, l'heuristique ou la métaheuristique se permet de ne pas effectuer des optimisations locales aveugles, optimisations locales risquant finalement de ne pas mener au circuit quantique le plus optimal. Ainsi, en choisissant parfois d'augmenter localement la métrique au lieu de la réduire systématiquement, l'heuristique ou la métaheuristique mène à une optimisation globale du circuit quantique plus importante. [0017] De préférence, un score égal à moins l'infini est associé aux portes quantiques non exécutables sur le processeur quantique sélectionné, un score égal à zéro ou à une autre valeur constante est associé aux portes quantiques exécutables sur le processeur quantique sélectionné. [0018] En variante, un autre score peut être associé aux portes quantiques non exécutables. Ce score est par exemple strictement inférieur au score associé aux portes quantiques exécutables. Le score égal à moins l'infini permet de détecter immédiatement qu'une porte non exécutable est présente dans le circuit quantique. [0019] De préférence, l'heuristique ou la métaheuristique d'optimisation réécrit les sous- circuits quantiques en : - changeant l'ordre séquentiel des portes quantiques des sous-circuits quantiques, - et/ou remplaçant des portes quantiques à deux qbits ou plus de deux qbits par des portes quantiques à un qbit. [0020] Il pourrait aussi être envisagé dc remplacer des portes quantiques à n qbits par des portes quantiques à n-p qbits, par exemple des portes quantiques à 4 ou 5 qbits, par des portes quantiques à 2 ou 3 qbits. [0021] L'heuristique ou la métaheuristique est également apte à réécrire les sous-circuits quantiques en remplaçant des portes quantiques à deux qbits ou plus de deux qbits par des portes quantiques à un qbit, à deux qbits, ou à plus de deux qbits. [0022] L'heuristique ou la métaheuristique est donc apte à effectuer différentes opérations de réécritures, permettant ainsi d'augmenter la métrique sélectionnée. [0023] De préférence, l'heuristique ou la métaheuristique sélectionnée est un recuit simulé. [0024] Il apparaît en effet que l'utilisation d'un recuit simulé en tant qu'heuristique ou méta- heuristique donne les meilleurs résultats en termes d'optimisation du circuit quantique et augmentation de la métrique sélectionnée. [0025] De préférence, le seuil maximal d'itérations de la boucle est prédéterminé en fonction au moins du processeur quantique et/ou du circuit quantique sélectionnés. [0026] Cela permet de limiter le nombre d'itérations lorsqu'un seuil de la métrique est atteint. Par ailleurs, la méthode étant une méthode « anytime », il est possible d'interrompre la boucle d'itérations à tout moment tout en obtenant un circuit quantique optimisé. [0027] Selon un autre aspect, il est proposé une méthode de développement d'un procédé de compilation d'un circuit quantique sur un processeur quantique, comprenant : - une étape de sélection : d'un circuit quantique, d'un processeur quantique sur lequel compiler le circuit quantique, d'un jeu de portes quantiques exécutables sur le processeur quantique sélectionné, en fonction du processeur quantique sélectionné, - une étape de division du circuit quantique sélectionné en sous-circuits quantiques, - une première étape de réécriture des sous-circuits quantiques comprenant des portes quantiques non exécutables par le processeur quantique sélectionné de manière à ce qu'ils comprennent uniquement des portes quantiques exécutables par le processeur quantique sélectionné, - une deuxième étape de réécriture des sous-circuits quantiques, par l'application d'un recuit simulé, de manière à obtenir des sous-circuits quantiques comprenant des portes quantiques exécutables par le processeur quantique sélectionné réduisant le nombre de portes quantiques, - une étape de regroupement des sous-circuits quantiques en un circuit quantique compilablc par le processeur quantique sélectionné. [0028] Il est également proposé un procédé de compilation d'un circuit quantique sur un processeur quantique, par l'utilisation d'un jeu de portes quantiques exécutables sur le processeur quantique, comprenant : - une étape de division du circuit quantique sélectionné en sous-circuits quantiques, - une première étape de réécriture des sous-circuits quantiques comprenant des portes quantiques non exécutables par le processeur quantique sélectionné de manière à ce qu'ils comprennent uniquement des portes quantiques exécutables par le processeur quantique sélectionné, - une deuxième étape de réécriture des sous-circuits quantiques, par l'application d'un recuit simulé, de manière à obtenir des sous-circuits quantiques comprenant des portes quantiques exécutables par le processeur quantique sélectionné réduisant le nombre de portes quantiques, - une étape de regroupement des sous-circuits quantiques en un circuit quantique compilé. [0029] Selon cette réalisation, la métrique et l'heuristique ou la métaheuristique sont dé- terminés. Il a en effet été découvert que l'utilisation d'un recuit simulé, pour optimiser un circuit quantique de manière à ce qu'il comporte le moins de portes quantiques possible, est particulièrement avantageuse. Notamment, ce choix de métrique et de l'heuristique ou la métaheuristique mène vers une compilation particulièrement efficace du circuit quantique, le recuit simulé étant idéal lorsqu'il s'agit d'obtenir un circuit quantique ayant un nombre réduit de portes quantiques. En effet, cette technique de recuit simulé, grâce à sa possibilité de désoptimisation locale pour une meilleure optimisation globale, permet d'obtenir plus facilement et plus sûrement un optimum global plutôt que de rester à un simple optimum local proche de la configuration initiale du circuit quantique, ce qui serait plus difficile avec d'autres heuristiques comme par exemple la descente de gradient. Par ailleurs, cette méthode peut toujours 6 être appliquée à n'importe quel circuit quantique sur n'importe quel processeur quantique. [0030] De préférence, la deuxième étape de réécriture comprend : - une boucle d'itérations comprenant successivement : * une étape d'obtention de sous-circuits quantiques issus de la première étape de réécriture, * une étape de réécriture desdits sous-circuits quantiques en sous-circuits quantiques comprenant des portes quantiques exécutables par le processeur et réduisant le nombre de portes quantiques, * une étape de regroupement des sous-circuits quantiques pour obtenir un circuit quantique compilable, * une étape de rétroaction, par l'intermédiaire du recuit simulé, entraînant une nouvelle étape de réécriture des sous-circuits quantiques issus de la première étape de réécriture en fonction du nombre de portes quantiques du circuit quantique compilablc, jusqu'à atteindre : n soit un seuil de score extrémal de la métrique sélectionnée, n soit un seuil maximal d'itérations dans la boucle. [0031] Ainsi, l'utilisation d'une boucle d'itérations lors de l'application du recuit simulé permet de pouvoir effectuer des désoptimisations locales pour obtenir finalement une optimisation globale du circuit quantique. Autrement dit, le recuit simulé se permet de ne pas effectuer des optimisations locales aveugles, optimisations locales risquant finalement de ne pas mener au circuit quantique le plus optimal. Ainsi, en choisissant parfois d'augmenter localement la métrique au lieu de la réduire systématiquement, le recuit simulé mène à une optimisation globale du circuit quantique plus importante. [0032] De préférence, le seuil maximal d'itérations clans la boucle est prédéterminé en fonction au moins du processeur quantique et/ou du circuit quantique sélectionnés. [0033] Cela permet de limiter le nombre d'itérations lorsqu'un seuil de la métrique est atteint. Par ailleurs, la méthode étant une méthode « anytime », il est possible d'interrompre la boucle d'itérations à tout moment tout en obtenant un circuit quantique optimisé. [0034] De préférence, un score égal à moins l'infini est associé aux portes quantiques non exécutables sur le processeur quantique sélectionné, un score égal à zéro ou à une autre valeur constante est associé aux portes quantiques exécutables sur le processeur quantique sélectionné. [0035] En variante, un autre score peut être associé aux portes quantiques non exécutables. Ce score est par exemple strictement inférieur au score associé aux portes quantiques exécutables. Le score égal à moins l'infini permet de détecter immédiatement qu'une porte non exécutable est présente dans le circuit quantique. 7 100361 De préférence, le recuit simulé réécrit les sous-circuits quantiques en : - changeant. l'ordre séquentiel des portes quantiques des sous-circuits quantiques, - et/ou remplaçant des portes quantiques à deux qbits ou plus de deux qbits par des portes quantiques à un qbit. [0037] Le recuit simulé est également apte à réécrire les sous-circuits quantiques en remplaçant des portes quantiques à deux qbits ou plus de deux qbits par des portes quantiques à un qbit, à deux qbits, ou à plus de deux qbits. [0038] Le recuit simulé est donc apte à effectuer différentes opérations de réécritures, permettant ainsi d'augmenter la métrique sélectionnée. Brève description des dessins [0039] D'autres caractéristiques, détails et avantages de l'invention apparaîtront à la lecture de la description détaillée ci-après, et à l'analyse des dessins annexés, sur lesquels : Fig. 1 [0040] [fig.1] illustre un schéma bloc mis en oeuvre par la méthode et le procédé de com- pilation d'un circuit quantique sur un processeur quantique selon un mode de réalisation de l'invention. Fig. 2a [0041] [fig.2a] illustre les principales étapes de la méthode et du procédé de compilation d'un circuit quantique sur un processeur quantique selon un mode de réalisation de l'invention. Fig. 2b [0042] [fig.2b] illustre les principales étapes de la méthode et du procédé de compilation d'un circuit quantique sur un processeur quantique selon un mode de réalisation de l'invention. Fig. 3 [0043] [fig.3] montre un pseudo code utilisé pour l'optimisation locale d'un circuit quantique selon la méthode et le procédé de compilation d'un circuit quantique sur un processeur quantique selon un mode de réalisation de l'invention. Fig. 4 [0044] [fig.4] montre un exemple de règles utilisées pour la réécriture d'un circuit quantique selon la méthode et le procédé de compilation d'un circuit quantique sur un processeur quantique selon un mode de réalisation de l'invention. Fig. 5 [0045] [fig.5] montre un exemple de règles utilisées pour la réécriture d'un circuit quantique selon la méthode et le procédé de compilation d'un circuit quantique sur un processeur quantique selon un mode de réalisation de l'invention. Fig. 6 8 100461 Ifie.6I montre un exemple de règles utilisées pour la réécriture d'un circuit quantique selon la méthode et le procédé de compilation d'un circuit quantique sur un processeur quantique selon un mode de réalisation de l'invention Fig. 7 100471 Ifie.71 montre un exemple de circuit quantique compilé à partir d'un circuit original selon un exemple de règles utilisées pour la réécriture d'un circuit quantique selon la méthode et le procédé de compilation d'un circuit quantique sur un processeur quantique selon un mode de réalisation de l'invention. Fig. 8 [0048] [fie.81 montre un autre exemple de circuit quantique compilé à partir d'un circuit original selon un exemple de règles utilisées pour la réécriture d'un circuit quantique selon la méthode et le procédé de compilation d'un circuit quantique sur un processeur quantique selon un mode de réalisation de l'invention. Description des modes de réalisation [0049] Il est maintenant fait référence à la figure 1. La méthode selon l'invention permet de compiler tout circuit quantique sur tout processeur quantique. [0050] Pour ce faire, il s'agit de résoudre le problème suivant : [0051] [Math.1] , argmax f(C ) R )0052j Où f est une métrique sélectionnable et 1? est une relation binaire telle que : [0053] [Math.ZI "C peut être obtenu à partir de C par changement locaux 100541 Une transformation - L peut en outre être définie, telle que : 100551 IMath.31 : C P(C) 100561 Avec C un ensemble de circuits quantiques. 100571 Le problème peut donc être réécrit tel que 100581 IMath.41 argmax f( ) [0059] La méthode selon l'invention permet de sélectionner la métrique f voulue, et des changements locaux - / quelconques. [0060] Plus précisément, les changements locaux permettent de définir des règles de ré- écriture du circuit quantique pour qu'il puisse être cornpilable sur un processeur quantique sélectionné. Les changements locaux sont par exemple un jeu de portes 9 quantiques exécutables sur le processeur quantique sélectionné. [0061] Les changements locaux peuvent en outre comprendre des règles d'optimisation, telles que l'insertion de portes quantiques de permutation, tel que décrit ci-après. [0062] La méthode utilise notamment une heuristique ou une métaheuristique, illustrée par le bloc B1 de la figure 1. [0063] L'heuristique ou la métaheuristique (ci-après appelée « métaheuristique ») peut également être sélectionnée. Notamment, la métaheuristique peut être sélectionnée parmi une descente de gradient, un recuit simulé ou encore un algorithme génétique. [0064] La métaheuristique reçoit en entrée un circuit quantique sélectionné et une métrique globale, illustré par le bloc B2. La métrique globale peut notamment être sélectionnée pour diminuer le nombre de portes quantiques dans le circuit quantique compilablc obtenu. La métaheuristique visse à maximiser la métrique globale sélectionnée. [0065] Pour cela, la métaheuristique reçoit en outre en entrée des sous-circuits quantiques fournis par une recherche locale, correspondant au bloc B3. [0066] La recherche locale reçoit elle-même en entrée le circuit quantique sélectionné. La recherche locale est apte à effectuer une séparation du circuit quantique en une pluralité de sous-circuits et de déterminer des sous-circuits quantiques équivalents. [0067] Un sous-circuit quantique équivalent correspond à un sous-circuit quantique différent niais qui produit les mêmes effets, notamment en ce qui concerne des opérations quantiques. [0068] Les sous-circuits équivalents sont déterminés en fonction des changements locaux autorisés, tels que des modifications de portes quantiques non exécutables par le processeur quantique sélectionné en portes quantiques exécutables par ce processeur quantique. [0069] Plus précisément, la recherche locale B3 une opération de modification locale du circuit quantique. Plus précisément, un sous-circuit quantique est remplacé par un sous-circuit quantique équivalent sans considérer le circuit quantique dans sa globalité. [0070] Cette modification est donc peu coûteuse au vue de la taille du circuit quantique. [0071] A l'issu de cette modification, un nombre limité de sous-circuits est retourné à la mé- taheuristique, car la recherche locale B3 n'autorise que certains changements de sous-circuits, définis par les changements locaux sélectionnés. La recherche locale peimet donc d-accélérer la métaheuristique. [0072] Toutefois, ces réécritures du circuit quantique en sous-circuits quantiques équivalents peuvent mener à une dégradation de la métrique globale. [0073] Ainsi, une optimisation locale peut être mise en oeuvre par le bloc B4. L'optimisation locale détecte les sous-circuits quantiques non optimaux. Un sous-circuit quantique est non optimal s'il existe un sous-circuit quantique équivalent strictement meilleur. L'optimisation locale vise à remplacer les sous-circuits quantiques non optimaux par les sous-circuits quantiques optimaux. [0074] L'optimisation locale utilise un score noté Ï. Pour un sous-circuit quantique, plus le score est élevé, plus le sous-circuit quantique est optimal. [0075] Le circuit quantique est à modifier pour qu'il ne contienne que des sous-circuits optimaux tels que : [0076] [Math.5] V CI, C2cC2, if Ci -- C2 and 1(C1) /(C2) puis IMath.51 C2 100771 L'opérateur signifie remplacer les sous-circuits C1 par C2 dans tous les sous- circuits trouvés par la recherche locale. 100781 L'optimisation locale effectue des changements locaux par gain décroissant. Autrement dit, les changements à gains élevés sont effectués en premier. Le gain est défini comme la différence de score entre un sous-circuit quantique et un sous-circuit quantique équivalent : 100791 IMath.61 gain -scorelocaiOn:ernbre droit)-scoref'i(membre gauche) [0080] La figure 3 est un pseudo code utilisé pour la mise en oeuvre de l'optimisation locale. Dans ce pscudo code, tous les changements locaux sélectionnés sont répertoriés. Pour chaque changement local sélectionné, les gains associé à la m'écriture de chaque sous-circuit quantique par un sous-circuit quantique optimal sont calculés et triés afin d'effectuer en premier les réécritures dont le gain associé est le plus élevé. [0081] Ces sous-circuits quantiques optimaux sont ensuite envoyés à la métaheuristique (bloc B2) qui réécrit le circuit quantique en remplaçant des sous-circuits quantiques par un sous-circuit quantique optimal dans le but de maximiser la métrique globale. Enfin, au bloc B5 le circuit quantique optimisé et compilé est obtenu. [0082] Il est maintenant fait plus particulièrement référence aux figures 2a et 2b qui illustrent les principales étapes de la méthode et du procédé selon l'invention [0083] Une étape de sélection Si est d'abord mise en oeuvre. Lors de l'étape de sélection Si, plusieurs éléments sont sélectionnés : un circuit quantique, un processeur quantique sur lequel compiler le circuit quantique sélectionné, un jeu de protes quantiques exécutables sur le processeur quantique sélectionné, une métrique à maximiser et une métaheuristique. [0084] Dans l'exemple de réalisation qui suit, la métaheuristique sélectionnée est un recuit simulé. [0085] Par ailleurs les métriques visent, d'une part, à réduire le nombre de portes quantiques 11 global du circuit compilé, et, d'autre part, à réduire plus spécifiquement le nombre de portes quantiques de permutation à insérer dans le circuit quantique pour qu'il soit compilablc. [0086] Une étape de division 52 du circuit quantique en sous-circuits quantiques est ensuite effectuée. [0087] Une première étape de réécriture S3 est mise en oeuvre sur ces sous-circuits quantiques. Plus précisément, les sous-circuits quantiques comprenant des portes quantiques non exécutables par le processeur quantique sélectionné sont réécrits de manière à ce qu'ils comprennent uniquement des portes quantiques exécutables par le processeur quantique sélectionné. [0088] Les sous-circuits quantiques réécrits sont ainsi obtenus à l'étape d'obtention S4. [0089] La première étape de réécriture des sous-circuits quantiques est mise en oeuvre par la recherche locale et l'optimisation locale illustrées par les blocs B3 et B4 de la figure 1. [0090] Une deuxième étape de réécriture S5 des sous-circuits quantiques réécrits est ensuite effectuée. La deuxième étape de réécriture S5 est effectuée par le recuit simulé, et vise à maximiser la métrique globale, définie ici comme une minimisation du nombre de portes quantiques du circuit quantique. [0091] A l'étape de regroupement 56, les sous-circuits quantiques sont regroupés pour obtenir un circuit quantique compilablc par le processeur quantique. Autrement dit, toutes les portes quantiques présentes dans cc circuit quantique peuvent être exécutées par le processeur quantique. [0092] Puis le recuit simulé détermine à l'étape de détermination S7 si les sous-circuits regroupés sont optimaux, c'est-à-dire que le score associé au circuit quantique obtenu à l'étape S6 atteint un seuil prédéterminé, ou si le nombre d'itérations maximal est atteint. [0093] Si ce n'est pas le cas, la deuxième étape de réécriture S5 est de nouveau mise en oeuvre afin d'optimiser encore le circuit quantique obtenu. [0094] Les figures 4 à 6 illustrent un exemple de réécriture de sous circuits quantiques. Ainsi, des changements locaux sont définis tels que les sous-circuits quantiques (ou les portes quantiques) exécutables par le processeur et/ou les sous-circuits quantiques (ou les portes quantiques) que l'on souhaite conserver ont un score égal à zéro ou tout autre valeur constante. Les sous-circuits quantiques (ou les portes quantiques) non exécutables par le processeur et/ou les sous-circuits quantiques (ou les portes quantiques) que l'on souhaite voir disparaître ont un score égal à moins l'infini ou à toute autre valeur strictement inférieure au score des sous-circuits quantiques exécutables. [0095] De plus, des combinaisons de portes quantiques exécutables par le processeur quantique peuvent être définies pour remplacer les portes quantiques non exécutables. [0096] Par exemple, la figure 4 illustre un exemple dans lequel le processeur quantique sé- 12 lectionné est apte à exécuter uniquement des portes quantiques à rotation selon l'axe Z Rz et selon l'axe X Rx. Ainsi, les portes quantiques à rotation selon l'axe X Rx peuvent être remplacées par une combinaison de portes quantiques de Hadamard H, à rotation selon l'axe Z Rz et de Hadamard. Une porte quantique PH peut être remplacée par une porte quantique à rotation selon l'axe Z Rz, etc. Sur la figure 4, tous les membres de gauche possèdent un score égal à moins l'infini et le membre de droite un score égal à zéro. Ainsi, tous les membres de gauche sont remplacés par les membres de droite lors de la première étape de réécriture S3. [0097] Un autre exemple de règles est de changer l'ordre des portes quantiques, comme illustré sur la figure 6, où les portes quantiques sont les mêmes entre les sous-circuits à gauche et à droite de la figure, seules l'ordre des portes quantiques est modifié. [0098] Par ailleurs, afin de respecter la métrique visant à réduire le nombre de portes quantiques, d'autres règles sont respectées. Par exemple, deux portes quantiques identiques qui se succèdent peuvent fusionner pour devenir une unique porte quantique, comme illustré sur la figure 5. Cela permet de maximiser la métrique sélectionnée. [0099] Toutes ces règles sont appliquées par la recherche locale et l'optimisation locale, blocs B3 et B4 afin d'optimiser localement le circuit quantique. Toutefois, les sous-circuits réécrits sont retraités par le recuit simulé (bloc B1) qui, lui, cherche à optimiser la métrique globale du circuit, à savoir réduire le nombre de portes quantiques. Ainsi, lors de l'itération des étapes S5 à S7, le recuit simulé peut choisir de réécrire un sous-circuit diminuant la métrique locale du circuit mais maximisant la métrique globale du circuit quantique. L'utilisation du recuit simulé est donc particulièrement avantageuse. [0100] .La figure 6 illustre un circuit quantique compilé optimisé, obtenu en sortie de l'étape de détermination S7. Ce circuit quantique comprend uniquement des portes quantiques exécutables par le processeur quantique sélectionné, soit des portes Rz et Rx, tandis qu'il comprenait initialement des portes quantiques H, CNOT et PH. [0101] Une fois ce circuit quantique compilé et optimisé obtenu, une seconde optimisation peut être mise en oeuvre. [0102] Il s'agit de permettre de faire interagir des qubits entre eux. Pour ce faire, il est possible d'échanger la valeur de deux qubits afin de rapprocher les qubits à faire interagir, rendant ainsi l'interaction possible. Des portes de permutation quantique peuvent donc être ajoutées au circuit, afin d'échanger la valeur de deux qubits. [0103] La métrique utilisée peut être modifié. Dans cet exemple, la métrique sélectionnée vise à obtenir un circuit quantique comprenant un minimum de portes quantiques de permutation. [0104] A l'étape S8, la recherche locale (bloc B3) effectue une simulation de l'implémentation des qubits logiques du circuit quantique obtenu à l'étape S7 sur le 13 qubits physiques du processeur quantique sélectionné. [0105] A l'étape S9, cette même recherche locale détecte dans le circuit quantique les portes quantiques inefficaces. Par « inefficaces » on entend que les portes quantiques devant interagir entre deux qbits ne le peuvent pas car les qubits ne sont pas voisins, ou que ce sont des portes quantiques que l'on souhaite voir disparaître. [0106] Une métrique locale peut alors être définie. Notamment le score local d'une porte quantique efficace est défini comme dépendant du nombre de portes quantiques de permutation insérées dans le circuit quantique. Le score peut donc être égal au nombre de portes quantiques de permutation présentes dans le circuit quantique. Une porte quantique agissant sur deux qbits non-voisins a un score local égal à moins l'infini ou strictement inférieur au score associé à une porte quantique efficace. [0107] Cette métrique locale permet de garantir d'avoir un circuit quantique dont toutes les portes quantiques agissent sur deux qubits voisins, et donc que toutes les portes quantiques du circuit quantique sont efficaces. [0108] Il est aussi possible de forcer la métrique locale à traiter les portes dans un ordre par- ticulier (les premières portes en premier par exemple) en changeant légèrement la métrique locale. [0109] De plus, il est possible d'améliorer la méthode en regardant l'impact de la simulation de l'étape de simulation 58 sur les qbits suivants. [0110] Les règles de la métrique permettent de définir où les portes quantiques de per- mutation peuvent être insérées dans le circuit quantique. Le circuit quantique peut donc être transformé pour rapprocher les qbits d'une porte quantique, c'est à dire insérer une porte de permutation dans le circuit quantique et renuméroter les qubits du circuit quantique puisque les portes de permutation permutent l'ordre des qubits. [0111] A l'étape d'insertion SIO, les portes quantiques de permutation sont insérées dans le circuit quantique afin que toutes les portes quantiques du circuit soient efficaces. Une étape de transformation S11 du circuit quantique est ensuite mise en oeuvre. Le recuit simulé effectue une optimisation globale du circuit pour respecter la métrique globale, à savoir minimiser le nombre de portes quantiques de permutation. Pour ce faire, des sous-parties du circuit quantique peuvent être réécrites, par exemple en suivant les règles de changements locaux autorisées par le processeur quantique, afin de supprimer des portes quantiques de permutation. [0112] Les portes quantiques de permutation sont insérées par la recherche locale et l'optimisation locale, blocs B3 et B4, afin d'optimiser localement le circuit quantique, en supprimant toutes les portes quantiques inefficaces. Toutefois, le circuit quantique modifié est retraité par le recuit simulé qui, lui, cherche à optimiser la métrique globale du circuit, à savoir réduire le nombre de portes quantiques de permutation. Ainsi, lors de l'itération des étapes S8 à Si T, le recuit simulé peut choisir de modifier des portes 14 quantiques du circuit quantique, ce qui peut diminuer la métrique locale du circuit mais maximise finalement la métrique globale du circuit quantique. L'utilisation du recuit simulé est donc également particulièrement avantageuse. [0113] Puis, à l'étape de détermination 512, si un nombre minimal de portes quantiques de permutation est atteint, ou si un nombre maximal d'itérations est atteint, le circuit quantique est retourné. Ce circuit quantique est compilablc par le processeur quantique sélectionné et optimisé. [0114] Si cc n'est pas le cas, la méthode est répétée depuis l'étape de simulation S8. [0115] la figure 8 illustre le circuit quantique aux différentes étapes du circuit. Le premier circuit quantique correspond au circuit quantique obtenu à l'étape de simulation S8. Le deuxième circuit quantique est le circuit quantique obtenu après l'optimisation locale, c'est-à-dire après l'intégration des portes de permutation (étape d'insertion S10). Enfin, le dernier circuit quantique est obtenu après l'optimisation globale du circuit quantique par le recuit simulé qui permet de supprimer deux portes quantiques de permutation, lors de l'étape de transformation S11. [0116] Le tableau ci-dessous illustre le résultat de la méthode selon l'invention dans le cas de la réduction du nombre de portes quantiques de permutation par rapport à un art antérieur, pour une application de transformation de Fourier quantique à 10, 13, 16, 20 qbits. [0117] [Tableauxl] Méthodes Art Antérieur Méthode selon l'invention Nombre de portes de permutation Temps (s) Nombre de portes de permutation Temps (s) Nombre de portes de peu utation lorsque le procédé est arrêté à 10% du temps QFT 10 54 0.103 20 3.52 27 QFT 13 96 0.036 32 7.23 41 QFT 16 186 0.084 62 19.32 82 QFT 20 372 0.102 103 33.46 119 [0118] Il apparaît donc que la minimisation du nombre de portes de permutation avec la méthode selon l'invention est bien plus efficace que la méthode utilisée dans l'art antérieur. Par ailleurs, la méthode selon l'invention étant une méthode « anytimc », la méthode peut être interrompue sans perdre l'optimisation déjà effectuée sur le circuit quantique, optimisation déjà bien plus efficace que la méthode de l'art antérieur, même à 10% du temps. [0119] Toutefois, le circuit quantique obtenu comprend plus de portes quantiques que le circuit initial. Cela est dû notamment à l'insertion des portes quantiques de permutation. Il en résulte que les phénomènes de bruit sont amplifiés. [0120] Une des sources de bruit est le temps d'inactivité des qbits. [0121] Afin de réduire l'inactivité des qbits, il est possible de déplacer certaines portes quantiques de manière à ce qu'elles remplissent les zones d'inactivité des qbits. [0122] Le recuit simulé cherche donc à maximiser la métrique globale visant à réduire le temps d'inactivité des qbits du circuit quantique. Les changements locaux autorisés par le processeur quantiques sont définis. Par exemple, de tels changements sont le remplacement de sous-circuits quantiques par un sous-circuit quantique équivalent diminuant le temps d'inactivité des qbits. [0123] Une métrique locale, que la recherche locale et l'optimisation locale cherchent à maximiser, est de réduire le nombre de portes quantiques du circuit quantique. [0124] Ainsi, la recherche locale et l'optimisation locale réécrivent des sous-circuits quantiques afin de réduire localement le nombre de portes quantiques. [0125] Le recuit simulé effectue une transformation du circuit quantique obtenu à partir de ces sous-circuits quantiques afin de maximiser la métrique globale. Liste des documents cités Littérature non-brevet [0126] À toute fin utile, le(s) élément(s) non-brevet(s) suivant(s) est (sont) cité(s) : - nplcill : Compiling SU(4) Quantum Circuits ta IBM QX Architectures; - nplcit2 : Rule-based optimization of reversible circuits. 16 [Revendication 1] [Revendication 2]