<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>IBM on kenji.blog</title><link>http://kenji.blog/fr/tags/ibm/</link><description>Recent content in IBM on kenji.blog</description><generator>Hugo -- gohugo.io</generator><language>fr</language><copyright>kenjinote</copyright><lastBuildDate>Fri, 11 Sep 2026 20:00:00 +0900</lastBuildDate><atom:link href="http://kenji.blog/fr/tags/ibm/index.xml" rel="self" type="application/rss+xml"/><item><title>Introduction à la programmation quantique avec Qiskit</title><link>http://kenji.blog/fr/p/qiskit-quantum-programming-intro/</link><pubDate>Fri, 11 Sep 2026 20:00:00 +0900</pubDate><guid>http://kenji.blog/fr/p/qiskit-quantum-programming-intro/</guid><description>&lt;img src="http://kenji.blog/p/qiskit-quantum-programming-intro/img/eyecatch.jpg" alt="Featured image of post Introduction à la programmation quantique avec Qiskit" />&lt;h2 id="1-introduction">1. Introduction
&lt;/h2>&lt;p>Les ordinateurs modernes (ordinateurs classiques) ont radicalement changé nos vies et soutiennent tous les aspects de la société grâce à leur puissance de calcul avancée. Cependant, il est connu que pour certains problèmes spécifiques (par exemple, la factorisation de très grands nombres, la simulation de structures moléculaires complexes, les problèmes d&amp;rsquo;optimisation, etc.), même les superordinateurs de pointe actuels nécessiteraient un temps supérieur à l&amp;rsquo;âge de l&amp;rsquo;univers.&lt;/p>
&lt;p>Les &lt;strong>ordinateurs quantiques (Quantum Computer)&lt;/strong> ont le potentiel de briser ces &amp;ldquo;limites des ordinateurs classiques&amp;rdquo;. En utilisant les propriétés étranges de la mécanique quantique (superposition et intrication quantique) comme ressources de calcul, on pense que certains problèmes peuvent être résolus de manière considérablement plus rapide.&lt;/p>
&lt;p>Dans cet article, nous ferons notre premier pas dans le monde de la programmation quantique en utilisant &lt;strong>Qiskit&lt;/strong>, un framework d&amp;rsquo;informatique quantique open source fourni par IBM. Il s&amp;rsquo;agit d&amp;rsquo;un guide d&amp;rsquo;introduction très détaillé couvrant tout le processus, allant des bases de la physique et des mathématiques jusqu&amp;rsquo;à l&amp;rsquo;écriture de code en Python et l&amp;rsquo;exécution de circuits quantiques sur un simulateur.&lt;/p>
&lt;hr>
&lt;h2 id="2-fondements-physiques-et-mathématiques-du-calcul-quantique">2. Fondements physiques et mathématiques du calcul quantique
&lt;/h2>&lt;p>Pour comprendre la programmation quantique, vous devez d&amp;rsquo;abord comprendre les concepts de base de la mécanique quantique. Nous expliquons ici trois piliers importants : les qubits, la superposition et l&amp;rsquo;intrication quantique.&lt;/p>
&lt;h3 id="21-bits-classiques-et-bits-quantiques-qubit">2.1 Bits classiques et bits quantiques (Qubit)
&lt;/h3>&lt;p>L&amp;rsquo;unité d&amp;rsquo;information d&amp;rsquo;un ordinateur classique est le &amp;ldquo;bit&amp;rdquo;. Un bit prend toujours l&amp;rsquo;un des deux états : &lt;code>0&lt;/code> ou &lt;code>1&lt;/code>.&lt;/p>
&lt;p>D&amp;rsquo;autre part, la plus petite unité d&amp;rsquo;information d&amp;rsquo;un ordinateur quantique est appelée &lt;strong>bit quantique (Qubit : Quantum bit)&lt;/strong>. Un qubit peut non seulement prendre les états &lt;code>0&lt;/code> et &lt;code>1&lt;/code>, mais il peut également &lt;strong>maintenir ces deux états en même temps&lt;/strong>.&lt;/p>
&lt;p>Mathématiquement, l&amp;rsquo;état d&amp;rsquo;un qubit $|\psi\rangle$ s&amp;rsquo;exprime comme une combinaison linéaire (superposition) des états de base $|0\rangle$ et $|1\rangle$.&lt;/p>
$$
|\psi\rangle = \alpha|0\rangle + \beta|1\rangle
$$
&lt;p>Ici, $\alpha$ et $\beta$ sont des nombres complexes, représentant respectivement l&amp;rsquo;amplitude de probabilité d&amp;rsquo;observer les états $|0\rangle$ et $|1\rangle$. D&amp;rsquo;après les principes de base de la mécanique quantique, la somme des probabilités doit être égale à 1, ce qui satisfait à la condition de normalisation suivante :&lt;/p>
$$
|\alpha|^2 + |\beta|^2 = 1
$$
&lt;p>En d&amp;rsquo;autres termes, lorsque ce qubit est &amp;ldquo;mesuré (observé)&amp;rdquo;, la probabilité d&amp;rsquo;obtenir $|0\rangle$ est $|\alpha|^2$ et la probabilité d&amp;rsquo;obtenir $|1\rangle$ est $|\beta|^2$. La différence cruciale avec un bit classique est que l&amp;rsquo;état n&amp;rsquo;est déterminé que de manière probabiliste avant la mesure.&lt;/p>
&lt;div class="mermaid">graph LR
A["Bit classique (Classical Bit)"] --> B["État défini : 0 ou 1"]
C["Qubit (Qubit)"] --> D["Superposition : à la fois 0 et 1"]
D --> E["L'état est déterminé de manière probabiliste par la mesure"]&lt;/div>
&lt;h3 id="22-superposition-superposition">2.2 Superposition (Superposition)
&lt;/h3>&lt;p>Comme mentionné précédemment, l&amp;rsquo;état dans lequel $|0\rangle$ et $|1\rangle$ sont mélangés est appelé &lt;strong>superposition (Superposition)&lt;/strong>.&lt;/p>
&lt;p>Par exemple, si un seul qubit est dans un état de superposition parfaitement égale, alors $\alpha = \frac{1}{\sqrt{2}}$ et $\beta = \frac{1}{\sqrt{2}}$.&lt;/p>
$$
|\psi\rangle = \frac{1}{\sqrt{2}}|0\rangle + \frac{1}{\sqrt{2}}|1\rangle
$$
&lt;p>Lorsque cet état est mesuré, $|0\rangle$ et $|1\rangle$ sont observés chacun avec une probabilité de 50%.
Si vous avez deux qubits, vous pouvez créer une superposition de quatre états : $|00\rangle, |01\rangle, |10\rangle, |11\rangle$. Si vous avez $n$ qubits, vous pouvez exprimer $2^n$ états simultanément, ce qui est l&amp;rsquo;une des sources de la capacité de traitement parallèle des ordinateurs quantiques.&lt;/p>
&lt;h3 id="23-intrication-quantique-entanglement">2.3 Intrication quantique (Entanglement)
&lt;/h3>&lt;p>La propriété la plus puissante et la plus mystérieuse du calcul quantique est &lt;strong>l&amp;rsquo;intrication quantique (Entanglement)&lt;/strong>. Ce phénomène, appelé &amp;ldquo;action fantôme à distance&amp;rdquo; par Einstein, est la propriété selon laquelle deux ou plusieurs qubits sont si fortement liés que lorsque l&amp;rsquo;état de l&amp;rsquo;un d&amp;rsquo;eux est déterminé, l&amp;rsquo;état de l&amp;rsquo;autre est instantanément déterminé, quelle que soit la distance physique qui les sépare.&lt;/p>
&lt;p>L&amp;rsquo;un des états d&amp;rsquo;intrication quantique les plus célèbres, l&amp;rsquo;« état de Bell (Bell State) », l&amp;rsquo;état $\Phi^+$, est exprimé comme suit :&lt;/p>
$$
|\Phi^+\rangle = \frac{|00\rangle + |11\rangle}{\sqrt{2}}
$$
&lt;p>Dans cet état, les états $|01\rangle$ ou $|10\rangle$ n&amp;rsquo;existent pas. Par conséquent, si le premier qubit est mesuré et s&amp;rsquo;avère être $|0\rangle$, il est certain que le second est $|0\rangle$ sans même avoir besoin de le mesurer. Inversement, si le premier est $|1\rangle$, le second sera inévitablement $|1\rangle$.&lt;/p>
&lt;hr>
&lt;h2 id="3-portes-logiques-quantiques-quantum-logic-gates">3. Portes logiques quantiques (Quantum Logic Gates)
&lt;/h2>&lt;p>Tout comme les ordinateurs classiques utilisent des portes logiques telles que AND, OR et NOT pour effectuer des calculs, les ordinateurs quantiques utilisent des &lt;strong>portes quantiques&lt;/strong> pour manipuler l&amp;rsquo;état des qubits. L&amp;rsquo;état quantique étant un vecteur, une porte quantique est représentée par une &amp;ldquo;matrice unitaire&amp;rdquo; agissant sur ce vecteur.&lt;/p>
&lt;h3 id="31-portes-de-pauli-pauli-x-y-z">3.1 Portes de Pauli (Pauli-X, Y, Z)
&lt;/h3>&lt;p>Les portes de Pauli sont des opérations de base sur un seul qubit.&lt;/p>
&lt;p>&lt;strong>・Porte Pauli-X (Porte NOT)&lt;/strong>
Équivalent à la porte NOT classique. Elle inverse $|0\rangle$ en $|1\rangle$, et $|1\rangle$ en $|0\rangle$. (Rotation de 180 degrés autour de l&amp;rsquo;axe X sur la sphère de Bloch)&lt;/p>
$$
X = \begin{pmatrix} 0 &amp; 1 \\ 1 &amp; 0 \end{pmatrix}
$$
&lt;p>&lt;strong>・Porte Pauli-Y&lt;/strong>
Effectue une rotation de 180 degrés autour de l&amp;rsquo;axe Y. Elle a pour effet d&amp;rsquo;inverser à la fois la phase et le bit.&lt;/p>
$$
Y = \begin{pmatrix} 0 &amp; -i \\ i &amp; 0 \end{pmatrix}
$$
&lt;p>&lt;strong>・Porte Pauli-Z (Porte d&amp;rsquo;inversion de phase)&lt;/strong>
Laisse l&amp;rsquo;état $|0\rangle$ tel quel et inverse la phase de l&amp;rsquo;état $|1\rangle$ (en le multipliant par $-1$). (Rotation de 180 degrés autour de l&amp;rsquo;axe Z)&lt;/p>
$$
Z = \begin{pmatrix} 1 &amp; 0 \\ 0 &amp; -1 \end{pmatrix}
$$
&lt;h3 id="32-porte-de-hadamard-hadamard-gate">3.2 Porte de Hadamard (Hadamard Gate)
&lt;/h3>&lt;p>La porte de Hadamard (porte H) est une porte extrêmement importante qui convertit un état défini ($|0\rangle$ ou $|1\rangle$) en un état superposé.&lt;/p>
$$
H = \frac{1}{\sqrt{2}}
\begin{pmatrix}
1 &amp; 1 \\
1 &amp; -1
\end{pmatrix}
$$
&lt;p>L&amp;rsquo;application de la porte H à $|0\rangle$ donne $|+\rangle$, qui est un état de superposition égale.&lt;/p>
$$
H|0\rangle = \frac{1}{\sqrt{2}}|0\rangle + \frac{1}{\sqrt{2}}|1\rangle = |+\rangle
$$
&lt;h3 id="33-portes-de-phase-phase-gates">3.3 Portes de phase (Phase Gates)
&lt;/h3>&lt;p>La porte de phase est une généralisation de la porte Z, qui fait tourner la phase de l&amp;rsquo;état $|1\rangle$ d&amp;rsquo;un angle spécifié $\theta$.&lt;/p>
$$
P(\theta) = \begin{pmatrix} 1 &amp; 0 \\ 0 &amp; e^{i\theta} \end{pmatrix}
$$
&lt;p>Les représentantes typiques sont la porte S ($\theta = \pi/2$) et la porte T ($\theta = \pi/4$).&lt;/p>
&lt;h3 id="34-porte-cnot-controlled-not-gate">3.4 Porte CNOT (Controlled-NOT Gate)
&lt;/h3>&lt;p>La porte CNOT (porte CX) est une porte qui opère entre deux qubits et est essentielle pour générer l&amp;rsquo;intrication quantique. Elle se compose d&amp;rsquo;un &amp;ldquo;bit de contrôle (Control)&amp;rdquo; et d&amp;rsquo;un &amp;ldquo;bit cible (Target)&amp;rdquo;.&lt;/p>
&lt;p>Elle n&amp;rsquo;applique la porte X (opération NOT) au bit cible que si le bit de contrôle est $|1\rangle$, et ne fait rien si le bit de contrôle est $|0\rangle$.&lt;/p>
$$
CNOT = \begin{pmatrix}
1 &amp; 0 &amp; 0 &amp; 0 \\
0 &amp; 1 &amp; 0 &amp; 0 \\
0 &amp; 0 &amp; 0 &amp; 1 \\
0 &amp; 0 &amp; 1 &amp; 0
\end{pmatrix}
$$
&lt;hr>
&lt;h2 id="4-bases-de-qiskit-et-configuration-de-lenvironnement">4. Bases de Qiskit et configuration de l&amp;rsquo;environnement
&lt;/h2>&lt;p>À partir de là, nous allons écrire des programmes quantiques en utilisant Python et Qiskit.&lt;/p>
&lt;h3 id="41-quest-ce-que-qiskit-">4.1 Qu&amp;rsquo;est-ce que Qiskit ?
&lt;/h3>&lt;p>&lt;strong>Qiskit&lt;/strong> est un kit de développement logiciel (SDK) d&amp;rsquo;informatique quantique open source développé par IBM Quantum. En utilisant Python, vous pouvez construire intuitivement des circuits quantiques et les exécuter sur un simulateur local ou sur de véritables ordinateurs quantiques IBM via le cloud.&lt;/p>
&lt;h3 id="42-méthode-dinstallation">4.2 Méthode d&amp;rsquo;installation
&lt;/h3>&lt;p>Pour utiliser Qiskit, vous avez besoin d&amp;rsquo;un environnement Python. Installez Qiskit et les packages associés (simulateurs, bibliothèques de dessin) à l&amp;rsquo;aide de la commande suivante.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">pip install qiskit qiskit-aer qiskit-ibm-runtime matplotlib pylatexenc
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="43-flux-de-base-de-la-programmation">4.3 Flux de base de la programmation
&lt;/h3>&lt;p>La programmation quantique avec Qiskit se déroule principalement selon les étapes suivantes.&lt;/p>
&lt;div class="mermaid">graph TD
A["1. Construction du circuit (Build)"] --> B["2. Compilation / Transpilation (Compile)"]
B --> C["3. Exécution (Execute)"]
C --> D["4. Analyse et visualisation des résultats (Analyze)"]&lt;/div>
&lt;ol>
&lt;li>&lt;strong>Construction du circuit&lt;/strong> : Créez un objet &lt;code>QuantumCircuit&lt;/code> et ajoutez-y des portes.&lt;/li>
&lt;li>&lt;strong>Compilation&lt;/strong> : Optimisez le circuit pour le backend d&amp;rsquo;exécution (machine réelle ou simulateur).&lt;/li>
&lt;li>&lt;strong>Exécution&lt;/strong> : Envoyez le job au backend et obtenez les résultats.&lt;/li>
&lt;li>&lt;strong>Analyse&lt;/strong> : Tracez des histogrammes des résultats de mesure, etc.&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="5-pratique--construction-dun-circuit-pour-créer-un-état-de-bell-intrication-quantique">5. Pratique : Construction d&amp;rsquo;un circuit pour créer un état de Bell (intrication quantique)
&lt;/h2>&lt;p>Essayons de créer « l&amp;rsquo;intrication quantique (état de Bell) » apprise en théorie avec Qiskit. L&amp;rsquo;état cible est $|\Phi^+\rangle = \frac{|00\rangle + |11\rangle}{\sqrt{2}}$.&lt;/p>
&lt;h3 id="51-conception-du-circuit">5.1 Conception du circuit
&lt;/h3>&lt;p>Pour créer un état de Bell, suivez ces étapes :&lt;/p>
&lt;ol>
&lt;li>Préparez deux qubits (l&amp;rsquo;état initial est $|0\rangle$ pour les deux).&lt;/li>
&lt;li>Appliquez une porte de Hadamard (H) au premier qubit pour le mettre dans un état superposé.&lt;/li>
&lt;li>Appliquez une porte CNOT avec le premier qubit comme &amp;ldquo;bit de contrôle&amp;rdquo; et le deuxième qubit comme &amp;ldquo;bit cible&amp;rdquo;.&lt;/li>
&lt;li>Effectuez une mesure (Measure) pour lire les résultats.&lt;/li>
&lt;/ol>
&lt;h3 id="52-implémentation-du-code-pythonqiskit">5.2 Implémentation du code Python/Qiskit
&lt;/h3>&lt;p>Examinons le code réel.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;span class="lnt">25
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">numpy&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="nn">np&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kn">from&lt;/span> &lt;span class="nn">qiskit&lt;/span> &lt;span class="kn">import&lt;/span> &lt;span class="n">QuantumCircuit&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">transpile&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kn">from&lt;/span> &lt;span class="nn">qiskit_aer&lt;/span> &lt;span class="kn">import&lt;/span> &lt;span class="n">Aer&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kn">from&lt;/span> &lt;span class="nn">qiskit.visualization&lt;/span> &lt;span class="kn">import&lt;/span> &lt;span class="n">plot_histogram&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">matplotlib.pyplot&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="nn">plt&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 1. Initialisation du circuit&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Créer un circuit quantique avec 2 qubits et 2 bits classiques&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">qc&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">QuantumCircuit&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">2&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 2. Application de la porte H&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Appliquer la porte de Hadamard au qubit 0 (q0)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">qc&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">h&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 3. Application de la porte CNOT&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Appliquer CNOT avec q0 comme bit de contrôle et q1 comme bit cible&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">qc&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">cx&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 4. Mesure&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Mesurer les qubits 0 et 1 et les écrire respectivement dans les bits classiques 0 et 1&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">qc&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">measure&lt;/span>&lt;span class="p">([&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">],&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">])&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Dessiner le diagramme du circuit (en utilisant matplotlib)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># qc.draw(&amp;#39;mpl&amp;#39;)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">qc&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">draw&lt;/span>&lt;span class="p">())&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Lorsque vous exécutez ce code, le schéma de circuit quantique suivant s&amp;rsquo;affiche en art ASCII sur la console.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;span class="lnt">7
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl"> ┌───┐ ┌─┐
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">q_0: ┤ H ├──■──┤M├───
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> └───┘┌─┴─┐└╥┘┌─┐
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">q_1: ─────┤ X ├─╫─┤M├
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> └───┘ ║ └╥┘
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">c: 2/═══════════╩══╩═
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> 0 1
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>&lt;code>H&lt;/code> représente la porte de Hadamard, la combinaison de &lt;code>■&lt;/code> et &lt;code>X&lt;/code> représente la porte CNOT, et &lt;code>M&lt;/code> représente la mesure.&lt;/p>
&lt;h3 id="53-exécution-sur-le-simulateur-et-interprétation-des-résultats">5.3 Exécution sur le simulateur et interprétation des résultats
&lt;/h3>&lt;p>Ensuite, nous allons exécuter ce circuit sur le simulateur hautes performances d&amp;rsquo;IBM &lt;code>Aer&lt;/code> et vérifier les résultats.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Obtenir le backend du simulateur Aer&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">simulator&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">Aer&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">get_backend&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;qasm_simulator&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Transpiler (optimiser) le circuit pour le simulateur&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">compiled_circuit&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">transpile&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">qc&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">simulator&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Exécuter le circuit (ici, exécution de 1000 tirs)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">job&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">simulator&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">run&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">compiled_circuit&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">shots&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">1000&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Obtenir le résultat&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">result&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">job&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">result&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Obtenir le nombre d&amp;#39;observations (counts) des états&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">counts&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">result&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">get_counts&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">compiled_circuit&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="se">\n&lt;/span>&lt;span class="s2">Résultat de mesure :&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">counts&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Tracer l&amp;#39;histogramme&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># plot_histogram(counts)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># plt.show()&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>&lt;strong>Interprétation des résultats&lt;/strong>&lt;/p>
&lt;p>La sortie de la console devrait ressembler à ceci :
&lt;code>Résultat de mesure : {'00': 495, '11': 505}&lt;/code>
(* Les probabilités étant aléatoires, les valeurs fluctueront légèrement à chaque exécution)&lt;/p>
&lt;p>Dans un environnement de simulation idéal, les résultats de mesure pour &lt;code>00&lt;/code> et &lt;code>11&lt;/code> sont observés à environ 50 % chacun, tandis que &lt;code>01&lt;/code> et &lt;code>10&lt;/code> ne sont pas du tout observés.
Cela correspond parfaitement à la prédiction théorique de l&amp;rsquo;état de Bell $|\Phi^+\rangle = \frac{|00\rangle + |11\rangle}{\sqrt{2}}$ que nous avons créé. &amp;ldquo;L&amp;rsquo;intrication quantique&amp;rdquo;, où si le premier qubit est 0 le second est toujours 0, et s&amp;rsquo;il est 1 le second est toujours 1, est simulée avec précision.&lt;/p>
&lt;p>Notez que lors de l&amp;rsquo;exécution sur une véritable machine quantique (IBM Quantum Hardware), en raison de l&amp;rsquo;influence du bruit (décohérence quantique et erreurs de porte), &lt;code>01&lt;/code> ou &lt;code>10&lt;/code> peuvent être légèrement observés. Comment réduire ce bruit (correction d&amp;rsquo;erreurs quantiques) est l&amp;rsquo;un des plus grand défis du développement actuel des ordinateurs quantiques.&lt;/p>
&lt;hr>
&lt;h2 id="6-mise-à-léchelle-vers-des-algorithmes-plus-avancés">6. Mise à l&amp;rsquo;échelle vers des algorithmes plus avancés
&lt;/h2>&lt;p>La création d&amp;rsquo;un état de Bell est comparable au &amp;ldquo;Hello World&amp;rdquo; de la programmation quantique. En développant cela plus loin, il est possible de construire de puissants algorithmes surpassant les ordinateurs classiques.&lt;/p>
&lt;h3 id="61-algorithme-de-deutsch-jozsa-deutsch-jozsa-algorithm">6.1 Algorithme de Deutsch-Jozsa (Deutsch-Jozsa Algorithm)
&lt;/h3>&lt;p>Il s&amp;rsquo;agit du problème de déterminer si une fonction donnée $f(x)$ est une &amp;ldquo;fonction constante (sort toujours 0 ou toujours 1 indépendamment de l&amp;rsquo;entrée)&amp;rdquo; ou une &amp;ldquo;fonction équilibrée (sort 0 pour la moitié des entrées et 1 pour l&amp;rsquo;autre moitié)&amp;rdquo;.
Un ordinateur classique nécessite dans le pire des cas $2^{n-1} + 1$ évaluations de la fonction, mais l&amp;rsquo;algorithme de Deutsch-Jozsa peut prendre cette décision avec &lt;strong>une seule évaluation&lt;/strong> en utilisant le parallélisme quantique. Ceci illustre le modèle de base d&amp;rsquo;un algorithme quantique : entrer un état superposé, utiliser l&amp;rsquo;interférence (Interference) pour annuler les états inutiles, et amplifier la réponse souhaitée.&lt;/p>
&lt;h3 id="62-algorithme-de-grover-grovers-algorithm">6.2 Algorithme de Grover (Grover&amp;rsquo;s Algorithm)
&lt;/h3>&lt;p>Dans le problème de recherche d&amp;rsquo;une donnée spécifique parmi $N$ bases de données non triées, alors qu&amp;rsquo;un algorithme classique nécessite en moyenne $N/2$ calculs, l&amp;rsquo;algorithme de Grover permet de trouver la donnée cible en $\sqrt{N}$ fois.
Cet algorithme utilise une boîte noire appelée &amp;ldquo;Oracle (Oracle)&amp;rdquo; pour inverser la phase de la solution cible, puis effectue une &amp;ldquo;amplification d&amp;rsquo;amplitude (Amplitude Amplification)&amp;rdquo; pour augmenter considérablement la probabilité que la solution cible soit observée.&lt;/p>
&lt;div class="mermaid">graph TD
A["Initialisation (superposition de tous les états)"] --> B["Oracle (inversion de la phase de la bonne réponse)"]
B --> C["Opérateur de diffusion (amplification de l'amplitude par inversion autour de la moyenne)"]
C --> D{"Probabilité suffisante atteinte ?"}
D -- "No" --> B
D -- "Yes" --> E["Mesure"]&lt;/div>
&lt;hr>
&lt;h2 id="7-conclusion-et-apprentissage-futur">7. Conclusion et apprentissage futur
&lt;/h2>&lt;p>Dans cet article, nous avons expliqué en détail les concepts fondamentaux du calcul quantique tels que la superposition et l&amp;rsquo;intrication quantique, la manipulation de portes logiques quantiques à l&amp;rsquo;aide de Qiskit, puis la construction, la simulation et l&amp;rsquo;interprétation des résultats d&amp;rsquo;un état de Bell.&lt;/p>
&lt;p>Qiskit pouvant être écrit en Python, un langage familier, c&amp;rsquo;est un outil puissant qui permet de surmonter les barrières mathématiques et physiques pour se concentrer sur la construction d&amp;rsquo;algorithmes. Les ordinateurs quantiques sont actuellement à l&amp;rsquo;ère des dispositifs quantiques à échelle intermédiaire bruités (NISQ : Noisy Intermediate-Scale Quantum), mais la recherche appliquée progresse rapidement dans le monde entier dans de nombreux domaines tels que l&amp;rsquo;apprentissage automatique (Quantum Machine Learning), la simulation chimique (Quantum Chemistry) et la cryptanalyse.&lt;/p>
&lt;p>Profitez de cette occasion pour créer vous-même divers circuits quantiques à l&amp;rsquo;aide de Qiskit et essayez de les faire fonctionner sur de véritables processeurs IBM Quantum. Vous devriez pouvoir expérimenter par vous-même le paradigme informatique du futur.&lt;/p>
&lt;h3 id="références">Références
&lt;/h3>&lt;ul>
&lt;li>&lt;a class="link" href="https://qiskit.org/documentation/" target="_blank" rel="noopener"
>Documentation officielle de Qiskit&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="https://qiskit.org/textbook/ja/preface.html" target="_blank" rel="noopener"
>Qiskit Textbook&lt;/a> - Texte officiel recommandé pour ceux qui souhaitent approfondir leurs connaissances sur le contexte mathématique et les algorithmes&lt;/li>
&lt;li>IBM Quantum Learning&lt;/li>
&lt;/ul>
&lt;p>Bienvenue dans le monde quantique !&lt;/p></description></item><item><title>Qu'est-ce que la suprématie quantique ? Les dernières tendances de Google et IBM</title><link>http://kenji.blog/fr/p/what-is-quantum-supremacy-google-ibm/</link><pubDate>Fri, 11 Sep 2026 18:00:00 +0900</pubDate><guid>http://kenji.blog/fr/p/what-is-quantum-supremacy-google-ibm/</guid><description>&lt;img src="http://kenji.blog/p/what-is-quantum-supremacy-google-ibm/img/eyecatch.jpg" alt="Featured image of post Qu'est-ce que la suprématie quantique ? Les dernières tendances de Google et IBM" />&lt;h2 id="1-introduction--laube-de-linformatique-quantique-et-la--suprématie-quantique-">1. Introduction : L&amp;rsquo;aube de l&amp;rsquo;informatique quantique et la « Suprématie quantique »
&lt;/h2>&lt;p>L&amp;rsquo;informatique quantique recèle le potentiel de résoudre des problèmes complexes, insolubles dans un délai réaliste par des ordinateurs classiques (les PC et les superordinateurs que nous utilisons quotidiennement), en appliquant les principes fondamentaux de la physique, à savoir la mécanique quantique, au traitement de l&amp;rsquo;information. Pendant longtemps, ce domaine a été principalement limité à la recherche théorique, mais ces dernières années, les progrès rapides du matériel ont intensifié la course vers une application pratique.&lt;/p>
&lt;p>Parmi ces développements, l&amp;rsquo;un des mots-clés ayant attiré le plus d&amp;rsquo;attention est la « Suprématie quantique » (Quantum Supremacy). Cela désigne le moment où un ordinateur quantique démontre une puissance de calcul écrasante par rapport à un ordinateur classique pour une tâche de calcul spécifique. Dans cet article, nous partirons de la définition rigoureuse de la suprématie quantique, puis nous expliquerons en détail l&amp;rsquo;expérience du processeur « Sycamore » de Google, annoncée en 2019 comme ayant atteint ce jalon historique pour la première fois au monde. Nous aborderons également la réfutation et l&amp;rsquo;approche unique d&amp;rsquo;IBM, ainsi que les dernières tendances vers la « Correction d&amp;rsquo;erreurs quantiques » (Quantum Error Correction : QEC) et le « Calcul quantique tolérant aux pannes » (Fault-Tolerant Quantum Computing : FTQC), qui constituent les obstacles majeurs à une véritable mise en pratique, tout en approfondissant les aspects techniques et mathématiques.&lt;/p>
&lt;hr>
&lt;h2 id="2-contexte-théorique--fondements-du-calcul-quantique-et-classes-de-complexité">2. Contexte théorique : Fondements du calcul quantique et classes de complexité
&lt;/h2>&lt;p>Pour comprendre la suprématie quantique, il est d&amp;rsquo;abord nécessaire d&amp;rsquo;appréhender les fondements mathématiques du calcul quantique et son positionnement dans la théorie de la complexité algorithmique.&lt;/p>
&lt;h3 id="qubits-et-superposition">Qubits et Superposition
&lt;/h3>&lt;p>Alors que la plus petite unité d&amp;rsquo;information dans un ordinateur classique est le bit (0 ou 1), un ordinateur quantique utilise le qubit (Quantum bit). L&amp;rsquo;état d&amp;rsquo;un seul qubit $|\psi\rangle$ est représenté par une combinaison linéaire complexe des états de base $|0\rangle$ et $|1\rangle$.&lt;/p>
$$
|\psi\rangle = \alpha|0\rangle + \beta|1\rangle
$$
&lt;p>Ici, $\alpha, \beta \in \mathbb{C}$, et ils satisfont la condition de normalisation $|\alpha|^2 + |\beta|^2 = 1$. Cette propriété est appelée « Superposition » (Superposition).&lt;/p>
&lt;h3 id="intrication-entanglement-et-produit-tensoriel">Intrication (Entanglement) et Produit tensoriel
&lt;/h3>&lt;p>Lorsqu&amp;rsquo;il existe plusieurs qubits, l&amp;rsquo;état du système global est représenté par le produit tensoriel des espaces d&amp;rsquo;états des qubits individuels. Un système de $n$ qubits devient un vecteur sur un espace de Hilbert de dimension $2^n$, $\mathcal{H}^{\otimes n}$.&lt;/p>
$$
|\Psi\rangle = \sum_{x \in \{0, 1\}^n} c_x |x\rangle
$$
&lt;p>Ici, $\sum |c_x|^2 = 1$. L&amp;rsquo;état dans lequel les qubits ne sont pas indépendants et où l&amp;rsquo;état de l&amp;rsquo;un dépend de l&amp;rsquo;autre est appelé « Intrication quantique » (Quantum Entanglement). Grâce à cela, un ordinateur quantique possède le potentiel de traiter simultanément un espace d&amp;rsquo;états exponentiellement vaste.&lt;/p>
&lt;h3 id="définition-de-la-suprématie-quantique-dans-la-théorie-de-la-complexité-algorithmique">Définition de la suprématie quantique dans la théorie de la complexité algorithmique
&lt;/h3>&lt;p>Dans la théorie de la complexité algorithmique, la classe des problèmes pouvant être résolus efficacement (en temps polynomial) par un ordinateur classique est appelée &lt;strong>BPP&lt;/strong> (Bounded-error Probabilistic Polynomial time). D&amp;rsquo;autre part, la classe des problèmes pouvant être résolus efficacement par un ordinateur quantique est &lt;strong>BQP&lt;/strong> (Bounded-error Quantum Polynomial time).&lt;/p>
&lt;p>Démontrer la suprématie quantique signifie « exécuter une tâche spécifique qui est incluse dans BQP mais pas dans BPP (ou dont la probabilité d&amp;rsquo;y être est extrêmement faible) sur du matériel quantique réel, et surpasser en temps et en ressources une simulation par un superordinateur classique ». On peut dire que c&amp;rsquo;est une tentative historique de réfuter par une expérience physique la thèse étendue de Church-Turing (« tout modèle de calcul physiquement réalisable peut être simulé en temps polynomial par une machine de Turing probabiliste »).&lt;/p>
&lt;hr>
&lt;h2 id="3-2019--démonstration-de-la-suprématie-quantique-par-google">3. 2019 : Démonstration de la suprématie quantique par Google
&lt;/h2>&lt;p>En octobre 2019, l&amp;rsquo;équipe Google Quantum AI a annoncé dans la revue scientifique &lt;em>Nature&lt;/em> avoir atteint la suprématie quantique en utilisant le processeur supraconducteur « Sycamore » de 53 qubits.&lt;/p>
&lt;h3 id="architecture-du-processeur-sycamore">Architecture du processeur Sycamore
&lt;/h3>&lt;p>Le processeur Sycamore est composé de 54 qubits supraconducteurs de type Transmon arrangés dans une grille bidimensionnelle (un qubit étant défectueux lors de l&amp;rsquo;expérience, 53 ont été utilisés). Des coupleurs ajustables (Tunable Couplers) sont placés entre les qubits adjacents, permettant de réaliser des portes à 2 qubits (un hybride entre la porte iSWAP et la porte Z contrôlée) rapides et très précises.&lt;/p>
&lt;div class="mermaid">graph TD
A["Entrée d'algorithme quantique"] --> B["Processeur Sycamore (53 Qubits)"]
B --> C["Appliquer des portes quantiques aléatoires"]
C --> D["Mesurer les états quantiques (Chaînes de bits)"]
D --> E["Évaluation par entropie croisée (XEB)"]
E --> F["Vérifier la suprématie quantique"]&lt;/div>
&lt;h3 id="échantillonnage-de-circuits-quantiques-aléatoires-random-circuit-sampling--rcs">Échantillonnage de circuits quantiques aléatoires (Random Circuit Sampling : RCS)
&lt;/h3>&lt;p>La tâche choisie par Google est « l&amp;rsquo;échantillonnage de circuits quantiques aléatoires ». Cela consiste à appliquer de manière répétée des portes quantiques à un qubit et à deux qubits choisies au hasard sur plusieurs cycles (profondeur $m$), puis à effectuer un échantillonnage à partir de la distribution de probabilité des chaînes de bits obtenues en mesurant l&amp;rsquo;état final.&lt;/p>
&lt;p>La probabilité d&amp;rsquo;obtenir une chaîne de bits $x$ à partir d&amp;rsquo;un circuit quantique aléatoire idéal (sans bruit) ne suit pas une distribution uniforme, mais présente un motif semblable à des franges d&amp;rsquo;interférence, appelé distribution de Porter-Thomas (Porter-Thomas distribution). Pour échantillonner à partir de cette distribution avec un ordinateur classique, il est nécessaire de simuler l&amp;rsquo;ensemble du vecteur d&amp;rsquo;état, et la complexité de calcul augmente de manière exponentielle avec le nombre de qubits $n$ et la profondeur du circuit $m$.&lt;/p>
&lt;h3 id="évaluation-de-la-fidélité-fidelity--évaluation-par-entropie-croisée-linéaire-xeb">Évaluation de la fidélité (Fidelity) : Évaluation par entropie croisée linéaire (XEB)
&lt;/h3>&lt;p>Pour prouver que les résultats de l&amp;rsquo;expérience n&amp;rsquo;étaient pas simplement du bruit, mais bien les résultats d&amp;rsquo;un calcul quantique réel, Google a utilisé l&amp;rsquo;évaluation par entropie croisée linéaire (Linear Cross-Entropy Benchmarking : XEB). La probabilité idéale $P(x_i)$ du circuit pour la chaîne de bits $x_i$ obtenue lors de l&amp;rsquo;expérience est calculée par un ordinateur classique, et la fidélité $\mathcal{F}_{\text{XEB}}$ est déterminée par la formule suivante.&lt;/p>
$$
\mathcal{F}_{\text{XEB}} = 2^n \langle P(x_i) \rangle_{i} - 1
$$
&lt;p>Si $\mathcal{F}_{\text{XEB}}$ est de 0, cela signifie un bruit complet, et s&amp;rsquo;il est de 1, cela signifie un processeur quantique idéal sans bruit. Le processeur Sycamore a atteint $\mathcal{F}_{\text{XEB}} \approx 0,002$ (0,2 %) pour un circuit d&amp;rsquo;une profondeur de 20. Bien que cela paraisse faible au premier abord, il s&amp;rsquo;agissait d&amp;rsquo;une valeur statistiquement significative supérieure à zéro, et d&amp;rsquo;un exploit remarquable ayant réussi à contrôler un espace d&amp;rsquo;états de $2^{53} \approx 9 \times 10^{15}$.&lt;/p>
&lt;p>Le taux d&amp;rsquo;erreur global a été modélisé de manière approximative comme le produit des erreurs de portes individuelles, des erreurs de mesure, etc.&lt;/p>
$$
\mathcal{F} \approx (1 - e_1)^{N_1}(1 - e_2)^{N_2} \cdots \approx \prod_{g \in 1Q} (1 - e_g) \prod_{g \in 2Q} (1 - e_g) \prod_{q} (1 - e_{RO})
$$
&lt;p>(* $e_g$ correspond à l&amp;rsquo;erreur de porte, $e_{RO}$ à l&amp;rsquo;erreur de mesure)&lt;/p>
&lt;p>Google a affirmé qu&amp;rsquo;il faudrait environ 10 000 ans pour simuler ce circuit sur le superordinateur classique (Summit). En revanche, Sycamore a terminé l&amp;rsquo;échantillonnage en seulement 200 secondes.&lt;/p>
&lt;hr>
&lt;h2 id="4-la-réfutation-dibm--de-la--suprématie--à-l-utilité--utility">4. La réfutation d&amp;rsquo;IBM : De la « Suprématie » à l&amp;rsquo;« Utilité » (Utility)
&lt;/h2>&lt;p>L&amp;rsquo;annonce de Google a provoqué une onde de choc dans le monde entier, mais IBM, qui a développé le plus grand superordinateur du monde « Summit » et qui est également un leader dans le développement d&amp;rsquo;ordinateurs quantiques, a immédiatement publié un article pour réfuter cette affirmation.&lt;/p>
&lt;h3 id="amélioration-de-la-simulation-classique-par-contraction-de-réseaux-tensoriels">Amélioration de la simulation classique par contraction de réseaux tensoriels
&lt;/h3>&lt;p>Le cœur de la réfutation d&amp;rsquo;IBM résidait dans le fait que « l&amp;rsquo;optimisation des algorithmes et des ressources du côté des ordinateurs classiques était insuffisante ». Google avait estimé le délai de 10 000 ans en se basant sur un simulateur de vecteur d&amp;rsquo;état calculant directement l&amp;rsquo;évolution temporelle de l&amp;rsquo;équation de Schrödinger. IBM a cependant souligné que l&amp;rsquo;utilisation d&amp;rsquo;une méthode appelée « Réseaux tensoriels » (Tensor Network) permettait de réduire drastiquement le temps de simulation.&lt;/p>
&lt;p>Dans les réseaux tensoriels, les opérations de portes d&amp;rsquo;un circuit quantique sont représentées comme des calculs de tableaux multidimensionnels (tenseurs), et l&amp;rsquo;ordre de la « contraction » (Contraction) du réseau est optimisé. De plus, IBM a affirmé qu&amp;rsquo;en exploitant pleinement le stockage massif de 250 Po de Summit (hiérarchisation du disque et de la mémoire), il était possible de réaliser une simulation de plus haute précision en seulement « 2,5 jours » tout en conservant l&amp;rsquo;intégralité du vecteur d&amp;rsquo;état.&lt;/p>
&lt;h3 id="avantage-quantique-quantum-advantage-et-utilité-quantique-quantum-utility">Avantage quantique (Quantum Advantage) et Utilité quantique (Quantum Utility)
&lt;/h3>&lt;p>À la suite de ce débat, la tendance générale de l&amp;rsquo;industrie est passée de l&amp;rsquo;obsession d&amp;rsquo;« exécuter une tâche artificielle impossible classiquement (Supremacy) » à celle de « démontrer un avantage substantiel par rapport aux approches classiques sur des problèmes utiles du monde réel (Quantum Advantage) », puis à la phase où « l&amp;rsquo;ordinateur quantique agit comme un nouvel outil de découverte scientifique (Quantum Utility) ».&lt;/p>
&lt;p>IBM elle-même évite le terme « suprématie » et propose des métriques de performance globale des processeurs quantiques telles que le « Volume quantique » (Quantum Volume) ou les « CLOPS (Circuit Layer Operations Per Second) », en poursuivant un développement qui met l&amp;rsquo;accent sur l&amp;rsquo;équilibre entre l&amp;rsquo;échelle et la qualité du matériel.&lt;/p>
&lt;div class="mermaid">timeline
title "L'évolution des jalons quantiques"
2019 : "Google Sycamore (53Q)" : "Annonce de la suprématie quantique"
2019 : "Réfutation d'IBM" : "Simulation sur superordinateur Summit en 2,5 jours"
2021 : "IBM Eagle (127Q)" : "Franchissement de la barre des 100 qubits"
2022 : "IBM Osprey (433Q)" : "Avancement de l'échelle des processeurs"
2023 : "Code de surface Google" : "Mise à l'échelle de la correction d'erreurs (d=3 à d=5)"
2023 : "Utilité quantique d'IBM" : "Simulation de modèle de spin complexe sur 127Q"
2024 : "Au-delà" : "Ère des qubits logiques et de l'atténuation des erreurs"&lt;/div>
&lt;hr>
&lt;h2 id="5-la-prochaine-frontière--atténuation-des-erreurs-error-mitigation-et-correction-derreurs-quantiques-qec">5. La prochaine frontière : Atténuation des erreurs (Error Mitigation) et Correction d&amp;rsquo;erreurs quantiques (QEC)
&lt;/h2>&lt;p>Les ordinateurs quantiques actuels sont appelés « NISQ (Noisy Intermediate-Scale Quantum) ». Ils sont sensibles aux bruits (erreurs dues aux interactions avec l&amp;rsquo;environnement externe ou à des imperfections de contrôle), et lors de longs calculs, les résultats se retrouvent noyés dans le bruit. Pour surmonter ce problème, il existe deux grandes approches : l&amp;rsquo;« Atténuation des erreurs » (Error Mitigation) et la « Correction d&amp;rsquo;erreurs quantiques » (Quantum Error Correction).&lt;/p>
&lt;h3 id="atténuation-des-erreurs-error-mitigation">Atténuation des erreurs (Error Mitigation)
&lt;/h3>&lt;p>L&amp;rsquo;atténuation des erreurs est une méthode qui élimine l&amp;rsquo;impact du bruit de la valeur attendue des résultats de calcul par un post-traitement classique, sans modifier le matériel quantique. En 2023, en combinant son processeur « Eagle » de 127 qubits avec des techniques d&amp;rsquo;atténuation des erreurs telles que l&amp;rsquo;« Extrapolation du bruit à zéro » (Zero-Noise Extrapolation : ZNE), IBM a atteint une précision dépassant la méthode des réseaux tensoriels approximatifs de pointe dans la simulation de l&amp;rsquo;évolution temporelle d&amp;rsquo;un modèle d&amp;rsquo;Ising complexe, démontrant ainsi l&amp;rsquo;« Utilité quantique » (Quantum Utility).&lt;/p>
&lt;h3 id="correction-derreurs-quantiques-qec-et-qubits-logiques">Correction d&amp;rsquo;erreurs quantiques (QEC) et Qubits logiques
&lt;/h3>&lt;p>Cependant, pour pouvoir finalement exécuter n&amp;rsquo;importe quel algorithme complexe (par exemple, l&amp;rsquo;algorithme de factorisation de Shor ou des calculs de chimie quantique complexes), l&amp;rsquo;atténuation des erreurs seule est insuffisante, et la « Correction d&amp;rsquo;erreurs quantiques » (QEC), qui détecte et corrige dynamiquement les erreurs, est indispensable.&lt;/p>
&lt;p>L&amp;rsquo;approche dominante en matière de QEC est le « Code de surface » (Surface Code). Il s&amp;rsquo;agit d&amp;rsquo;une méthode consistant à arranger plusieurs qubits physiques (qubits de données) dans une grille bidimensionnelle, et à placer des qubits de mesure (qubits ancilla) entre eux pour effectuer de manière continue des vérifications de parité appelées « Stabilisateurs » (Stabilizer).&lt;/p>
&lt;div class="mermaid">graph LR
Q1["Qubit de données (Données)"] --- M1["Mesurer le stabilisateur X (Ancilla)"]
Q2["Qubit de données (Données)"] --- M1
Q3["Qubit de données (Données)"] --- M2["Mesurer le stabilisateur Z (Ancilla)"]
Q4["Qubit de données (Données)"] --- M2
M1 --> EC["Décodage du syndrome d'erreur (Classique)"]
M2 --> EC
EC --> LQ["Mise à jour de l'état du qubit logique"]&lt;/div>
&lt;h4 id="théorème-du-seuil-threshold-theorem-et-distance-d">Théorème du seuil (Threshold Theorem) et Distance $d$
&lt;/h4>&lt;p>La correction d&amp;rsquo;erreurs quantiques s&amp;rsquo;appuie sur le « Théorème du seuil ». Si le taux d&amp;rsquo;erreur des qubits physiques $p$ est inférieur à un certain seuil $p_{th}$ (environ 1 % pour le code de surface), il est possible de réduire de manière exponentielle le taux d&amp;rsquo;erreur logique $p_L$ en augmentant la distance de code (Distance) $d$ (c&amp;rsquo;est-à-dire en allouant plus de qubits physiques à un seul qubit logique).&lt;/p>
&lt;p>La formule approximative du taux d&amp;rsquo;erreur logique s&amp;rsquo;exprime comme suit :&lt;/p>
$$
p_L \approx \Lambda \left( \frac{p}{p_{th}} \right)^{\frac{d+1}{2}}
$$
&lt;p>Ici, $\Lambda$ est une constante. Si $p &lt; p_{th}$, plus $d$ est grand, plus $p_L$ diminue. Cependant, si $p > p_{th}$, l&amp;rsquo;ajout de qubits physiques entraîne une accumulation de bruit, détériorant le taux d&amp;rsquo;erreur logique.&lt;/p>
&lt;h4 id="jalon-de-google-en-2023--démonstration-de-la-réduction-des-erreurs-par-lextension-de-la-distance">Jalon de Google en 2023 : Démonstration de la réduction des erreurs par l&amp;rsquo;extension de la distance
&lt;/h4>&lt;p>En février 2023, Google a publié un article monumental dans &lt;em>Nature&lt;/em>. En utilisant son processeur Sycamore de 3ème génération, ils ont démontré pour la première fois au monde qu&amp;rsquo;en étendant la distance du code de surface de $d=3$ (utilisation de 17 qubits physiques) à $d=5$ (utilisation de 49 qubits physiques), le taux d&amp;rsquo;erreur logique diminuait légèrement, passant de 3,028 % à 2,914 %.&lt;/p>
&lt;p>Cela signifie qu&amp;rsquo;ils ont pénétré dans la zone où $p &lt; p_{th}$, et cela indique que la validation de principe (Proof of Concept) la plus importante vers le FTQC, à savoir que plus on augmente le nombre de qubits physiques, plus les performances s&amp;rsquo;améliorent, a été réalisée.&lt;/p>
&lt;hr>
&lt;h2 id="6-feuille-de-route-et-perspectives-vers-le-ftqc-calcul-quantique-tolérant-aux-pannes">6. Feuille de route et perspectives vers le FTQC (Calcul quantique tolérant aux pannes)
&lt;/h2>&lt;p>Google et IBM, bien qu&amp;rsquo;adoptant des architectures et des approches différentes, se livrent à une course au développement acharnée vers leur objectif final, le FTQC (Fault-Tolerant Quantum Computing).&lt;/p>
&lt;h3 id="lapproche-dibm--modularisation-et-grille-heavy-hex">L&amp;rsquo;approche d&amp;rsquo;IBM : Modularisation et grille Heavy-Hex
&lt;/h3>&lt;p>IBM se concentre sur la mise à l&amp;rsquo;échelle de ses processeurs tout en cherchant à réduire drastiquement le taux d&amp;rsquo;erreur. Tout en repoussant les limites des puces uniques avec « Eagle (127Q) », « Osprey (433Q) » et « Condor (1121Q) », ils ont annoncé une architecture modulaire appelée « Quantum System Two ». De plus, ils adoptent une « Grille Heavy-Hex » (Heavy-Hex lattice) pour la topologie de couplage de leurs qubits, ce qui réduit la diaphonie (crosstalk) indésirable et augmente la stabilité. La stratégie d&amp;rsquo;IBM est une approche hybride : poursuivre l&amp;rsquo;utilité à court terme grâce à une atténuation avancée des erreurs, tout en introduisant progressivement la QEC.&lt;/p>
&lt;h3 id="lapproche-de-google--amélioration-de-la-qualité-des-qubits-logiques">L&amp;rsquo;approche de Google : Amélioration de la qualité des qubits logiques
&lt;/h3>&lt;p>La stratégie de Google met davantage l&amp;rsquo;accent sur la réduction extrême du taux d&amp;rsquo;erreur d&amp;rsquo;un seul qubit logique (par exemple, jusqu&amp;rsquo;à $10^{-6}$) plutôt que sur l&amp;rsquo;augmentation rapide du nombre de qubits physiques. Sur cette base, ils visent à établir une technologie de transfert des états quantiques entre les modules (Quantum Interconnects) et à créer un système à grande échelle faisant fonctionner plusieurs milliers à plusieurs dizaines de milliers de qubits physiques en parallèle.&lt;/p>
&lt;p>La mise en œuvre de protocoles permettant d&amp;rsquo;exécuter des portes non-Clifford avec une tolérance aux pannes, comme la distillation d&amp;rsquo;états magiques (Magic State Distillation), constituera également un obstacle technique majeur à l&amp;rsquo;avenir. Pour exécuter un algorithme de Shor pratique capable de casser un chiffrement RSA de 2048 bits, il faudrait des milliers de qubits logiques avec un taux d&amp;rsquo;erreur inférieur à $10^{-8}$, ce qui équivaut à plusieurs millions ou dizaines de millions de qubits physiques, ce qui indique que le chemin est encore long.&lt;/p>
&lt;hr>
&lt;h2 id="7-conclusion">7. Conclusion
&lt;/h2>&lt;p>La « Suprématie quantique » a constitué une étape importante dans l&amp;rsquo;histoire des ordinateurs quantiques, prouvant physiquement le potentiel théorique de ces machines. La démonstration de Google en 2019 et la réfutation constructive d&amp;rsquo;IBM ont poussé l&amp;rsquo;ensemble de l&amp;rsquo;industrie au-delà d&amp;rsquo;une simple preuve théorique vers la poursuite d&amp;rsquo;une utilité réelle (Utility), puis vers l&amp;rsquo;ère de l&amp;rsquo;ingénierie à part entière menant au calcul quantique tolérant aux pannes (FTQC).&lt;/p>
&lt;p>Aujourd&amp;rsquo;hui, nous assistons à une période de transition entre les dispositifs NISQ remplis de bruit et les dispositifs à qubits logiques dotés d&amp;rsquo;une correction d&amp;rsquo;erreurs. Au cours des cinq à dix prochaines années, de nouvelles découvertes en science des matériaux, des révolutions dans le processus de découverte de médicaments, et des avancées majeures dans les problèmes d&amp;rsquo;optimisation deviendront réalité en tandem avec l&amp;rsquo;évolution de ce matériel quantique.&lt;/p>
&lt;p>Il faudra continuer de suivre de près les développements de Google, d&amp;rsquo;IBM, et des chercheurs du monde entier qui façonnent l&amp;rsquo;informatique de demain.&lt;/p></description></item></channel></rss>