You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This captures the pattern Conjugate(A, B)$= A^\dagger \cdot B \cdot A$. This has an efficient controlled version: C-Conjugate(A, B) = Conjugate(A, C-B)$= A^\dagger \cdot C\text{-}B \cdot A$.
Some bloqs which have custom controlled version to support the above optimization:
This would require carefully wiring up the registers, though. Especially when the registers of A and B don't match.
See LCUBlockEncodingZeroState for a similar decomposition.
This captures the pattern$= A^\dagger \cdot B \cdot A$ . This has an efficient controlled version: $= A^\dagger \cdot C\text{-}B \cdot A$ .
Conjugate(A, B)
C-Conjugate(A, B) = Conjugate(A, C-B)
Some bloqs which have custom controlled version to support the above optimization:
QubitizationWalkOperator
ReflectionUsingPrepare
MeanEstimationOperator
etc.
This would require carefully wiring up the registers, though. Especially when the registers of A and B don't match.
See
LCUBlockEncodingZeroState
for a similar decomposition.Ref. https://dl.acm.org/doi/pdf/10.1145/3656397, Fig 14 (b). "Conditional Narrowing".
cc @charlesyuan314
The text was updated successfully, but these errors were encountered: