Peut-on utiliser le parallélisme quantique pour calculer plusieurs fonctions à la fois?


9

Il est bien connu qu'en utilisant le parallélisme quantique, nous pouvons calculer une fonction pour de nombreuses valeurs différentes de x simultanément. Cependant, quelques manipulations intelligentes sont nécessaires pour extraire les informations de chaque valeur, c'est-à-dire avec l'algorithme de Deutsch.f(x)x

Considérons le cas inverse: pouvons-nous utiliser le parallélisme quantique pour calculer plusieurs fonctions (disons ) simultanément pour une seule valeur x 0 ?f(x),g(x),x0


Pour évaluer et g ( x 0 ), vous devez faire une copie de x 0 pour chaque opération, ce qui n'est généralement pas possible par le théorème de non-clonage. Si par contre vous préparez simplement un état qui est deux fois x 0 , vous restaurez simplement le parallélisme classique. f(x0)g(x0)x0x0

@HenriMenke Et le clonage imparfait?
donnydm

@HenriMenke: votre notion de ce qu'est le «clonage» semble être très large, au point de poser des obstacles à votre capacité à aborder les problèmes de manière productive.
Niel de Beaudrap le

Réponses:


5

La réponse exacte dépend du type exact de superposition que vous souhaitez. Les réponses par pyramides et Niel vous donnent à la fois quelque chose comme

At=1n|ft(x)|Ft

Ici, j'ai suivi Niel pour étiqueter les différentes fonctions , f 2 , etc., avec n comme nombre total de fonctions que vous souhaitez superposer. J'ai également utilisé F t pour désigner une description de la fonction f t en tant que programme stocké. Le A est exactement le nombre qui doit être là pour que l'état soit normalisé.f1f2nFtftA

Notez qu'il ne s'agit pas simplement d'une superposition de . Il est enchevêtré avec le programme enregistré. Si vous deviez tracer le programme stocké, vous auriez juste un mélange de f t ( x ) . Cela signifie que le programme stocké pourrait constituer des «ordures», ce qui empêche les effets d'interférence sur lesquels vous pourriez compter. Ou peut-être pas. Cela dépend de la façon dont cette superposition sera utilisée dans votre calcul.ft(x)ft(x)

Si vous voulez vous débarrasser des ordures, les choses deviennent plus délicates. Par exemple, supposons que ce que vous voulez est un unitaire qui a pour effetU

U:|x|0NAt=1n|ft(x)

pour toutes les entrées possibles (qui, je suppose, sont des chaînes de bits écrites dans la base de calcul). Notez que j'ai également inclus quelques qubits vides du côté entrée, au cas où les fonctions auraient des sorties plus longues que les entrées.x

A partir de cela, nous pouvons trouver très rapidement une condition que les fonctions doivent satisfaire: puisque les états d'entrée forment un ensemble orthogonal, il en va de même des sorties. Cela mettra une restriction importante sur les types de fonctions qui peuvent être combinées de cette façon.


Merci, je pense que de cette façon, on peut accélérer qc comme le calcul de l'expansion de Taylor. Quoi qu'il en soit, le programme stocké peut-il être consulté / mesuré pour obtenir des informations, ou est-ce juste un outil?
donnydm

Le programme stocké sera simplement écrit dans un registre de qubits, il peut donc certainement être manipulé.
James Wootton

5

f,g, {f1,f2,}tftftf1,f2,x0

Une fois que vous avez un moyen de spécifier des fonctions en tant que programmes stockés, vous avez essentiellement terminé: un programme est essentiellement un autre type d'entrée, que vous pouvez préparer en superposition, et par exemple évaluer sur une entrée fixe, ou une superposition d'entrées, en calculant les fonctions de leurs spécifications dans chaque branche.

ft


3

Oui (selon ce que signifie "calculer plusieurs fonctions à la fois")

fUfgUg

  1. |00xα|01+β|10α|0+β|1IXCUfCUg

    (αUf+βUg)|xIXαUf+βUgfgf+g

    fg

  2. |xxUfUg|x

  3. |0xα|0+β|1IF RESULT = 0 U_f ELSE U_gE(ρ)=|α|2UfρUf+|β|2UgρUg


(αββα)


Ceci est intéressant, en partie parce qu'aucun programme stocké n'est nécessaire. Le CNOT en numéro 1 est-il nécessaire?
donnydm

2

fall(y,x)f(x)y=0g(x)y=1yxx0

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.