You may have heard of the “no clone” theorem in quantum computing, why is it a thing?
One of the basic processes in computation is copying data: take a bit and copy it to a new bit . Think of this in terms of functions
in which we are using C pointer notation (ampersand) for the memory location of the blank bit that will be overwritten with the copy of . Now let’s look at some quantum computing functions (gates).
Classical bits are , , quantum bit is a superposition, which is at the core of the question
only measurable things are and since and represent the same quantum state.
A quantum system with qubits contains the information of complex numbers, so modeling such a system with a classical computer will require storage of a vast amount of floating point data.
Hadamard gate
In other words
If is a single-qubit unitary operator, a control-U gate is
but
Fool around with some gate operations:
Start with
Apply control NOT with control on the second cubit
Apply control NOT with control on the first cubit
Apply control NOT with control on the second cubit
Start with
Apply control NOT with control on the second cubit
Apply control NOT with control on the first cubit
Apply control NOT with control on the second cubit
this sequence of gates will swap states
In terms of matrices
and the swapping operation is
Cloning
In the Hilbert space , make a copy of arbitrary, unknown basis state , perhaps “overwriting” or transforming some template or “blank” state into a copy of using a function ( aquantum operator)
Experimentor \#1 has a state that she can measure, and access (at least for now) to a template state , and experimentor \#1 wishes to provide experimentor \#2 with a copy of their state.
Try to clone a superposition with a linear operator;
which is not what we want:
there is nonlinearity inherent in the cloning process, and quantum transformations are linear unitary transformations. A universal quantum state copier would need to violate linearity. It all boils down to the fact that qubits are superpositions and quantum operations are linear operators as you saw in our gates examples.