def get_qdot_matrix(n, l, omega, grid_length=5, n_grid=1001): odho = ODQD(n, l, grid_length, n_grid) odho.setup_system(potential=HOPotential(omega), add_spin=True) one_body = odho.h one_body[np.absolute(one_body) < 1e-8] = 0 two_body = odho.u two_body[np.absolute(two_body) < 1e-8] = 0 # Coupled Cluster Eref = odho.compute_reference_energy() ccsd = CCSD(odho, verbose=False) ccsd.compute_ground_state() Ecc = ccsd.compute_energy() return one_body, two_body, [Eref, Ecc]
# Generate system omega = 1 grid_length = 5 num_grid_points = 1001 odho = ODQD(n, l, grid_length, num_grid_points) odho.setup_system(potential=HOPotential(omega), add_spin=True) one_body = odho.h one_body[np.absolute(one_body) < 1e-8] = 0 two_body = odho.u two_body[np.absolute(two_body) < 1e-8] = 0 # Coupled Cluster print('Reference energy:', odho.compute_reference_energy()) ccsd = CCSD(odho, verbose=False) ccsd.compute_ground_state() print('ECCSD =', ccsd.compute_energy()) # Prepare circuit list H2 = SecondQuantizedHamiltonian(n, l) H2.set_integrals(one_body, two_body, anti_symmetric=True) H2.get_circuit() circuit_list = H2.to_circuit_list(ptype='vqe') ansatz = UnitaryCoupledCluster(n, l, 'S', 1) og_params = ansatz.new_parameters(H2.h, H2.v) print(ansatz.num_S) print(ansatz.num_D) print(len(og_params))