Editing
Quantum Teleportation
(section)
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Protocol Description== [https://github.com/quantumprotocolzoo/protocols/tree/master/QuantumStateTeleportation <u>click here for Python code</u>] [https://github.com/apassenger/CQC-Python/tree/master/examples/pythonLib/teleport/Quantum%20State%20Teleportation <u>click here for SimulaQron code</u>] *'''Input:''' The qubit <math>|\psi\rangle</math> is the to-be-sent state which the first party (the sender) wants to transfer to the second party (the receiver). The quantum state can be written generally in standard basis as: <math>|\psi\rangle = \alpha |0\rangle_{O} + \beta |1\rangle_{O}</math>, <math>\alpha</math> and <math>\beta</math> coefficients are unknown to the sender.</br></br> '''<u>Stage 1</u>''' Share entangled qubits (EPR pair)</br> # Generate an EPR pair (or a maximally-entangled two-qubit sate) and give one qubit to the sender (A) and one to the receiver (B). The shared EPR state between the two parties is described as:</br> <math>|\Phi^+\rangle_{AB} = \frac{1}{\sqrt{2}} (|0\rangle_A|0\rangle_B + |1\rangle_A|1\rangle_B)</math> #This step is a pre-preparation step which should be run before the protocol starts. The state of all the three particles are as follows: <math>|\psi\rangle_O \otimes |\Phi^+\rangle_{AB} = (\alpha|0\rangle_O + \beta|1\rangle_O) \otimes \frac{1}{\sqrt{2}} (|0\rangle_A|0\rangle_B + |1\rangle_A|1\rangle_B)</math></br> In order to make the next step more clear, the above three-qubit states can be written in [[Bell basis]] (spaned by four two-qubit Bell states <math>|\Phi^+\rangle</math>, <math>|\Phi^-\rangle</math>, <math>|\Psi^+\rangle</math> and <math>|\Psi^-\rangle</math>)</br></br> <math>|\psi\rangle_O \otimes |\Phi^+\rangle_{AB} = \frac{1}{2} [|\Phi^+\rangle_{AO} \otimes (\alpha |0\rangle + \beta |1\rangle)_B + |\Phi^-\rangle_{AO} \otimes (\alpha |0\rangle - \beta |1\rangle)_B + |\Psi^+\rangle_{AO} \otimes (\beta |0\rangle + \alpha |1\rangle)_B + |\Psi^-\rangle_{AO} \otimes (\beta |0\rangle - \alpha |1\rangle)_B]</math></br></br> '''<u>Stage 2</u>''' Local Measurement by the sender(A) * '''Input:''' <math>|\psi\rangle_O \otimes |\Phi^+\rangle_{AB}</math> * '''Output:''' The output of the sender's measurement in Bell basis # The sender(A) performs a local measurement on two qubits that she has (the original state and her share of the EPR pair) in the Bell basis. # The output of this measurement will be one of the four Bell states: <math>|\Phi^+\rangle</math>, <math>|\Phi^-\rangle</math>, <math>|\Psi^+\rangle</math> and <math>|\Psi^-\rangle</math></br></br> '''<u>Stage 3</u>''' Send classical information # According to the result of the measurement on the previous step, the sender A sends two bits of classical information to B indicating the result of her measurement: ## '''if''' the result is <math>|\Phi^+\rangle \rightarrow</math> send <math>00</math> ##'''if''' the result is <math>|\Phi^-\rangle \rightarrow</math> send <math>01</math> ## '''if''' the result is <math>|\Psi^+\rangle \rightarrow</math> send <math>10</math> ## '''if''' the result is <math>|\Psi^-\rangle \rightarrow</math> send <math>11</math></br></br> '''<u>Stage 4</u>''' Local Operation by the receiver(B) *'''Input:''' two classical bits: c <math>\in \{00, 01, 10, 11\}</math> *'''Output:''' Teleported state <math>|\psi\rangle</math> # The receiver performs a local unitary operation on his qubit. Before this step and after that the two-qubit measurement is performed by the sender, The state of the receiver will change to the following states according to the sender's measurement results: # '''if''' the result is <math>|\Phi^+\rangle \rightarrow</math>, receiver's state will be: <math>\alpha |0\rangle + \beta |1\rangle</math> # '''if''' the result is <math>|\Phi^-\rangle \rightarrow</math>, receiver's state will be: <math>\alpha |0\rangle - \beta |1\rangle</math> # '''if''' the result is <math>|\Psi^+\rangle \rightarrow</math>, receiver's state will be: <math>\beta |0\rangle + \alpha |1\rangle</math> # '''if''' the result is <math>|\Psi^-\rangle \rightarrow</math>, receiver's state will be: <math>\beta |0\rangle - \alpha |1\rangle</math> * The receiver will perform following operators on the above states: # '''if''' he receives <math>00 \rightarrow</math>, he performs <math>I</math> (does nothing) # '''if''' he receives <math>01 \rightarrow</math>, he performs <math>Z</math> ([[Pauli Z]]) # '''if''' he receives <math>10 \rightarrow</math>, he performs <math>X</math> ([[Pauli X]]) # '''if''' he receives <math>11 \rightarrow</math>, he performs <math>ZX</math> (Pauli X then a Pauli Z) *As a result, the state of the receiver will be: <math>|\psi\rangle_B = \alpha|0\rangle + \beta |1\rangle</math>
Summary:
Please note that all contributions to Quantum Protocol Zoo may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Quantum Protocol Zoo:Copyrights
for details).
Do not submit copyrighted work without permission!
To protect the wiki against automated edit spam, we kindly ask you to solve the following CAPTCHA:
Cancel
Editing help
(opens in new window)
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Log in
Namespaces
Page
Discussion
English
Views
Read
Edit
View history
More
Search
Navigation
Main page
News
Protocol Library
Certification Library
Nodal Subroutines
Codes Repository
Knowledge Graphs
Submissions
Categories
Supplementary Information
Recent Changes
Contact us
Help
Tools
What links here
Related changes
Special pages
Page information