0

I have been tweaking with quantum teleportation in python qiskit. One extra thing that I have done in the following diagram is the measurement of q330 at the very beggining.

enter image description here

I am doing this because I wanted to see if the measurement is always same for q330 and q332. But that is not possible later part because q330 gets modified.

One alternative way is to introduce a q333 and get it entangled with q330 and measure q333 later along with q332.

My question: I am a bit doubtful that my current implementation is wrong because I am collapsing q330 before the teleportation. That's not what you do teleportation for, right? You keep it's wave property and collapse it later on when needed. I want some comments on my doubt. Than you :)

Sayan Dey
  • 771
  • 6
  • 13

1 Answers1

2

Your intuition about what you did is correct, a measure on the first qubit has no place here.
The "correct" way to see if the teleportation works, since here you know the quantum state you want to send, is to do many shots of your circuit to get lots of measures of the final qubits, and then see if the count probabilities match the initial state you sent. On a simulator without any noise, it should work perfectly, and on a machine you would expect some errors due to the noise.

By the way, introducing this q33_3 in order to copy the first qubit in it to verify if they are the same is not possible due to the no-cloning theorem.

Also, on your circuit, you forgot a Hadamard gate at the beginning of your circuit, on q33_1, right before the CNOT gate. Without the H gate, you don't create the entangled Bell state crucial to the protocol so your circuit won't work the way it is.

If you have any other question please feel free to ask ! Also know that there exists a Stack community especially for quantum computing here if you have any question in the future https://quantumcomputing.stackexchange.com :)

Lena
  • 238
  • 1
  • 8
  • regarding "introducing this q33_3", Well, I am not cloning it, I will keep an entangled bit (i.e. q3 and q0 are entangled, if q3 is measure, q0 will be exposed) with the sender, and he will measure q3 (and thus q0 is known) only after reciever has mesured his bit. Say there will be verification via telephone. How about this? – Sayan Dey Jan 15 '21 at 12:07
  • Exactly, you are right. I forgot the Hadamard gate; btw is it okay if I initialize q1 with ```0.707 + 0.707 j``` instead of having an H gate, yes practically not possible, but theoretically it's the same, isn't it? – Sayan Dey Jan 15 '21 at 12:16
  • One more observation, the bit is getting teleported even without the Hadamard gate before CNOT gate. – Sayan Dey Jan 15 '21 at 12:33
  • For ex, I get this [result](https://i.stack.imgur.com/7Rjv3.png) for this [circuit](https://i.stack.imgur.com/QO8Il.png). Can you explain why so? – Sayan Dey Jan 15 '21 at 12:43
  • 1
    I have to admit for your first comment that I do not understand why you are so eager to measure the first qubit, because by doing that you collapse the qubit to a bit and lose the info, and plus since you actually know it because you create it, again, why do you want to erase it? Next about the initialisation, why do you want to use an approximation to create this state when you have the operator that will create perfectly the state? It doesn't make much sense to me. – Lena Jan 15 '21 at 12:56
  • 1
    Finally, although it might work on some special states, I invite you to do the maths on a general qubit to see that without H, the circuit does not do at all what you want it to do. – Lena Jan 15 '21 at 12:56
  • 1
    Okay, I understand your point about the H gate. – Sayan Dey Jan 15 '21 at 13:06
  • Regarding my knowledge of the q bit, I want to keep a programmatic transparency in my code, I want to have some measurement of q0 stored to some classical bit. But I want to postpone it till the measurement of q2. So, you can say it's an extra q bit just for coding validation. – Sayan Dey Jan 15 '21 at 13:10
  • without H gate, third bit comes out to be ```alpha-squared |0> + alpha * beta ( |0> + |1> ) - beta-squared|1>```, you are right. math is not supporting. Maybe something wrong with the circuit. Thanks for your help :) – Sayan Dey Jan 15 '21 at 13:28