Aller au contenu principal

Algorithmes variationnels

Avant de commencer, merci de compléter ce court sondage pré-cours, qui est important pour nous aider à améliorer nos contenus et l'expérience utilisateur.

Ce cours couvre les spécificités des algorithmes variationnels et des algorithmes hybrides quantiques-classiques à court terme basés sur le théorème variationnel de la mécanique quantique. Ces algorithmes peuvent tirer parti de l'utilité fournie par les ordinateurs quantiques non tolérants aux fautes d'aujourd'hui, ce qui en fait des candidats idéaux pour atteindre l'avantage quantique.

Tout au long de ce cours, nous explorerons :

  • Chaque étape du flux de travail de conception d'algorithmes variationnels
  • Les compromis associés à chaque étape
  • Comment utiliser les primitives Qiskit Runtime pour optimiser la vitesse et la précision

Bien que ce cours soit conçu comme point de départ pour les chercheurs et les développeurs qui souhaitent explorer l'utilité des ordinateurs quantiques, n'hésite pas à explorer les connaissances théoriques et fondamentales du calcul quantique en général dans le cours Bases de l'information et du calcul quantiques (également disponible sous la forme d'une série de vidéos YouTube).

Flux de travail hybride simplifié

Déroulement d'un algorithme variationnel montrant les étapes : initialiser le problème, préparer l'ansatz, évaluer la fonction de coût, optimiser les paramètres. Les algorithmes variationnels comprennent plusieurs composantes modulaires pouvant être combinées et optimisées en fonction des avancées en algorithmes, logiciels et matériels. Cela comprend une fonction de coût qui décrit un problème spécifique avec un ensemble de paramètres, un ansatz pour exprimer l'espace de recherche avec ces paramètres, et un optimiseur pour explorer itérativement l'espace de recherche. À chaque itération, l'optimiseur évalue la fonction de coût avec les paramètres actuels et sélectionne les paramètres de la prochaine itération jusqu'à ce qu'il converge vers une solution optimale. La nature hybride de cette famille d'algorithmes vient du fait que les fonctions de coût sont évaluées à l'aide de ressources quantiques et optimisées par des ressources classiques.

  1. Initialiser le problème : Les algorithmes variationnels commencent par initialiser l'ordinateur quantique dans un état par défaut 0|0\rangle, puis le transforment en un état souhaité (non paramétré) ρ|\rho\rangle, que nous appellerons état de référence.

    Cette transformation est représentée par l'application d'un opérateur de référence unitaire URU_R sur l'état par défaut, tel que UR0=ρU_R|0\rangle = |\rho\rangle.

  2. Préparer l'ansatz : Pour commencer l'optimisation itérative depuis l'état par défaut 0|0\rangle vers l'état cible ψ(θ)|\psi(\vec\theta)\rangle, on doit définir une forme variationnelle UV(θ)U_V(\vec\theta) pour représenter une collection d'états paramétrés que notre algorithme variationnel va explorer.

    On désigne toute combinaison particulière d'état de référence et de forme variationnelle sous le nom d'ansatz, tel que : UA(θ):=UV(θ)URU_A(\vec\theta) := U_V(\vec\theta) U_R. Les ansaetze prendront finalement la forme de circuits quantiques paramétrés capables de faire passer l'état par défaut 0|0\rangle à l'état cible ψ(θ)|\psi(\vec\theta)\rangle.

    En résumé, nous aurons :

    0URUR0=ρUV(θ)UA(θ)0=UV(θ)UR0=UV(θ)ρ=ψ(θ)\begin{aligned} |0\rangle \xrightarrow{U_R} U_R|0\rangle & = |\rho\rangle \xrightarrow{U_V(\vec{\theta})} U_A(\vec{\theta})|0\rangle \\[1mm] & = U_V(\vec{\theta})U_R|0\rangle \\[1mm] & = U_V(\vec{\theta})|\rho\rangle \\[1mm] & = |\psi(\vec{\theta})\rangle \\[1mm] \end{aligned}
  3. Évaluer la fonction de coût : On peut encoder notre problème dans une fonction de coût C(θ)C(\vec\theta) sous la forme d'une combinaison linéaire d'opérateurs de Pauli, exécutée sur un système quantique. Bien que cela puisse être une information sur un système physique, comme l'énergie ou le spin, on peut aussi encoder des problèmes non physiques. On peut tirer parti des primitives Qiskit Runtime pour gérer le bruit avec la suppression et l'atténuation d'erreurs lors de l'évaluation de notre fonction de coût.

  4. Optimiser les paramètres : Les évaluations sont transmises à un ordinateur classique, où un optimiseur classique les analyse et choisit le prochain ensemble de valeurs pour les paramètres variationnels. Si nous disposons d'une solution optimale préexistante, nous pouvons la définir comme point initial θ0\vec\theta_0 pour amorcer notre optimisation. Utiliser cet état initial ψ(θ0)|\psi(\vec\theta_0)\rangle pourrait aider notre optimiseur à trouver une solution valide plus rapidement.

  5. Ajuster les paramètres de l'ansatz avec les résultats et relancer : L'ensemble du processus est répété jusqu'à ce que les critères de finalisation de l'optimiseur classique soient satisfaits, et un ensemble optimal de valeurs de paramètres θ\vec\theta^* est retourné. L'état solution proposé pour notre problème sera alors ψ(θ)=UA(θ)0|\psi(\vec\theta^*)\rangle = U_A(\vec\theta^*)|0\rangle.

