Example #1
0
 def test3_wf_opt(self):
     self.solver.sampler = self.sampler
     self.solver.configure(track=['local_energy', 'parameters'],
                           loss='energy',
                           grad='auto')
     obs = self.solver.run(5)
     if __PLOT__:
         plot_energy(obs.local_energy, e0=-1.1645, show_variance=True)
Example #2
0
# scheduler
scheduler = optim.lr_scheduler.StepLR(opt, step_size=100, gamma=0.90)

# QMC solver
solver = SolverSlaterJastrowHorovod(wf=wf,
                                    sampler=sampler,
                                    optimizer=opt,
                                    scheduler=scheduler,
                                    rank=hvd.rank())

# configure the solver
solver.configure(track=['local_energy'],
                 freeze=['ao', 'mo'],
                 loss='energy',
                 grad='auto',
                 ortho_mo=False,
                 clip_loss=False,
                 resampling={
                     'mode': 'update',
                     'resample_every': 1,
                     'nstep_update': 50
                 })

# optimize the wave function
obs = solver.run(250)

if hvd.rank() == 0:
    plot_energy(obs.local_energy, e0=-1.1645, show_variance=True)
    plot_data(solver.observable, obsname='jastrow.weight')