Qualtran icon indicating copy to clipboard operation
Qualtran copied to clipboard

Add symbolic support to Bloqs that expect control values as `cvs: Tuple[int, ...]`

Open tanujkhattar opened this issue 11 months ago • 5 comments

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.

tanujkhattar avatar Mar 13 '24 17:03 tanujkhattar

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

mpharrigan avatar Mar 13 '24 18:03 mpharrigan

Yes, that's the idea.

tanujkhattar avatar Mar 13 '24 18:03 tanujkhattar

xref #716

sounds useful to me

mpharrigan avatar Mar 13 '24 18:03 mpharrigan

The newly-added Shaped symbolic utility #867 would be good here

mpharrigan avatar May 01 '24 18:05 mpharrigan

Is there a list of high priority bloqs that need this

mpharrigan avatar Aug 23 '24 00:08 mpharrigan