2
$\begingroup$

I am trying to apply a non-unitary projector (see image) to my two-qubit quantum circuit using mid-circuit measurements.

$$ \begin{pmatrix} 0 & 0 & 0 & 0 \ 0 & 1 & 0 & 0 \ 0 & 0 & 1 & 0 \ 0 & 0 & 0 & 0 \

\end{pmatrix} $$

Since I am a bit stumped on whether I can apply this projector to qubits in the middle of the circuit, I am using conditional resets in the following way:

    for i in range(1, t):
        #print ('Measuring ' + str(i) + ' times')
        #do not apply unitary if the outcome is |00> (1000) or |11> (0001)
        qRandWalk.measure(qlist,creg)
        qRandWalk.x(qlist[1]).c_if(creg,5) #resets 1001 (|01>) to (1010) |00>
        qRandWalk.x(qlist[1]).c_if(creg,10) #resets 0110 (|10>) to (0101) |11>
        qRandWalk.append(unitary_operator, qlist).c_if(creg,6) # 6 in binary is 0110, |10>
        qRandWalk.append(unitary_operator, qlist).c_if(creg,9) #9 in binary is 1001, |01>
    

I want to project the measured state onto a subspace, then append the unitary operator to the circuit depending on the measurement outcome. I am not sure whether that is what my current code is doing. Are there any other approaches I can take at the moment, running on QASM simulator?

$\endgroup$
1
  • 2
    $\begingroup$ The matrix you gave acts on a 5-dimensional system, but a four qubit circuit describes a 16-dimensional system. Could you say a bit more about what this matrix is supposed to be doing? $\endgroup$
    – forky40
    Aug 2 at 22:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.