Expert Chapitre 45-46 / 23

Architectures matérielles & Modèles alternatifs de calcul quantique

Révision Expert : technologies de qubits (supraconducteurs, ions piégés, photons, atomes neutres, spins) et modèles de calcul (par mesure, adiabatique, topologique) — sans prérequis mathématiques, avec du code Q# et Qiskit.

Architectures matérielles — sur quoi tourne vraiment un qubit ?

Tu écris H(q) en Q# ou qc.h(0) en Qiskit sans savoir physiquement ce qu’est le qubit. Pourtant plusieurs technologies très différentes se disputent l’avenir, et toutes doivent réussir le même cahier des charges. Aucune ne gagne sur tous les tableaux.

Les 3 propriétés à arbitrer

  • Cohérence — combien de temps le qubit garde son état avant que le bruit ne l’efface (les temps T1/T2). Trop court = le calcul n’a pas le temps de se terminer.
  • Connectivité — quels qubits peuvent interagir directement. Si deux qubits ne sont pas « câblés » entre eux, il faut insérer des SWAP (routage) pour les rapprocher.
  • Fidélité — la précision d’une porte ou d’une mesure (ex. 99,9 % par porte). Chaque petite erreur s’accumule le long du circuit.

S’y ajoutent la vitesse de porte et la scalabilité (savoir passer à des milliers de qubits sans tout dégrader).

Les grandes plateformes

PlateformePorteur du qubitConnectivitéVitesse / CohérenceActeurs
Supraconducteurscircuit refroidi à ~15 mK (« atome artificiel »)voisins sur grille 2D (faible)portes ns (rapides) / cohérence µs (courte)IBM, Google
Ions piégésion atomique dans le vide, piloté par laserall-to-all (forte)portes µs–ms (lentes) / cohérence ~s (longue)IonQ, Quantinuum
Photoniquesphoton (lumière)via mesure / réseau optiqueportes probabilistes / pertes de photonsPsiQuantum, Xanadu
Atomes neutresatome neutre en pinces optiques (Rydberg)reconfigurableintermédiaire / intermédiaireQuEra, Pasqal
Spin en siliciumspin d’un électron dans une boîte quantiquevoisinsrapide / réutilise les usines CMOSIntel

Intuition. Un supraconducteur est un minuscule circuit qui se comporte comme un atome : rapide mais fragile et bavard seulement avec ses voisins. Un ion piégé est un vrai atome immobilisé dans le vide : lent à manipuler mais très stable et capable de « parler » à n’importe quel autre. Le photon voyage parfaitement mais refuse d’interagir avec ses semblables — d’où des portes probabilistes.

Pourquoi ça touche ton code

  • La connectivité de la puce (sa coupling map) décide du nombre de SWAP ajoutés à la transpilation.
  • Le jeu de portes natives change d’une techno à l’autre → ton circuit abstrait doit être réécrit (basis gates).
  • Q# est agnostique du matériel : le même source est compilé (QIR) vers différents backends.
# La connectivité matérielle décide s'il faut des SWAP.
from qiskit import QuantumCircuit, transpile
from qiskit.transpiler import CouplingMap

# « Supraconducteur » : ligne 0-1-2, donc 0 et 2 NE sont PAS voisins
supra = CouplingMap([[0, 1], [1, 2]])
# « Ions piégés » : all-to-all, tout le monde est voisin
ions  = CouplingMap([[0,1],[0,2],[1,2],[1,0],[2,0],[2,1]])

qc = QuantumCircuit(3)
qc.cx(0, 2)                          # 0 et 2 doivent interagir

print(transpile(qc, coupling_map=supra, basis_gates=['cx','u']).count_ops())  # des SWAP ajoutés
print(transpile(qc, coupling_map=ions,  basis_gates=['cx','u']).count_ops())  # aucun SWAP
// Q# est AGNOSTIQUE du matériel : le même source est compilé (QIR)
// vers IonQ, Quantinuum, etc. — c'est le backend qui mappe H/CNOT
// sur les portes natives et la connectivité réelle de la puce.
operation Bell() : (Result, Result) {
    use (a, b) = (Qubit(), Qubit());
    H(a);              // l'auteur ignore la techno sous-jacente
    CNOT(a, b);        // sur ions : direct ; sur supra : peut coûter des SWAP
    return (MResetZ(a), MResetZ(b));
}

