# Compute the output of this Approximate Quantum Cloning three-qubit circuit

Above is a circuit for "Approximate Quantum Cloning" The preparation state is given by $$|\psi\rangle =\alpha|0\rangle+\beta|1\rangle$$ The gates labelled $$\theta_i$$ denote single qubit rotations given by $$R_y(-2\theta_i)=\begin{bmatrix}\cos\theta_i&\sin\theta_i\\-\sin\theta_i&\cos\theta_i\end{bmatrix}$$ i.e Counterclockwise rotations of angle $$-2\theta_i$$ about the y-axis on Bloch Sphere.

Each gate rotation is given by:

$$\cos2\theta_1 =\frac{1}{\sqrt5}$$

$$\cos2\theta_2 =\frac{\sqrt5}{3}$$

$$\cos2\theta_3 =\frac{2}{\sqrt5}$$

Question: Show at the end of the preparation stage the two qubits initially in the state $$|00\rangle$$ are transformed into the state $$|\phi\rangle =\frac{1}{\sqrt6}(2|00\rangle+|01\rangle+|11\rangle)$$

I'm quite unsure of how to approach this, as it is my first time dealing with a circuit like this. Are the two $$|0\rangle$$ states said to be entangled, hence the double $$|00\rangle$$ notation, I thought of applying the rotations to each qubit individually, along with a $$\hat C_x$$gate operation?

The fastest way to check is with a simulator:

You can tell 00 has twice the amplitude of 11 (and 10) because their probabilities have a $$2^2:1$$ proportion. You can tell the phases are right because all the blue circles have indicators pointing directly to the right.

The circuit being used is a bit inefficient. You can get the same state from one CNOT instead of two, and without so many strange angles:

Where the gate $$p:q$$ has matrix $$\sqrt{\frac{1}{p+q}} \begin{bmatrix} \sqrt{p} & -\sqrt{q} \\ \sqrt{q} & \sqrt{p} \end{bmatrix}$$.

The simulator is also handy for checking that this is in fact an approximate cloning circuit. Note how the two output bloch sphere displays are pointing in the same direction as the input bloch sphere display, but are a bit shorter.

• (+1) I am always amaze at how you come up with many clever circuits. Not just this problem in particular but from many past answers I see from you and on papers. Do you have a process of seeing these results quickly? Nov 16 '21 at 17:16
• @KAJ226 lots and lots of practice in Quirk to check and try and iterate quickly, and a gradual accumulation of techniques. In this case I knew that the 4:1:1 ratio of the output probabilities could be divided into preparing a 2:1 state and then using a controlled Hadamard to split the 1. Then I knew offhand that controlled Hadamard decomposes into CNOT conjugated by Y^(1/4). More abstractly it's known that any 2-qubit state can be prepared with at most one CNOT, so the original circuit had to be inefficient. Nov 16 '21 at 17:22
• I'm a bit confused there, because you've mentioned that we have a |10> amplitude, but the resulting wave vector doesn't mention this state? Also, thank you very much for linking the circuit you made, I'm very new to all of this stuff so didn't know about that one specifically!
– Dwye
Nov 16 '21 at 17:37
• @Dwye Oh sorry, different people and programs and textbooks use different conventions for which qubit line from top to bottom corresponds to which bit position from left to right. So sometimes these reversals happen. I was going entirely based on what the circuit you specified spit out in Quirk, which uses a "top line = rightmost bit" convention. Nov 16 '21 at 18:13
• @KAJ226 You need 3 cnots to implement an arbitrary 2 qubit operation. Preparing a state is easier because you're only specifying what |00> gets mapped to. The state prep operation can map the other three basis states to anything. Basically it comes down to the fact that the schmidt decomposition of a 2 qubit state has 2 singular values, and you can interpolate between them by interpolating between |0> and |+> for the control of a CNOT targeting a |0>. Everything else is single-qubit operations. Nov 16 '21 at 22:53

One way to do this is simply working through the quantum circuit one step at a time.

Note that your preparation circuit for the state $$|\phi\rangle$$ can be written as:

The initial state is $$|00\rangle = \begin{pmatrix} 1 \\ 0 \\ 0 \\ 0 \end{pmatrix}$$.

The circuit itself has the matrix representation of:

$$\big( R_Y(\theta_3) \otimes I \big) \cdot CNOT_{10} \cdot \big(I \otimes R_Y(\theta_2) \big) \cdot CNOT_{01} \cdot \big( R_Y(\theta_1) \otimes I\big)$$

Here note that by definition of CNOT gate, we have

$$CNOT_{01} =|0\rangle \langle 0| \otimes I + |1 \rangle \langle 1| \otimes X = \begin{pmatrix} 1 & 0 & 0 & 0\\ 0 & 1 & 0 & 0\\ 0 & 0 & 0 & 1\\ 0 & 0 & 1 & 0 \end{pmatrix}$$

$$CNOT_{10} = I \otimes |0\rangle\langle0| + X \otimes|1\rangle \langle 1|= \begin{pmatrix} 1 & 0 & 0 & 0\\ 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0\\ 0 & 1 & 0 & 0 \end{pmatrix}$$

and also note that $$R_Y(\theta) \otimes I = \begin{pmatrix} \cos{\theta} & \sin{\theta} \\ -\sin{\theta} & \cos{\theta} \end{pmatrix} \otimes \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix} = \begin{pmatrix} \cos{\theta} \cdot \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix} & \sin{\theta} \cdot \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix} \\ -\sin{\theta} \cdot \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix} & \cos{\theta} \cdot \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix} \end{pmatrix}$$

Going through this calculation will get your desire state.

• So would I calculate what the resulting 4X4 circuit matrix would be, and then apply this to the initial state?
– Dwye
Nov 16 '21 at 17:06
• Yes. That is one way to do it. Nov 16 '21 at 17:13
• But the resulting matrix is absolutely huge (4x4) with 3cos/sin terms in each matrix element, is this supposed to happen?
– Dwye
Nov 16 '21 at 17:39
• Yes. You can alternatively not using matrix multiplication but rather working in the ket representation all the way through... So for example, $(RY(\theta) \otimes I ) |00\rangle = RY(\theta) |0\rangle \otimes I |0\rangle = \big( \cos\theta |0\rangle - \sin \theta |1\rangle \big) \otimes |0\rangle$. Then now apply $CNOT_{01}$ to this state $|\psi\rangle = \big( \cos\theta |0\rangle - \sin \theta |1\rangle \big) \otimes |0\rangle = \big( \cos\theta |00\rangle - \sin \theta |10\rangle \big)$ using the definition $CNOT|x\rangle|y\rangle = |x\rangle|x \oplus y \rangle$. Continue until the end Nov 16 '21 at 17:58
• Could I also ask you to explain why there are two different CNOT gates? I haven't really seen this in my notes, I see there is a subscript of "01" or "10", obviously related to the bits?
– Dwye
Nov 17 '21 at 18:27