@@ -37,7 +37,7 @@ def __call__(self, local_data, *args, **kwargs):
37
37
self .iterations += 1
38
38
39
39
def optimize_orbitals (molecule , circuit = None , vqe_solver = None , pyscf_arguments = None , silent = False ,
40
- vqe_solver_arguments = None , initial_guess = None , return_mcscf = False , use_hcb = False , molecule_factory = None , * args , ** kwargs ):
40
+ vqe_solver_arguments = None , initial_guess = None , return_mcscf = False , use_hcb = False , molecule_factory = None , molecule_arguments = None , * args , ** kwargs ):
41
41
"""
42
42
43
43
Parameters
@@ -60,6 +60,7 @@ def optimize_orbitals(molecule, circuit=None, vqe_solver=None, pyscf_arguments=N
60
60
initial_guess="random_loc=X_scale=Y" with X and Y being floats
61
61
This initialized a random guess using numpy.random.normal(loc=X, scale=Y) with X=0.0 and Y=0.1 as defaults
62
62
return_mcscf: return the PySCF MCSCF structure after optimization
63
+ molecule_arguments: arguments to pass to molecule_factory or default molecule constructor | only change if you know what you are doing
63
64
args: just here for convenience
64
65
kwargs: just here for conveniece
65
66
@@ -97,7 +98,10 @@ def optimize_orbitals(molecule, circuit=None, vqe_solver=None, pyscf_arguments=N
97
98
if n_qubits > n_orbitals :
98
99
warnings .warn ("Potential inconsistency in orbital optimization: use_hcb is switched on but we have\n n_qubits={} in the circuit\n n_orbital={} in the molecule\n " .format (n_qubits ,n_orbitals ), TequilaWarning )
99
100
100
- wrapper = PySCFVQEWrapper (molecule_arguments = {"parameters" :pyscf_molecule .parameters , "transformation" :molecule .transformation }, n_electrons = pyscf_molecule .n_electrons ,
101
+ if molecule_arguments is None :
102
+ molecule_arguments = {"parameters" : pyscf_molecule .parameters , "transformation" : molecule .transformation }
103
+
104
+ wrapper = PySCFVQEWrapper (molecule_arguments = molecule_arguments , n_electrons = pyscf_molecule .n_electrons ,
101
105
const_part = c , circuit = circuit , vqe_solver_arguments = vqe_solver_arguments , silent = silent ,
102
106
vqe_solver = vqe_solver , molecule_factory = molecule_factory , * args , ** kwargs )
103
107
mc .fcisolver = wrapper
0 commit comments