⚠️ « Plus de qubits » ≠ « plus puissant ». Une puce de 1000 qubits bruités, mal connectés et peu fidèles peut être inférieure à 30 qubits all-to-all très fidèles. Compare toujours fidélité × connectivité × cohérence, jamais le seul compte de qubits.


Modèles alternatifs de calcul quantique

Depuis le début, tu programmes en modèle par circuit : une suite de portes appliquées dans le temps. Mais ce n’est qu’un modèle parmi plusieurs. Les autres calculent la même chose — la même puissance — mais autrement, et certains collent bien mieux à certains matériels.

ModèlePrincipe / ressource« Programmer » =Matériel naturelUniversel ?
Par circuit (référence)suite de portes unitaireschoisir l’ordre des portessupraconducteurs, ionsoui
Par mesure (one-way)grand état intriqué (cluster state)mesurer dans des bases adaptativesphotoniqueoui
Adiabatique / recuitétat fondamental d’un Hamiltonienencoder le problème en « énergie »recuit (D-Wave)oui (théorique) ; D-Wave = restreint
Topologiqueanyons, information non-localetresser les anyonsMajorana (Microsoft)oui (visé)

Calcul par mesure (one-way / MBQC)

On prépare d’abord un grand état intriqué en forme de grille — le cluster state (ou état graphe). Ici l’intrication EST la ressource. On calcule ensuite en mesurant les qubits un par un, dans des bases choisies, où la base de chaque mesure dépend des résultats précédents (feed-forward, adaptatif).

Analogie. Au lieu d’un programme d’opérations, on prépare un échafaudage richement connecté, puis on « sculpte » la réponse en mesurant. Idéal pour la photonique (les portes à 2 qubits y sont difficiles, mais la mesure est facile).

Adiabatique & recuit quantique

On fabrique un « paysage d’énergie » (un Hamiltonien) dont le point le plus bas (l’état fondamental) est exactement la solution du problème. On démarre dans le creux facile d’un Hamiltonien simple, puis on déforme le paysage lentement (« adiabatiquement ») : le système reste au fond et finit dans la réponse.

Analogie. Une bille se loge dans la vallée la plus basse si on incline le relief assez doucement pour qu’elle ne soit jamais éjectée.

Calcul topologique

On stocke l’information de façon non-locale dans des quasi-particules exotiques (les anyons) et on calcule en les tressant (en les déplaçant les unes autour des autres). Comme l’information est inscrite dans la « forme du nœud », un bruit local ne peut pas la défaire : protection contre les erreurs intrinsèque. C’est le pari de Microsoft (qubits de Majorana), encore largement expérimental.

# Ressource de départ du calcul par mesure : un « état graphe »
# (cluster state). On intrique des voisins avec des CZ ; ensuite
# on CALCULE en mesurant les qubits un à un (bases adaptatives).
from qiskit import QuantumCircuit
g = QuantumCircuit(4)
g.h(range(4))                         # tous en superposition
g.cz(0, 1); g.cz(1, 2); g.cz(2, 3)    # arêtes du graphe (intrication)
# Étape suivante : mesurer 0,1,2,3 dans des bases choisies.
// Même un état-ressource « par mesure » se prépare avec des portes
// dans un simulateur : H partout, puis un CZ sur chaque arête.
operation ClusterState(qs : Qubit[]) : Unit {
    ApplyToEach(H, qs);                    // superposition
    for i in 0 .. Length(qs) - 2 {
        CZ(qs[i], qs[i + 1]);              // arête entre voisins
    }
    // Le « calcul » consisterait ensuite à mesurer adaptativement.
}

⚠️ Deux pièges. (1) Les modèles alternatifs ne sont pas plus puissants : même classe BQP, à un surcoût polynomial près. (2) Le recuit commercial (D-Wave) n’est ni prouvé universel ni prouvé plus rapide que le classique sur l’optimisation générale — c’est une heuristique, à ne pas confondre avec le calcul adiabatique universel (théorique).


Quiz — teste tes connaissances
Expert 7 questions Objectif : 5/7 minimum
0/7
bonnes reponses
Objectif non atteint (minimum 5/7 requis).
Remonte relire la fiche memo ci-dessus en pretant attention aux points rates, puis clique sur « Recommencer » pour retenter.