Skip to content

Swap test

swap_test

swap_test(
    state1: QArray[QBit],
    state2: QArray[QBit],
    test: Output[QBit],
) -> None

[Qmod Classiq-library function]

Tests the overlap (in terms of fidelity) of two quantum states. The fidelity of state1 and state2 is calculated from the probability of measuring test qubit in the state 0 as follows:

\[ |\langle state1 | state2 \rangle |^2 = 2*Prob(test=0)-1 \]

Parameters:

Name Type Description Default
state1 QArray[QBit]

A quantum state to check its overlap with state2.

required
state2 QArray[QBit]

A quantum state to check its overlap with state1.

required
test Output[QBit]

A qubit for which the probability of measuring 0 is \(0.5*(|\langle state1 | state2 \rangle |^2+1)\)

required