Dans un ordinateur classique, tu fais des opérations avec des 0 et 1. Suppose pour commencer que tu n'as qu'un seul bit. Alors il n'y a que deux opérations opérations possibles: on ne fait rien, ou on transforme le 0 en 1 et le 1 en 0.
Ecrivons ceci matriciellement:
- l'état 0, je le note (1, 0)
- l'état 1, je le note (0,1)
les deux opérations (portes logiques) sont: ( j'ai séparé les lignes par des virgules)
[(1,0), (0,1)] (=identité_
et
[(0,1),(1,0)] (=négation)
Maintenant suppose que tu as un ordinateur quantique. Les bits ne sont plus 0 et 1, mais toutes superpositions de 0 et 1 donc n'importe quel vecteur dans le plan complexe de la forme: a*(1,0)+b*(0,1)
De plus, la mécanique quantique nous dit que les opérations possibles ne se restraignent pas l'identité et la négation. Toute matrice unitaire est possible, c'est à dire une matrice à coefficients complexes U telle que transpose(U) U = identité
En particulier, tu peux t'amuser à vérifier qu'il existe une opération A, qu'on appelle racine carrée de la négation, et telle que A^2=négation
Essaye de faire une telle opération avec un ordi classique, tu verras que ça n'est pas possible.
Maintenant, si on veut travailler avec n bits ou n qubits, on remplace les vecteurs dans le plan complexe $C^2,ドル par des vecteurs dans $C^{2n},ドル et on remplace les matrices 2x2 par des matrices 2nx2n.
En prenant les bonnes matrices unitaires on peut faire avec des qubits, des additions, des multiplications par exemple, mais aussi beaucoup d'autres opérations qui ne sont pas possibles avec des bits classiques, comme l'illustre l'example de la porte logique racine carrée de la porte logique négation.
Comment on récupère le résultat ?
Suppose qu'on a comme état final, avant la mesure, le qubit a*(1,0)+b*(0,1).
La mécanique quantique nous dit que si on essaye de mesurer l'état du qubit, on tombera tantot sur (1,0), tantot sur (0,1) avec des probabilités qui sont proportionnelles à |a| et |b| .
Si on a un seul qubit, il n'y a pas grand chose à faire, au final, on va tomber sur un état, et on ne pourra pas en déduire grand chose. Mais si on a plusieurs qubits, on a beaucoup de possibilités: on peut mesurer les qubits un par un, on peut mesurer le dernier qubit, en fonction de la réponse, on réapplique quelques tranformations sur le reste de nos qubits, puis on refait une mesure etcc...Bref, il y a beaucoup de possibilités.
En principe, on s'arrange souvent pour que, après l'application de nos tranformations, un qubit soit nécessairement dans un état particulier, en fonction du problème. Par exemple, pour une question oui ou non, on s'arrange pour que si on mesure l'état (1,0) sur un des qubits, cela signifie que la réponse est oui et si on mesure l'autre état, cela signifie quela réponse est non.
Ok, mais en pratique ?
En pratique, ça dépent de la technologie utilisée. A l'origine, je pense que les gens ont beaucoup travaillé sur des photons. Chaque photon possède une propriété quantique qu'on appelle le spin. Après une mesure, il peut etre "up" ou "down" (-1 ou +1). L'état up par exemple sera notre état (1,0), l'état (0,1) sera l'état down.
L'état de spin est lié à la polarisation du photon. Cette polarisation peut etre changé à l'aide par exemple, de verres semi-réfléchissant. Il y a aussi des matériaux qui ne vont laisser passer que des photons avec telle polarisation. Si on met un détecteur de lumière derrière ce matériau, si on détecte de la lumière, c'est qu'on avait le spin up par exemple, donc état (1,0), si on ne détecte rien, c'est que le spin est down: état (0,1)
Il y a beaucoup d'autres technologies. Pour la partie calcul quantique, cela ne change rien. Il y a toujours des qubits, qui sont des vectors dans le plan complexe, et des opérations qui sont des matrices unitaires.
Comme autre techniques: spin de nuclei, piège à ions, phonons
[^] # Re: C'est pas nouveau
Posté par argt . En réponse au journal Calcul quantique. Évalué à 10.
Ecrivons ceci matriciellement:
- l'état 0, je le note (1, 0)
- l'état 1, je le note (0,1)
les deux opérations (portes logiques) sont: ( j'ai séparé les lignes par des virgules)
[(1,0), (0,1)] (=identité_
et
[(0,1),(1,0)] (=négation)
Maintenant suppose que tu as un ordinateur quantique. Les bits ne sont plus 0 et 1, mais toutes superpositions de 0 et 1 donc n'importe quel vecteur dans le plan complexe de la forme: a*(1,0)+b*(0,1)
De plus, la mécanique quantique nous dit que les opérations possibles ne se restraignent pas l'identité et la négation. Toute matrice unitaire est possible, c'est à dire une matrice à coefficients complexes U telle que transpose(U) U = identité
En particulier, tu peux t'amuser à vérifier qu'il existe une opération A, qu'on appelle racine carrée de la négation, et telle que A^2=négation
Essaye de faire une telle opération avec un ordi classique, tu verras que ça n'est pas possible.
Maintenant, si on veut travailler avec n bits ou n qubits, on remplace les vecteurs dans le plan complexe $C^2,ドル par des vecteurs dans $C^{2n},ドル et on remplace les matrices 2x2 par des matrices 2nx2n.
En prenant les bonnes matrices unitaires on peut faire avec des qubits, des additions, des multiplications par exemple, mais aussi beaucoup d'autres opérations qui ne sont pas possibles avec des bits classiques, comme l'illustre l'example de la porte logique racine carrée de la porte logique négation.
Comment on récupère le résultat ?
Suppose qu'on a comme état final, avant la mesure, le qubit a*(1,0)+b*(0,1).
La mécanique quantique nous dit que si on essaye de mesurer l'état du qubit, on tombera tantot sur (1,0), tantot sur (0,1) avec des probabilités qui sont proportionnelles à |a| et |b| .
Si on a un seul qubit, il n'y a pas grand chose à faire, au final, on va tomber sur un état, et on ne pourra pas en déduire grand chose. Mais si on a plusieurs qubits, on a beaucoup de possibilités: on peut mesurer les qubits un par un, on peut mesurer le dernier qubit, en fonction de la réponse, on réapplique quelques tranformations sur le reste de nos qubits, puis on refait une mesure etcc...Bref, il y a beaucoup de possibilités.
En principe, on s'arrange souvent pour que, après l'application de nos tranformations, un qubit soit nécessairement dans un état particulier, en fonction du problème. Par exemple, pour une question oui ou non, on s'arrange pour que si on mesure l'état (1,0) sur un des qubits, cela signifie que la réponse est oui et si on mesure l'autre état, cela signifie quela réponse est non.
Ok, mais en pratique ?
En pratique, ça dépent de la technologie utilisée. A l'origine, je pense que les gens ont beaucoup travaillé sur des photons. Chaque photon possède une propriété quantique qu'on appelle le spin. Après une mesure, il peut etre "up" ou "down" (-1 ou +1). L'état up par exemple sera notre état (1,0), l'état (0,1) sera l'état down.
L'état de spin est lié à la polarisation du photon. Cette polarisation peut etre changé à l'aide par exemple, de verres semi-réfléchissant. Il y a aussi des matériaux qui ne vont laisser passer que des photons avec telle polarisation. Si on met un détecteur de lumière derrière ce matériau, si on détecte de la lumière, c'est qu'on avait le spin up par exemple, donc état (1,0), si on ne détecte rien, c'est que le spin est down: état (0,1)
Il y a beaucoup d'autres technologies. Pour la partie calcul quantique, cela ne change rien. Il y a toujours des qubits, qui sont des vectors dans le plan complexe, et des opérations qui sont des matrices unitaires.
Comme autre techniques: spin de nuclei, piège à ions, phonons