Théorème variationnel

Un objectif commun des algorithmes variationnels est de trouver l'état quantique avec la valeur propre la plus basse ou la plus haute d'une certaine observable. Une idée clé que nous utiliserons est le théorème variationnel de la mécanique quantique. Avant d'en exposer la formulation complète, explorons l'intuition mathématique qui le sous-tend.

Intuition mathématique pour l'énergie et les états fondamentaux

En mécanique quantique, l'énergie se présente sous la forme d'une observable quantique généralement appelée le Hamiltonien, que nous désignerons par H^\hat{\mathcal{H}}. Considérons sa décomposition spectrale :

H^=k=0N1λkϕkϕk\hat{\mathcal{H}} = \sum_{k=0}^{N-1} \lambda_k |\phi_k\rangle \langle \phi_k|

NN est la dimensionnalité de l'espace des états, λk\lambda_{k} est la kk-ième valeur propre ou, physiquement, le kk-ième niveau d'énergie, et ϕk|\phi_k\rangle est l'état propre correspondant : H^ϕk=λkϕk\hat{\mathcal{H}}|\phi_k\rangle = \lambda_k |\phi_k\rangle, l'énergie attendue d'un système dans l'état (normalisé) ψ|\psi\rangle sera :

ψH^ψ=ψ(k=0N1λkϕkϕk)ψ=k=0N1λkψϕkϕkψ=k=0N1λkψϕk2\begin{aligned} \langle \psi | \hat{\mathcal{H}} | \psi \rangle & = \langle \psi |\bigg(\sum_{k=0}^{N-1} \lambda_k |\phi_k\rangle \langle \phi_k|\bigg) | \psi \rangle \\[1mm] & = \sum_{k=0}^{N-1} \lambda_k \langle \psi |\phi_k\rangle \langle \phi_k| \psi \rangle \\[1mm] & = \sum_{k=0}^{N-1} \lambda_k |\langle \psi |\phi_k\rangle|^2 \\[1mm] \end{aligned}

En tenant compte du fait que λ0λk,k\lambda_0\leq \lambda_k, \forall k, nous avons :

ψH^ψ=k=0N1λkψϕk2k=0N1λ0ψϕk2=λ0k=0N1ψϕk2=λ0\begin{aligned} \langle \psi | \hat{\mathcal{H}} | \psi \rangle & = \sum_{k=0}^{N-1} \lambda_k |\langle \psi |\phi_k\rangle|^2 \\[1mm] & \geq \sum_{k=0}^{N-1} \lambda_0 |\langle \psi |\phi_k\rangle|^2 \\[1mm] & = \lambda_0 \sum_{k=0}^{N-1} |\langle \psi |\phi_k\rangle|^2 \\[1mm] & = \lambda_0 \\[1mm] \end{aligned}

