Tout au long de cette réponse, la norme d'une matrice , ‖ A ‖ sera considérée comme la norme spectrale de A (c'est-à-dire la plus grande valeur singulière de A ). Le théorème de Solovay-Kitaev déclare que l'approximation d'une porte à l'intérieur d'une erreur ϵ nécessite O ( log c 1A∥A∥AAϵportails, pourc<4dans n'importe quel nombre fixe de dimensions.
O(logc1ϵ)
c<4
Pour la première partie:
l'approximation introduit une erreur qui se propagerait et s'accumulerait dans un long calcul
Eh bien, il peut être démontré par induction que les erreurs qui s'accumulent en utilisant une matrice pour en approcher une autre sont sous-additives (voir par exemple les notes de cours d'Andrew Child ). Autrement dit, pour les matrices unitaires et V i , ‖ U i - V i ‖ < ϵUiVi .∥Ui−Vi∥<ϵ∀i∈{1,2,…,t}⟹∥Ut…U2U1−Vt…V2V1∥≤tϵ
Ce que cela signifie en termes de mise en œuvre est que, pour une erreur globale plus que à atteindre, chacun des besoins de porte à approcher à l' intérieur ε / tϵϵ/t , ou
appliquer l'approximation au circuit dans son ensemble
revient à appliquer l'approximation à chaque porte individuelle, chacune avec une erreur individuelle pas plus que celle de l'ensemble du circuit divisée par le nombre de portes que vous approchez.
En termes de synthèse de portes, l'algorithme est réalisé en prenant les produits de l'ensemble de portes pour former un nouvel ensemble de portes Γ 0 qui forme un filet ϵ 2 pour SU ( d ) (pour tout A ∈ SU ( d ) ,ΓΓ0ϵ2SU(d) ). À partir de l'identité, un nouvel unitaire est récursivement trouvé dans le nouvel ensemble de portes afin d'obtenir un filet plus serré autour de l'unité cible. Curieusement, le temps pour un algorithme classique pour effectuer cette opération est également O ( p o l y log 1 / ϵ ) , qui est le temps sous-polynomial. Cependant, selonHarrow, Recht, Chuang, endimensions d , comme une boule de rayon ϵ autour de SU ( d )A∈SU(d),∃U∈Γ0s.t.∥A−U∥≤ϵ2O(polylog1/ϵ)dϵSU(d)a un volume , cette échelle exponentielle en d 2∝ϵd2−1d2 pour un nombre de dimensions non fixe.
Cela a un effet sur le temps de calcul final. Cependant, comme la mise à l'échelle du nombre de portes et de la complexité de calcul classique est sous-polynomiale, cela ne change pas la classe de complexité de tout algorithme, du moins pour les classes couramment considérées.
Pour les portes , la complexité globale (temps et porte) est alors t
O(tpolylogtϵ)
.
Lors de l'utilisation du modèle de circuit unitaire sans mesures intermédiaires , le nombre de portes à implémenter sera toujours connu avant le calcul. Cependant, il est possible de supposer que ce n'est pas le cas lorsque des mesures intermédiaires sont utilisées, donc lorsque le nombre de portes que vous souhaitez approximer est inconnu, cela signifie que est inconnu. et si vous ne savez pas ce que t est, vous ne pouvez évidemment pas approximer chaque porte à une erreur ϵ / t . Si vous connaissez une limite sur le nombre de portes (disons, t max ), alors vous pouvez approximer chaque porte à ϵ / t maxttϵ/ttmaxϵ/tmaxpour obtenir une erreur globale et une complexité O ( t≤ϵbien quesi aucune limite supérieure sur le nombre de portes n'est connue, alors chaque porte serait approximée à certains (plus petits)ϵ′, donnant une erreur globale≤t′ϵpour le nombre résultant de portes implémentées (qui est inconnu à le début)t′, avec une complexité globale deO(t′
O(tpolylogtmaxϵ),
ϵ′≤t′ϵt′O(t′polylog1ϵ′).
2nthϵ/2n
O(polylog2nϵ′)=O(polynlog1ϵ′),
O(polytlog1ϵ),
Ce n'est pas trop mal, donc j'espère que (lorsque le nombre de portes est inconnu) les ordinateurs classiques pourraient continuer à trouver les bonnes portes au moins aussi vite qu'un processeur quantique en aurait besoin. Si ce n'est pas le cas actuellement, alors j'espère qu'une fois que les processeurs quantiques seront suffisamment bons pour que cela devienne un problème!
1 Bien que probablement pas le plus efficace