I am trying to compute the number of circuit layers in a UCC ansatz in Qiskit in order to estimate the circuit running time using CLOPS estimates on IBM quantum devices. Here is what I tried to do:
from qiskit.transpiler import PassManager, StagedPassManager
from qiskit_nature.converters.second_quantization import QubitConverter
from qiskit_nature.second_q.circuit.library.ansatzes import UCC
from qiskit_nature.second_q.drivers import PySCFDriver
from qiskit_nature.second_q.formats.molecule_info import MoleculeInfo
from qiskit_nature.second_q.mappers import ParityMapper
qubit_converter = QubitConverter(ParityMapper(), two_qubit_reduction=True, z2symmetry_reduction='auto')
molecule = MoleculeInfo(["H", "Be", "H"], [(0., 0., -1.3264), (0., 0., 0.), (0., 0., 1.3264)],)
driver = PySCFDriver.from_molecule(molecule, basis="sto3g")
electronic_structure_problem = driver.run()
second_quantized_hamiltonian = electronic_structure_problem.second_q_ops()
pauli_sum_operator = qubit_converter.convert(second_quantized_hamiltonian[0], num_particles=electronic_structure_problem.num_particles)
num_particles = electronic_structure_problem.num_particles
num_spin_orbitals = electronic_structure_problem.num_spin_orbitals
uccsdt_ansatz = UCC(int(num_spin_orbitals/2), num_particles, excitations="sdt", qubit_converter=qubit_converter)
# more info on pass managers here: https://qiskit.org/documentation/apidoc/transpiler.html
pm = StagedPassManager(stages=["init"])
circuit = pm.run(uccsdt_ansatz)
print(circuit.depth())
However, the above does not work, an exception is thrown ('ListOp' object has no attribute 'to_circuit'). Here is the qiskit version I am using: