Hello. It would appear that S^dagger CCNOT S corresponds to the Pauli Y with two control bits, including the correct phase. However, the grader says that my solution is incorrect. Where am I making the mistake?
Hi @qreg, your circuit is actually structurally correct, there is just an issue in how adjoint
is being invoked. qml.adjoint
is something called a transform. There are a number of different types of transforms (you can see plenty of examples here, but the core feature is that transforms return functions). So when we call
qml.adjoint(qml.S)
what gets returned is a function that computes the adjoint of S
, and takes the same arguments as S
(in this case, a wire). However, we still need to call that function and pass those arguments:
qml.adjoint(qml.S)(wires=2)
Hope that helps, please let us know if thereβs anything else we can clarify!
2 Likes
Thank you, it helped.