# Inner product of a quantum states

I found an algorithm that can compute the distance of two quantum states. It is based on a subroutine known as swap test (a fidelity estimator or inner product of two state, btw I don't understand what fidelity mean).

My question is about inner product. How can I calculate the inner product of two quantum registers which contains different number of qubits?

The description of the algorithm is found in this paper. Based on the 3rd step that appear on the image, I want to prove it by giving an example.

Let: $|a| = 5$, $|b| = 5$, and $Z = 50$ $$|a\rangle = \frac{3}{5}|0\rangle + \frac{4}{5}|1\rangle$$ $$|b\rangle = \frac{4}{5}|0\rangle + \frac{3}{5}|1\rangle$$ All we want is the fidelity of the following two states $|\psi\rangle$ and $|\phi\rangle$ and to calculate the distance between $|a\rangle$ and $|b\rangle$is given as: ${|a-b|}^2 = 2Z|\langle\phi|\psi\rangle|^2$ so $$|\psi\rangle = \frac{3}{5\sqrt{2}}|00\rangle + \frac{4}{5\sqrt{2}}|01\rangle+ + \frac{4}{5\sqrt{2}}|10\rangle + + \frac{3}{5\sqrt{2}}|11\rangle$$ $$|\phi\rangle = \frac{5}{\sqrt{50}} (|0\rangle + |1\rangle)$$ then how to compute $$\langle\phi|\psi\rangle = ??$$

• In a few words, you can't. The inner product is defined for 2 vectors of the same space (i.e. 2 vectors of the same dimension) whereas your vectors (or quantum states) don't have the same size. – Nelimee Aug 7 '18 at 12:47
• thank you sir, that is my question the distance-calc algorithm needs, the initialization of two registers which will have different number of qubits, then it sends to the swap-test function (which is inner-product) and i want to test it on the paper that is my problem?? – Aman Aug 7 '18 at 12:50
• i mean i want to calculate by my hand and then i got this thing. i tried to insert identity, but wrong answer is what i got. – Aman Aug 7 '18 at 12:52
• Are you saying that you've tried to work through the maths of the swap-test, and you can't get it working? In which case, please show us the circuit you're working through, and the calculation you've done. – DaftWullie Aug 7 '18 at 13:27
• please write the calculations in the post using mathjax, instead of using a photo – glS Aug 7 '18 at 14:50

I guess you're looking at equations (130) and (131)? So, here, you have $|\psi\rangle=(|0\rangle|a\rangle+|1\rangle|b\rangle)/\sqrt{2}$ and $|\phi\rangle=|a| |0\rangle+|b| |1\rangle$. When it says to calculate $\langle\phi|\psi\rangle$, what it really means is $$(\langle\phi|\otimes\mathbb{I})|\psi\rangle,$$ padding everything with identity matrices to make them all the same size. Thus, the calculation becomes $$\frac{1}{\sqrt{2Z}}\left(\begin{array}{cccc} |a| & 0 & |b| & 0 \\ 0 & |a| & 0 & |b| \end{array}\right)\cdot\left(\begin{array}{c} a_0 \\ a_1 \\ b_0 \\ b_1 \end{array}\right),$$ where $a_0$ and $a_1$ are the elements of your vector $|a\rangle$. If you work this through, you'll get $$\frac{1}{\sqrt{2Z}}(|a| |a\rangle+|b| |b\rangle).$$ I have no idea where the negative sign has come from in equation (133).

• once again sir, what do you mean padding every thing? how can i interpret this in quantum circuit form ?? – Aman Aug 12 '18 at 11:10
• @Aman I mean that when two operators (or states, in this case) are defined for different sets of qubits, then way that you make them the same size is that you insert a tensor product with the 2x2 identity matrix for every qubit that is not in the given set. – DaftWullie Aug 13 '18 at 6:29

Actually, there should be a minus. There is a mistake in the paper. Wittek uses a minus in his (expensive) book [https://www.amazon.com/Quantum-Machine-Learning-Computing-Mining/dp/0128100400/ref=sr_1_3?ie=UTF8&qid=1533850923&sr=8-3&keywords=quantum+machine+learning]

Indeed say : $$|\psi\rangle = \frac{1}{\sqrt{2}} (|0,a\rangle + |1,b\rangle)$$ $$|\phi\rangle = \frac{1}{\sqrt{Z}} (|a||0\rangle - |b||1\rangle)$$

Then : $$\langle \phi |\psi\rangle = \frac{1}{\sqrt{2Z}} (|a|\langle 0| - |b|\langle 1|) (|0,a\rangle + |1,b\rangle)$$ $$= \frac{1}{\sqrt{2Z}}( |a|\langle 0|0\rangle|a\rangle - |b|\langle 1|0 \rangle|a\rangle + |a|\langle 0|1 \rangle|b\rangle - |b|\langle 1| 1 \rangle |b\rangle )$$

$$= \frac{1}{\sqrt{2Z}} (|a| |a\rangle - 0 + 0 - |b| |b\rangle) = \frac{1}{\sqrt{2Z}} (|a| |a\rangle - |b| |b\rangle)$$

Now for the part of the question where you ask how to swap quantum registers of different numbers of qubits, the answer is you don't really do that. In your example, you have the $|\phi\rangle$ as a single-qubit state and $|\psi\rangle$ as a 2-qubit state. Let $q_0,q_1,q_2$ being the qubits representing them respectively. At the beginning, we have $$q_0 \otimes q_1 \otimes q_2$$

In the control qubit was 1, I think what you would like is swap them so that conditioning on the control qubit we have $$q_1 \otimes q_2 \otimes q_0$$

So your solution would be to control-swap $q_0$ with $q_2$ then swap $q_2$ with $q_1$.

• Thank you sir, but in |ψ⟩ do we have 3 qubits or 2 qubits ? – Aman Aug 10 '18 at 13:58
• You have the number of qubits necessary for a and b (say N) and you add another one so N+1. – cnada Aug 10 '18 at 14:13
• excuse me sir, how can i swap two registers which contains different number of qubits ?? thanks in advance. – Aman Aug 10 '18 at 18:15