I am having trouble setting the state_preparation
parameter of AmplificationProblem()
from qiskit.algorithms
.
I’d like to apply a generalized version of Grover on only one of the multiple registers in my circuit.
The total number of registers in the circuit is 3. After several computation steps (including quantum counting algo) the target register gets in a superposition of non-uniform basis states - also, it is entangled with the other two registers.
According to the documentation, state_preparation
parameter takes just a QuantumCircuit
(sometimes also referred to as Operator).
Since my circuit includes the Initialize()
method from qiskit.extensions.initialize
(for the other two registers), i.e. a non-unitary operation, there exists no inverse.
My questions are two-fold:
- What should I pass as the
state_preparation
parameter? I just need one specificQuantumRegister
to be passed, but I do not have a circuit or operator for only that register (have only the full QuantumCircuit of the entire algorithm). - Per the documentation/tutorials, the state_preparation operator $\mathcal{A}$ should be invertible - but the
Initialize()
method introduces a qubit reset, which is non-unitary. How can I circumvent this?
So as a summary I'm wondering what would be the best approach to avoid passing the entire circuit to the state_preparation
?