Brevet FR3091387A1 — publié le 20200703

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), c'est-à-dire une méthode qui peut être arrêtée en cours de déroulement, sans perdre l'optimisation déjà réalisée. [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, présentant ainsi 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 qui fonctionne avec plusieurs métriques d'optimisation différentes. [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, une métrique d'optimisation et une heuristique ou une métaheuristique 2 permettant l'optimisation de la compilation. Ainsi, la méthode est adaptable en termes de choix de compilation mais également en termes de choix d'optimisation de la compilation. [0009] La méthode permet notamment une optimisation de la compilation en transformant le circuit quantique de sorte qu'il ne contient que des sous-circuits quantiques optimaux n'utilisant que des portes quantiques exécutables réduisant le nombre de portes quantiques utilisées afin de réduire la taille du circuit quantique obtenu tout en garantissant son fonctionnement, mais également en réduisant le nombre de portes quantiques de permutation entre qubits afin d'améliorer l'efficacité du circuit quantique obtenu. La méthode selon l'invention est apte à faire cette double optimisation en utilisant la même heuristique ou la même métaheuristique, de sorte que l'efficacité de la méthode est grandement améliorée. [0010] Tl 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 métaheuristique, - une implémentation du procédé de compilation comprenant d'abord : 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é, - une étape d'implémentation du procédé de compilation comprenant ensuite : une porte quantique n'agissant que sur des qbits physiques voisins étant une porte quantique efficace, une porte quantique agissant sur au moins deux qbits physiques non voisins étant une porte quantique inefficace, 3 une étape de détermination d'une implémentation des qhits logiques sur les qhits physiques du processeur quantique sélectionné, par l'application de l'heuristique ou de la métaheuristique sélectionnée, qui réduit le nombre de portes quantiques inefficaces et qui réduit le nombre de portes quantiques de permutation de valeur entre deux qhits physiques à insérer dans le circuit quantique pour que toutes les portes quantiques du circuit quantiques soient, c'est-à-dire restent ou deviennent, des portes quantiques efficaces. [0011] 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 localement », 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. [0012] Par « porte quantique efficace », on entend que la porte quantique peut être exécutée sur le processeur quantique ou qu'elle correspond à une opération quantique autorisée par le processeur quantique sélectionné. Par « porte quantique inefficace », on entend une porte quantique qui ne peut pas être exécutée par le processeur quantique ou qui ne correspond pas à une opération quantique autorisée par le processeur quantique sélectionné. [0013] Selon un autre aspect, il est 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 : - d'abord : 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é par le processeur quantique sélectionné, - ensuite : - une porte quantique n'agissant que sur des qbits physiques voisins étant une porte quantique efficace, - une porte quantique agissant sur au moins deux qbits physiques non voisins étant une porte quantique inefficace, - une étape de détermination d'une implémentation des qbits logiques sur les qbits physiques du processeur quantique sélectionné, par l'application de l'heuristique ou de la métaheuristique sélectionnée, qui réduit le nombre portes quantiques inefficaces et qui réduit le nombre de portes quantiques de permutation de valeur entre deux qbits physiques à insérer dans le circuit quantique pour que toutes les portes quantiques du circuit quantiques soient, c'est-à-dire restent ou deviennent, des portes quantiques efficaces. [0014] De préférence, l'étape de détermination comprend : - une boucle d'itérations comprenant successivement : * une étape de simulation d'une implémentation donnée des qbits logiques sur les qbits physiques du processeur quantique, * une étape de détection, dans le circuit quantique, de la ou des portes quantiques inefficaces, * une étape d'estimation du nombre de portes quantiques de permutation de valeur entre deux qbits physiques à insérer dans le circuit quantique pour que toutes les portes quantiques du circuit quantique soient, c'est-à-dire restent ou deviennent, des portes quantiques efficaces, 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 simulation en fonction du nombre de portes quantiques de permutation de valeur entre deux qbits physiques estimées, jusqu'à atteindre, lorsque toutes les portes quantiques sont efficaces : ° soit un seuil minimal du nombre de portes quantiques estimées de permutation de valeur entre deux qbits physiques, ° soit un seuil maximal d'itérations dans la boucle. [0015] 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. [0016] De préférence, le seuil maximal d'itérations dans la boucle est prédéterminé en fonction au moins du processeur quantique et/ou du circuit quantique sélectionnés. [0017] 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é. [0018] 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 implémentation du procédé de compilation comprenant d'abord : * 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 à cc 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 compilable par le processeur quantique sélectionné, - une étape d'implémentation du procédé de compilation comprenant ensuite : une porte quantique n'agissant que sur des qbits physiques voisins étant une porte quantique efficace, une porte quantique agissant sur au moins deux qbits physiques non voisins étant une porte quantique inefficace, une boucle d'itérations comprenant successivement : o une étape de simulation d'une implémentation donnée des qbits logiques sur les qbits physiques du processeur quantique, o une étape de détection, dans le circuit quantique, de la ou des portes quantiques inefficaces, o une étape d'estimation du nombre de portes quantiques de permutation de valeur entre deux qbits physiques à insérer dans le circuit quantique pour que toutes les portes quantiques du circuit quantique soient, c'est-à-dire restent ou deviennent, des portes quantiques efficaces, 6 une étape de rétroaction, par l'intermédiaire du recuit simulé, entraînant une nouvelle étape de simulation en fonction du nombre de portes quantiques de permutation de valeur entre deux qbits physiques estimées, jusqu'à atteindre, lorsque toutes les portes quantiques sont efficaces : ri soit un seuil minimal du nombre de portes quantiques estimées de permutation de valeur entre deux qbits physiques, ri soit un seuil maximal d'itérations dans la boucle. [0019] Selon un autre aspect, il est 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 : - d'abord : * 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 à cc 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é par le processeur quantique sélectionné, -ensuite : une porte quantique n'agissant que sur des qbits physiques voisins étant une porte quantique efficace, une porte quantique agissant sur au moins deux qbits physiques non voisins étant une porte quantique inefficace, une boucle d'itérations comprenant successivement : o une étape de simulation d'une implémentation donnée des qbits logiques sur les qbits physiques du processeur quantique, o une étape de détection, dans le circuit quantique, de la ou des portes quantiques inefficaces, o une étape d'estimation du nombre de portes quantiques de permutation de valeur entre deux qbits physiques à insérer dans le circuit quantique pour que toutes les portes quantiques du circuit quantique soient, c'est-à-dire restent ou deviennent, des portes quantiques efficaces, o une étape de rétroaction, par l'intermédiaire du recuit simulé, entraînant une nouvelle étape de simulation en fonction du nombre de portes quantiques de per- 7 mutation de valeur entre deux qbits physiques estimées, jusqu'à atteindre, lorsque toutes les portes quantiques sont efficaces : ri soit un seuil minimal du nombre de portes quantiques estimées de permutation de valeur entre deux qbits physiques, ri soit un seuil maximal d'itérations dans la boucle. [0020] Ici, le choix de la métahcuristique est fixé. La méthode utilise un recuit simulé. Le recuit simulé apparaît en effet comme étant la métaheuristique optimale lors de la compilation et l'optimisation d'un circuit quantique selon une métrique visant à réduire le nombre de portes quantiques dc permutation et à obtenir un circuit quantique comprenant des sous-circuits optimaux. 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 être appliquée à n'importe quel circuit quantique sur n'importe quel processeur quantique. [0021] 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. [0022] 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é. [0023] 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, - une étape d'implémentation du procédé de compilation comprenant : une porte quantique n'agissant que sur des qbits physiques voisins étant une porte quantique efficace, une porte quantique agissant sur au moins deux qbits physiques non voisins étant une porte quantique inefficace, une boucle d'itérations comprenant successivement : o une étape de simulation d'une implémentation donnée des qbits logiques sur les qbits physiques du processeur quantique, o une étape de détection, dans le circuit quantique, de la ou des portes quantiques inefficaces, o une étape d'estimation du nombre de portes quantiques de permutation de valeur 8 entre deux qbits physiques à insérer dans le circuit quantique pour que toutes les portes quantiques du circuit quantique soient, c'est-à-dire restent ou deviennent, des portes quantiques efficaces, ° une étape de rétroaction, par l'intermédiaire d'un recuit simulé, entraînant une nouvelle étape de simulation en fonction du nombre de portes quantiques de permutation de valeur entre deux qbits physiques estimées, jusqu'à atteindre, lorsque toutes les portes quantiques sont efficaces : ri soit un seuil minimal du nombre de portes quantiques estimées de permutation de valeur entre deux qbits physiques, ri soit un seuil maximal d'itérations dans la boucle. [0024] TI apparaît également que l'utilisation du recuit simulé est optimale lorsqu'il s'agit d'optimiser la compilation de tout circuit quantique sur tout processeur quantique, en visant à réduire le nombre de portes quantiques de permutation utilisées. [0025] Selon un autre aspect, il est proposé un procédé de compilation d'un circuit quantique, sur un processeur quantique, comprenant : - une porte quantique n'agissant que sur des qbits physiques voisins étant une porte quantique efficace, - une porte quantique agissant sur au moins deux qbits physiques non voisins étant une porte quantique inefficace, - une boucle d'itérations comprenant successivement : une étape de simulation d'une implémentation donnée des qbits logiques sur les qbits physiques du processeur quantique, une étape de détection, dans le circuit quantique, de la ou des portes quantiques inefficaces, une étape d'estimation du nombre de portes quantiques de permutation de valeur entre deux qbits physiques à insérer dans le circuit quantique pour que toutes les portes quantiques du circuit quantique soient, c'est-à-dire restent ou deviennent, des portes quantiques efficaces, une étape de rétroaction, par l'intermédiaire d'un recuit simulé, entraînant une nouvelle étape de simulation en fonction du nombre de portes quantiques de permutation de valeur entre deux qbits physiques estimées, jusqu'à atteindre, lorsque toutes les portes quantiques sont efficaces : ° soit un seuil minimal du nombre de portes quantiques estimées de permutation de valeur entre deux qbits physiques, ° soit un seuil maximal d'itérations dans la boucle. Brève description des dessins [0026] D'autres caractéristiques, détails et avantages de l'invention apparaîtront à la lecture 9 de la description détaillée ci-après, et à l'analyse des dessins annexés, sur lesquels : Fig. 1 100271 Ifie.11 illustre un schéma bloc mis en oeuvre par la méthode elle procédé de com- pilation d'un circuit quantique sur un processeur quantique selon un mode de réalisation de l'invention. Fig. 2a [0028] [fie.2a1 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 [0029] [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 [0030] [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 [0031] [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 [0032] [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 [0033] [fig.6] 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 [0034] [fig.7] 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 [0035] [fig.8] 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 [0036] 11 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. [0037] Pour ce faire, il s'agit de résoudre le problème suivant : [0038] [Math. Il argrnax f(Cr) (7' R C [0039] Où f est une métrique sélectionnable ct R est une relation binaire telle que : [0040] [Math.2] CH-RC> "Cr peut être obtenu à partir de C par changement locaux [0041] Une transformation - L peut en outre êtrc définie, telle que : [0042] [Math.3] [0043] Avec C un ensemble de circuits quantiques. [0044] Le problème peut donc être réécrit tel que [0045] [Math.4] argmax c I C - c [0046] La méthode selon l'invention permet de sélectionner la métrique f voulue, et des changements locaux L quelconques. [0047] 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 compilablc sur un processeur quantique sélectionné. Les changements locaux sont par exemple un jeu de portes quantiques exécutables sur le processeur quantique sélectionné. [0048] 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. [0049] La méthode utilise notamment une heuristique ou une métaheuristique, illustrée par le bloc B1 de la figure 1. [0050] 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. [0051] 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 compilable 11 obtenu. La métaheuristique visse à maximiser la métrique globale sélectionnée. [0052] 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. [0053] 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. [0054] 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. [0055] 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 cc processeur quantique. [0056] 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é. [0057] Cette modification est donc peu coûteuse au vue de la taille du circuit quantique. [0058] 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 permet donc d-accélérer la métaheuristique. [0059] Toutefois, ces réécritures du circuit quantique en sous-circuits quantiques équivalents peuvent mener à une dégradation de la métrique globale. [0060] 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. [0061] L'optimisation locale utilise un score noté Ï. Pour un sous-circuit quantique, plus le score est élevé, plus le sous-circuit quantique est optimal. [0062] Le circuit quantique est à modifier pour qu'il ne contienne que des sous-circuits optimaux tels que : [0063] [Math.5] V C1, C2eC2, if CI - C-, and d(C, sA(C2) puis [Math.5] C - C2 12 [0064] L'opérateur - signifie remplacer les sous-circuits C1 par C2 dans tous les sous- circuits trouvés par la recherche locale. [0065] 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 : [0066] [Math.6] gain -score,,,,'1(menibre droit) - score 1,,'i(mernbre gauche) [0067] La figure 3 est un pscudo code utilisé pour la mise en oeuvre de l'optimisation locale. Dans cc pseudo code, tous les changements locaux sélectionnés sont répertoriés. Pour chaque changement local sélectionné, les gains associé à la réé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é. [0068] 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. [0069] 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 [0070] Une étape de sélection S1 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. [0071] Dans l'exemple de réalisation qui suit, la métaheuristique sélectionnée est un recuit simulé. [0072] Par ailleurs les métriques visent, d'une part, à réduire le nombre de portes quantiques 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 compilable. [0073] Une étape de division S2 du circuit quantique en sous-circuits quantiques est ensuite effectuée. [0074] 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é. [0075] Les sous-circuits quantiques réécrits sont ainsi obtenus à l'étape d'obtention S4. 13 [0076] 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. [0077] Une deuxième étape de réécriture 55 des sous-circuits quantiques réécrits est ensuite effectuée. La deuxième étape de réécriture 55 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. [0078] 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. [0079] 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. [0080] Si cc 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. [0081] Les figures 4 à 6 illustrent un exemple de réécriture de sous circuits quantiques. 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. [0082] 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. [0083] Par exemple, la figure 4 illustre un exemple dans lequel le processeur quantique sé- 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. [0084] 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é. 14 [0085] 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. [0086] 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 55 à 57, 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. [0087] .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. [0088] Une fois ce circuit quantique compilé et optimisé obtenu, une seconde optimisation peut être mise en oeuvre. [0089] 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 peimutation quantique peuvent donc être ajoutées au circuit, afin d'échanger la valeur de deux qubits. [0090] 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. [0091] 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 qubits physiques du processeur quantique sélectionné. [0092] 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. [0093] 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. [0094] 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. [0095] 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. [0096] 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. [0097] 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. [0098] A l'étape d'insertion S10, 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 Sll 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. [0099] 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 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. [0100] Puis, à l'étape de détermination SI2, 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 compilable par le processeur quantique sélectionné et optimisé. [0101] Si ce n'est pas le cas, la méthode est répétée depuis l'étape de simulation S8. [0102] 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, 16 c'est-à-dire après l'intégration des portes de permutation (étape d'insertion 510). 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. [0103] 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. [0104] [Tableaux 1] 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 permutation 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 [0105] 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. [0106] 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. [0107] Une des sources de bruit est le temps d'inactivité des qbits. [0108] 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. [0109] 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 rem- 17 placement de sous-circuits quantiques par un sous-circuit quantique équivalent diminuant le temps d'inactivité des qbits. [0110] 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. [0111] Ainsi, la recherche locale et l'optimisation locale réécrivent des sous-circuits quantiques afin de réduire localement le nombre de portes quantiques. [0112] 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 [0113] À toute fin utile, le(s) élément(s) non-brevet(s) suivant(s) est (sont) cité(s) : - nplcitl : Compiling SU(4) Quantum Circuits to IBM QX Architectures; - nplcit2 : Rule-based optimization qf reversible circuits. 18 [Revendication 1]