PennyLane Challenge: Quantum state discrimination

Use this topic to ask your questions about the PennyLane Challenge: Quantum state discrimination.

Hello,

Can someone help me improve my solution by giving me a hint ?
Here is my code

# Put your code here
ket_0 = np.array([1, 0])
ket_1 = np.array([0, 1])
phi_1 = np.cos(theta_1)*ket_0 + np.sin(theta_1)*ket_1
phi_2 = np.cos(theta_2)*ket_0 + np.sin(theta_2)*ket_1

# contruct the average of the two vectors
mid = p_1*phi_1+p_2*phi_2
mid = mid/np.linalg.norm(mid)

def rot(ang, vec):
    rot_mat = np.array([[np.cos(ang), -np.sin(ang)],
                        [np.sin(ang), np.cos(ang)]])
    rot_vec = np.dot(rot_mat, vec)
    return rot_vec

# new measurement basis (closest to our input states)
new_0 = rot(-np.pi/4, mid)
new_1 = rot(np.pi/4, mid)

q_1 = np.dot(phi_1, new_0)**2
q_2 = np.dot(phi_2, new_1)**2

# Return the highest probability of distinguishing the states
return p_1*q_1 + p_2*q_2

Thanks

Hi @yoshypdf ,

How about using a quantum circuit and an optimization routine? :smiley: