Ejemplo n.º 1
0
        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)
Ejemplo n.º 2
0
        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)
Ejemplo n.º 3
0
 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)
Ejemplo n.º 4
0
 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)