make_ctrl_system_with_correct_metabloq#

The default fallback for `Bloq.make_ctrl_system.

This intelligently selects the correct implemetation of _ControlledBase based on the control spec.

  • A 1-qubit, positive control (i.e. CtrlSpec()) uses Controlled, which uses a “total control” decomposition.

  • Complex quantum controls (i.e. CtrlSpec(...) with quantum data types) uses ControlledViaAnd, which computes the activation function once and re-uses it for each subbloq in the decomposition of bloq.