Comment représenter de manière compacte plusieurs états de qubit?

15

L'accès à des dispositifs quantiques capables de calcul quantique étant encore extrêmement limité, il est intéressant de simuler des calculs quantiques sur un ordinateur classique . Représenter l'état de qubits en tant que vecteur prend éléments, ce qui restreint considérablement le nombre de qubits que l'on peut considérer dans de telles simulations.2 nn2n

Peut-on utiliser une représentation 1 plus compacte, en ce sens qu'elle utilise moins de mémoire et / ou de puissance de calcul que la simple représentation vectorielle? Comment ça marche?

Bien que facile à mettre en œuvre, il est clair que la représentation vectorielle est un gaspillage pour les états qui présentent une rareté et / ou une redondance dans leur représentation vectorielle. Pour un exemple concret, considérez l'état 3 qubits . Il a éléments mais ils ne prennent que valeurs possibles, la plupart des éléments étant . Bien sûr, pour être utile dans la simulation d'un calcul quantique, nous aurions également besoin d'examiner comment représenter les portes et l'action des portes sur les qubits, et y inclure quelque chose serait le bienvenu, mais je serais heureux d'entendre à peu près aussi les qubits.2330(1/3,1/3,0,0,0,1/3,0,0)T2330

1. Notez que je pose des questions sur les représentations, pas sur les logiciels, les bibliothèques ou les articles qui pourraient utiliser / présenter de telles représentations. Si vous présentez et expliquez une représentation, vous êtes bienvenu de mentionner où elle est déjà utilisée.

Kiro
la source

Réponses:

8

Il existe de nombreuses façons possibles de représenter de manière compacte un état, dont l'utilité dépend fortement du contexte.

Tout d'abord, il est important de noter qu'il n'est pas possible d'avoir une procédure qui peut mapper n'importe quel état dans une représentation plus efficace du même état (pour la même raison pourquoi il n'est évidemment pas possible de compresser fidèlement un 2 bits chaîne en tant que chaîne de 1 bit, avec un mappage qui ne dépend pas de la chaîne).

