pl.legend() pl.xlabel("energy evaluations") pl.ylabel("energy") pl.show() if __name__ == "__main__": import pele.potentials.lj as lj import scipy.optimize from pele.optimize import _quench as quench print "Running benchmark with lennard jones potential" pot = lj.LJ() natoms = 36 coords = np.random.random(3*natoms)*10.0 res = quench.lbfgs_scipy(coords, pot, tol=1e-3) coords = res.coords coords = coords + np.random.random(coords.shape)*0.1 res = quench.lbfgs_scipy(coords, pot, tol=1e-3) Emin = res.energy bench = QuenchBenchmark(pot) bench.addMinimizer("lbfgs", quench.lbfgs_scipy) bench.addMinimizer("mylbfgs", quench.mylbfgs) bench.addMinimizer("lbfgs_py", quench.lbfgs_py) bench.addMinimizer("cg", quench.cg) bench.addMinimizer("fire", quench.fire) bench.addMinimizer("bfgs_scipy", quench.bfgs_scipy) print "The reference energy is " + str(Emin) bench.run(Emin,coords)
pl.ylabel("energy") pl.show() if __name__ == "__main__": import pele.potentials.lj as lj import scipy.optimize from pele.optimize import _quench as quench print("Running benchmark with lennard jones potential") pot = lj.LJ() natoms = 36 coords = np.random.random(3 * natoms) * 10.0 res = quench.lbfgs_scipy(coords, pot, tol=1e-3) coords = res.coords coords += np.random.random(coords.shape) * 0.1 res = quench.lbfgs_scipy(coords, pot, tol=1e-3) Emin = res.energy bench = QuenchBenchmark(pot) bench.addMinimizer("lbfgs", quench.lbfgs_scipy) bench.addMinimizer("mylbfgs", quench.mylbfgs) bench.addMinimizer("lbfgs_py", quench.lbfgs_py) bench.addMinimizer("cg", quench.cg) bench.addMinimizer("fire", quench.fire) bench.addMinimizer("bfgs_scipy", quench.bfgs_scipy) print("The reference energy is " + str(Emin)) bench.run(Emin, coords)
def test_lbfgs_scipy(self): res = _quench.lbfgs_scipy(self.x0, self.pot, tol=1e-7) self.assertTrue(res.success) self.assertAlmostEqual(self.E, res.energy, 4) self.check_attributes(res)