I am new to VQE and want to see the whole circuit of UCCSD in VQE implementation. I saw the code post here Visualize full UCC circuit in qiskit I tried to import all packages but have no idea with one/two_body. Any suggestions would be great!
Here is the code the author said he skipped the import & pyscf:
electronic_energy = ElectronicEnergy.from_raw_integrals(
ElectronicBasis.MO, one_body_ints, two_body_ints
)
hamiltonian = electronic_energy.second_q_ops()[0]
qubit_converter = QubitConverter(mapper=JordanWignerMapper())
qubit_op = qubit_converter.convert(hamiltonian,num_particles=num_particles)
initial_state = HartreeFock(
num_spin_orbitals=num_spin_orbitals,
num_particles=num_particles,
qubit_converter=qubit_converter,
)
reps=1
var_form = UCC(
excitations="sd",
num_particles=num_particles,
num_spin_orbitals=num_spin_orbitals,
initial_state=initial_state,
qubit_converter=qubit_converter,
reps=reps,
)
optimizer=COBYLA(maxiter=1000)
vqe = VQE(ansatz=var_form, optimizer=optimizer,quantum_instance=Aer.get_backend("aer_simulator_statevector"))
vqe_result =vqe.compute_minimum_eigenvalue(qubit_op)
from qiskit.tools.visualization import circuit_drawer
circuit=vqe.get_optimal_circuit()
circuit_drawer(circuit, output='mpl', plot_barriers=False)
plt.show()
What I have added:
from qiskit_nature.properties.second_quantization.electronic import ElectronicEnergy
from qiskit_nature.converters.second_quantization import QubitConverter
from qiskit_nature.mappers.second_quantization import JordanWignerMapper
from qiskit_nature.circuit.library.ansatzes import UCC
from qiskit_nature.circuit.library.initial_states import HartreeFock
from qiskit_nature.properties.second_quantization.electronic.bases import ElectronicBasis