Cependant, dès que vous commencez à formuler des hypothèses, vous pouvez trouver des moyens plus efficaces de représenter un état dans un contexte donné. Il existe une multitude de façons possibles de le faire, je vais donc en mentionner quelques-unes qui me viennent à l'esprit:

  1. Déjà la représentation vectorielle standard d'un état ket peut être considérée comme une "représentation compressée", qui fonctionne sous l'hypothèse que l'état est pur . En effet, vous avez besoin de degrés de liberté réels pour représenter un état arbitraire (généralement mixte) à n bits, mais seulement 2 n + 1 - 2 pour représenter un état pur.4n1n2n+12

  2. Si vous supposez qu'un état est presque pur, c'est-à-dire que ρ est clairsemé dans une certaine représentation (de manière équivalente, ρ est de bas rang), alors encore une fois, l'état peut être efficacement caractérisé. Pour un système à d dimensions (donc d = 2 n pour un système à n bits), au lieu d'utiliser les paramètres ~ d 2 , vous pouvez avoir une représentation fidèle en utilisant uniquement O ( r d log 2 d ) , où r est la rareté de l'État (cf. 0909.3304ρρρdd=2nnd2O(rdlog2d)r et les œuvres qui ont suivi).

  3. Si vous n'êtes intéressé que par un nombre limité des valeurs d'espérance, vous pouvez trouver une représentation compressée d'un état à n bits de taille O ( n log ( n ) log ( | S | ) ) . Notez que cela équivaut à une réduction exponentielle . Cela a été montré (je pense) dans quant-ph / 0402095 , mais l'introduction donnée dans 1801.05721 peut être plus accessible pour un physicien (ainsi que présenter des améliorations dans la méthode d'optimisation). Voir les références dans ce dernier article pour un certain nombre de résultats similaires.|S|nO(nlog(n)log(|S|))

  4. Si vous savez que l'enchevêtrement de l'État est limité (dans un sens qui peut être défini avec précision), alors des représentations efficaces peuvent être trouvées, en termes de réseaux de tenseurs (une introduction se trouve par exemple dans 1708.00006 ). Plus récemment, il a également été montré que les états fondamentaux de certains hamiltoniens notables peuvent être représentés en utilisant des ansatze inspirés de l'apprentissage automatique (( 1606.02318 et de nombreux travaux suivants). ( 1710.04045 ) donc je ne sais pas s'il devrait aller dans une catégorie à part.

Notez que dans tout ce qui précède, vous pouvez représenter plus efficacement un état donné, mais pour simuler ensuite l' évolution du système, vous devez généralement revenir à la représentation inefficace d'origine. Si vous voulez représenter efficacement la dynamique d'un état à travers une évolution donnée, vous avez encore besoin d'hypothèses sur l'évolution pour que cela soit possible. Le seul résultat qui me vient à l'esprit à cet égard est le théorème de Gottesman-Knill classique (comme dans le cas de l'instauration, et non comme "non quantique") , qui permet de simuler efficacement n'importe quel circuit quantique de Clifford.

glS
la source
9

Je ne suis pas sûr que l'utilisation de la rareté soit une bonne approche ici: même les portes à un seul qubit pourraient facilement transformer un état clairsemé en un état dense.

Mais vous pouvez utiliser le formalisme du stabilisateur si vous n'utilisez que des portes Clifford . Voici un bref récapitulatif ( notation ):
Le seul qubit groupe Pauli est , à savoir tous les produits possibles de matrices de Pauli (y compris I ). Le groupe de Pauli de plusieurs qubits est l'espace du produit tensoriel de , . Le stabilisateur d'un état est le sous-groupe du groupe Pauli de tous les opérateurs qui stabilisent , ce qui signifieG1=X,Y,ZIG n = G n 1 | ψ | ψ s | ψ = | ψ s 1 s 2 s n 2 n - 1 4 n 2 G 1 U s iU de i UG1Gn=G1n|ψ|ψs|ψ=|ψ. Il est important de noter que cela ne fonctionne que pour des états spécifiques (mais importants). Je vais donner un exemple ci-dessous. La restriction aux éléments du groupe Pauli n'est pas nécessaire mais courante. Le stabilisateur est généré par les opérateurs , , ... . Le stabilisateur définit uniquement l'état et est une description efficace: au lieu de nombres complexes, nous pouvons utiliser bits ( a 16 éléments). Lorsque nous appliquons une porte , les générateurs de stabilisateurs se mettent à jour en fonction des1s2sn2n14n2G1UsiUsiU. Une porte qui mappe les opérateurs Pauli aux opérateurs Pauli s'appelle Clifford gates. Ce sont donc les portes qui ne "perturberont" pas notre description de l'état.

Les états des graphiques sont un exemple important du formalisme des stabilisateurs décrit ci-dessus. Considérons un (undirected) graphique mathématique, qui se compose de sommets et des bords . Chaque sommet correspond à un qubit. Notons le graphe par . Un état graphique est produit à partir de l'état , où en appliquant une porte en phase contrôlée pour chaque paire de sommets qui sont connectés. Le stabilisateur est généré parnVEV×VG=(V,E)|+n|+=12(|0+|1)CZ

sv=XvwV(v,w)EZw.

Par exemple, commencez par l'état à deux qubits . Le stabilisateur est . Appliquez maintenant la porte pour obtenir . (L'état est , qui est l'équivalent unitaire local d'un état Bell)|ϕ=|+|+XI,IXCZXZ,ZX|ϕ=12(1,1,1,1)T

Le formalisme des stabilisateurs joue également un rôle important dans la correction des erreurs quantiques.

M. Stern
la source
3

Peut-on utiliser une représentation plus compacte, en ce sens qu'elle utilise moins de mémoire et / ou de puissance de calcul que la simple représentation vectorielle? Comment ça marche?

Source: " Qubits multiples ":

"Un seul qubit peut être modélisé de manière triviale, simuler un calcul quantique à cinquante qubits repousserait sans doute les limites des superordinateurs existants. Augmenter la taille du calcul d'un seul qubit supplémentaire double la mémoire requise pour stocker l'état et double approximativement le temps de calcul . Ce doublement rapide de la puissance de calcul est la raison pour laquelle un ordinateur quantique avec un nombre relativement faible de qubits peut surpasser de loin les supercalculateurs les plus puissants d’aujourd’hui, de demain et au-delà pour certaines tâches de calcul. ".

Vous ne pouvez donc pas utiliser un plan de Ponzi ou voler Peter pour payer Paul . La compression économisera de la mémoire au détriment de la complexité de calcul, ou la représentation dans un espace plus flexible (plus grand) réduirait la complexité de calcul mais au détriment de la mémoire. Essentiellement, ce dont nous avons besoin, c'est d'un matériel plus performant ou d'algorithmes plus intelligents.


Voici quelques méthodes:

  • Compression du volume d'ensembles d'états quantiques de la métrique de Qubit:

La métrique d'informations de Fisher peut être utilisée pour cartographier le volume du qubit en utilisant une approche de géométrie de l'information comme discuté dans « Le volume des états à deux quubits par géométrie de l'information », « Analyse des informations de Fisher et la limite de Cramer-Rao pour l'estimation non linéaire des paramètres After Compressed Sensing ", et notre" Explication intuitive de Fisher Information et Cramer-Rao bound ".

  • Analogue à la compression d'opérande:

Calcul des décompositions optimales en profondeur des opérations logiques: " Un algorithme de rencontre au milieu pour une synthèse rapide des circuits quantiques optimaux en profondeur " ou cette discussion de Quora sur " Encoder la dimension de la particule ".

  • Analogue à la compression de la mémoire:

Factorisation Qutrit à l' aide de l'arithmétique ternaire: " Factoring with Qutrits: Shor Algorithm on Ternary and Metaplectic Quantum Architectures " et " Quantum Ternary Circuit Synthesis Using Projection Operations ".

  • Analogue à l'optimisation traditionnelle

" Un Algorithme Quantique pour Trouver des Expressions Exclusives Ou Exclusives ".

  • Autre:

Krull Dimensions ou axiomatisation et réécriture de graphes: " Complétude du calcul ZX pour la mécanique quantique Pure Qubit Clifford + T ".

En combinant ces techniques, vous devriez pouvoir serrer le pied dans la chaussure. Cela permettrait l'émulation de systèmes plus grands sur des processeurs conventionnels, ne me demandez pas d'expliquer le travail de niveau doctoral ou d'écrire le code. :)

Rob
la source