|View source on GitHub|
Combines the different parts that make up a VPE circuit
openfermion.circuits.vpe_single_circuit( qubits: Sequence[cirq.Qid], prep: cirq.Circuit, evolve: cirq.Circuit, initial_rotation: cirq.Gate, final_rotation: cirq.Gate ) -> cirq.Circuit
The protocol for VPE requires combining preparation, evolution, and measurement circuits for different values of time in order to estimate the phase function. This function takes these parts and combines them.
Note that we need not specify the time of evolution as this is contained already within evolve.
|prep [cirq.Circuit] -- The circuit to prepare the initial state (|psi_s>+|psi_r>) from |0>+|1> evolve [cirq.Circuit] -- The circuit to evolve for time t initial_rotation [cirq.Gate] -- The initial rotation on the target qubit (Note that the gate should already be targeting the qubit) final_rotation [cirq.Gate] -- The final rotation on the target qubit (Note that the gate should already be targeting the qubit)|