def test_construct_circuit(self, expectation, num_circuits): """Test construct circuits returns QuantumCircuits and the right number of them.""" wavefunction = EfficientSU2(2, reps=1) vqe = VQE(self.h2_op, wavefunction, expectation=expectation) params = [0] * wavefunction.num_parameters circuits = vqe.construct_circuit(params) self.assertEqual(len(circuits), num_circuits) for circuit in circuits: self.assertIsInstance(circuit, QuantumCircuit)
# group the operators qubit_op.to_grouped_paulis() # get an optimizer optimizer = AQGD(maxiter=15, disp=True) # form the algorithm vqe = VQE(qubit_op, ansatz, optimizer) # get a backend backend = Aer.get_backend("statevector_simulator") # get a quantum instance qinstance = QuantumInstance(backend, shots=1024) # =================== # Do the optimization # =================== result = vqe.run(qinstance) # ================ # Show the results # ================ # output of the optimization print(result) # show the circuit circuit = vqe.construct_circuit(list(range(8)), backend)[0] print(circuit)