Puisque {ϕk}k=0N1\{|\phi_k\rangle \}_{k=0}^{N-1} est une base orthonormale, la probabilité de mesurer ϕk|\phi_{k} \rangle est pk=ψϕk2p_k = |\langle \psi |\phi_{k} \rangle |^2, et la somme de toutes les probabilités est telle que k=0N1ψϕk2=k=0N1pk=1\sum_{k=0}^{N-1} |\langle \psi |\phi_k\rangle|^2 = \sum_{k=0}^{N-1}p_k = 1. En bref, l'énergie attendue de tout système est supérieure à l'énergie la plus basse ou énergie de l'état fondamental :

ψH^ψλ0.\langle \psi | \hat{\mathcal{H}} | \psi \rangle \geq \lambda_0.

L'argument ci-dessus s'applique à tout état quantique (normalisé) ψ|\psi\rangle valide, il est donc tout à fait possible de considérer des états paramétrés ψ(θ)|\psi(\vec\theta)\rangle qui dépendent d'un vecteur de paramètres θ\vec\theta. C'est là qu'intervient la partie « variationnelle ». Si nous considérons une fonction de coût donnée par C(θ):=ψ(θ)H^ψ(θ)C(\vec\theta) := \langle \psi(\vec\theta)|\hat{\mathcal{H}}|\psi(\vec\theta)\rangle et souhaitons la minimiser, le minimum satisfera toujours :

minθC(θ)=minθψ(θ)H^ψ(θ)λ0.\min_{\vec\theta} C(\vec\theta) = \min_{\vec\theta} \langle \psi(\vec\theta)|\hat{\mathcal{H}}|\psi(\vec\theta)\rangle \geq \lambda_0.

La valeur minimale de C(θ)C(\vec\theta) sera la plus proche qu'on puisse atteindre de λ0\lambda_0 en utilisant les états paramétrés ψ(θ)|\psi(\vec\theta)\rangle, et l'égalité ne sera atteinte que s'il existe un vecteur de paramètres θ\vec\theta^* tel que ψ(θ)=ϕ0.|\psi(\vec\theta^*)\rangle = |\phi_0\rangle.

Théorème variationnel de la mécanique quantique

Si l'état (normalisé) ψ|\psi\rangle d'un système quantique dépend d'un vecteur de paramètres θ\vec\theta, alors la meilleure approximation de l'état fondamental (c'est-à-dire l'état propre ϕ0|\phi_0\rangle avec la valeur propre minimale λ0\lambda_0) est celle qui minimise la valeur d'espérance du Hamiltonien H^\hat{\mathcal{H}} :

H^(θ):=ψ(θ)H^ψ(θ)λ0\langle \hat{\mathcal{H}} \rangle(\vec\theta) := \langle \psi(\vec\theta) |\hat{\mathcal{H}}| \psi(\vec\theta) \rangle \geq \lambda_0

La raison pour laquelle le théorème variationnel est formulé en termes de minima d'énergie est qu'il inclut un certain nombre d'hypothèses mathématiques :

  • Pour des raisons physiques, une borne inférieure finie de l'énergie Eλ0>E \geq \lambda_0 > -\infty doit exister, même pour NN\rightarrow\infty.
  • Les bornes supérieures n'existent généralement pas.

Cependant, d'un point de vue mathématique, il n'y a rien de spécial dans le Hamiltonien H^\hat{\mathcal{H}} au-delà de ces hypothèses, donc le théorème peut être généralisé à d'autres observables quantiques et leurs états propres, à condition qu'ils respectent les mêmes contraintes. De plus, si des bornes supérieures finies existent, les mêmes arguments mathématiques pourraient être utilisés pour maximiser les valeurs propres en échangeant les bornes inférieures contre des bornes supérieures.

Résumé

Avec cette leçon, tu as appris la vue d'ensemble des algorithmes variationnels. Dans les leçons suivantes, nous explorerons chaque étape plus en détail, ainsi que les compromis associés.