# Copying |0⟩, |1⟩ Qubits will break the no-cloning theorem?

I am trying to create a bit string of |0⟩'s and |1⟩'s in order to create an array.

Would this still break the no-cloning theorem since we do know their state: they are |0⟩'s and |1⟩'s.

If possible, what I am trying to do is that I have the following bit string in 8 qubits:

00011011

and according to another 2 qubits, I would like to 'copy' the 1st 2, the 2nd 2, the 3rd 2 or the 4th 2 qubits to another 2 qubits.

What's the best way to go around this?

Thanks

• Commented Apr 30, 2022 at 20:42
• As others have pointed out, you can clone known qubits -- or even qubits that are known to have been prepared in a given basis (without actually knowing the eigenvalues). The reason is -- at this point, you are only copying classical information. Another way to look at this is that when you know the basis in which a qubit has been prepared, you can measure it without causing any "disturbance" to its state. In other words, again, you are dealing with classical information at this point. Commented Aug 1, 2022 at 16:27

Would this still break the no-cloning theorem since we do know their state

The No-cloning theorem states that it is impossible to create an independent and identical copy of an arbitrary unknown quantum state. In this case you do know the state so cloning it is legal.

Cloning qubits whose states are in the computational basis can be achieved via CNOT gates.

If possible, what I am trying to do is that I have the following bit string in 8 qubits: 00011011 and according to another 2 qubits, I would like to 'copy' the 1st 2, the 2nd 2, the 3rd 2 or the 4th 2 qubits to another 2 qubits. What's the best way to go around this?

Here's a circuit that does that: with the top 2 qubits being the control qubits, the middle 8 being the data qubits and the last 2 being the write qubits.

• Thanks. I think it is the right direction but not a complete solution. For example if the array is now 00111001, passing 01 is not giving me 11 but still gives me 01. But will look on this path for a possible solution. Commented May 1, 2022 at 11:46

If possible, what I am trying to do is that I have the following bit string in 8 qubits:

00011011

and according to another 2 qubits, I would like to 'copy' the 1st 2, the 2nd 2, the 3rd 2 or the 4th 2 qubits to another 2 qubits.

If I'm understanding you correctly, here is a circuit which does that. A screenshot of it is below.

The arrangement of qubits is the same as in Victory's answer: the top two qubits are the control inputs, the middle eight are the data inputs, and the bottom two are the outputs.

• wow great! using the anti-control makes it so simple and easy to understand !!! Commented May 1, 2022 at 20:18