Closed KetpuntoG closed 1 week ago
Do you know when it was still working? I can confirm that nested adjoint operator instances (like Adjoint(Adjoint(S))
) do not get captured correctly in Catalyst. It could be that before we relied on simplification of calls like qml.adjoint(qml.adjoint(*))
by PennyLane, but we will look into this!
Which came in from here, in June? https://github.com/PennyLaneAI/catalyst/pull/768
Do you know when it was still working? I can confirm that nested adjoint operator instances (like
Adjoint(Adjoint(S))
) do not get captured correctly in Catalyst. It could be that before we relied on simplification of calls likeqml.adjoint(qml.adjoint(*))
by PennyLane, but we will look into this!
I am not sure because I updated but I would say the last time I installed catalyst was 3 months ago
@josh146 That's a slightly different thing, it's merely that in the test case you link to the adjoint will not be an instance of PennyLane's Adjoint
class, but instead an instance of Catalyst's HybridAdjoint
class. Not a big deal, it's just that the original test as written does not pass (since it checks the object classes).
Got it :+1:
I think this should fix the issue, it would just need proper testing and polish: https://github.com/PennyLaneAI/catalyst/pull/1302
Just found out that this broke starting with version 0.39 (so last release)
Double adjoint does not work correctly. It seems that it simply applies one adjoint. In the following script we can compare the correct result in lightning with an incorrect result in catalyst.
It seems to be a recently introduced bug as it worked correctly before.
qml.about()