I know it's possible to create custom controlled gates from a circuit, for example,
qc_gate = QuantumCircuit(2)
qc_gate.x(0)
qc_gate.x(1)
gate = qc_gate.to_gate().control(2)
However, since initialization is not considered a gate operation, one cannot do
qc_gate = QuantumCircuit(2)
qc_gate.initialize[a,b]
gate = qc_gate.to_gate().control(2)
but instead, one can do
qc_gate = QuantumCircuit(2)
qc_gate.initialize[a,b]
gate = qc_gate.to_instruction()
This, however, does not allow for control qubits. Is there any way to get around this, to create a quantum instruction that is applied in terms of a set of control qubits?