Qualtran
Qualtran copied to clipboard
Add symbolic support to Bloqs that expect control values as `cvs: Tuple[int, ...]`
Many bloqs (like MultiAnd
, MultiControlPauli
etc.) currently expect a control values object as a Tuple[int, ...]
. This has a consequence that we cannot instantiate these objects symbolically.
We should replace cvs: Tuple[int, ...]
with CtrlSpec
object that can be instantiated symbolically as well.
Would we want some sort of CtrlSpec
that takes a parameter n
for the number of controls and doesn't fully specify what the control values actually are? Usually during costing the difference between a positive and negative control is negligible
Yes, that's the idea.
xref #716
sounds useful to me
The newly-added Shaped
symbolic utility #867 would be good here
Is there a list of high priority bloqs that need this