示例#1
0
def make_dmrgenv():
    with pydmrg.capture_stdout():
        dmrg_tmpdir = 'dmrg_tmp1'
        if not os.path.exists(dmrg_tmpdir):
            os.mkdir(dmrg_tmpdir)
        dmrg_env = pydmrg.DMRGEnv()
        dmrg_env.scratch_prefix = dmrg_tmpdir
        dmrg_env.sym = 'd2h'
        dmrg_env.outputlevel = 1
        dmrg_env.sweep_iter_schedule   = [0     ,8     ,18    ]
        dmrg_env.sweep_state_schedule  = [20    ,50    ,100   ]
        dmrg_env.sweep_qstate_schedule = [0     ,0     ,0     ]
        dmrg_env.davidson_tol_schedule = [1e-6  ,1e-8  ,1e-8  ]
        dmrg_env.noise_schedule        = [1e-6  ,1e-7  ,1e-8  ]
        dmrg_env.additional_noise      = [0     ,0     ,0     ]
        dmrg_env.maxiter = 30
        dmrg_env.update_dmrginp('FCIDUMP-1')
    return dmrg_env
示例#2
0
    def test_dmrg_simple(self):
        dmrg_tmpdir = 'dmrg_tmp/'
        if not os.path.exists(dmrg_tmpdir):
            os.mkdir(dmrg_tmpdir)

        with pydmrg.capture_stdout() as stdout:
            dmrg_env = pydmrg.DMRGEnv()
            dmrg_env.scratch_prefix = dmrg_tmpdir
            dmrg_env.sym = 'd2h'
            dmrg_env.outputlevel = 1
            dmrg_env.sweep_iter_schedule   = [0     ,8     ,18    ]
            dmrg_env.sweep_state_schedule  = [20    ,50    ,100   ]
            dmrg_env.sweep_qstate_schedule = [0     ,0     ,0     ]
            dmrg_env.davidson_tol_schedule = [1e-6  ,1e-8  ,1e-8  ]
            dmrg_env.noise_schedule        = [1e-6  ,1e-7  ,1e-8  ]
            dmrg_env.additional_noise      = [0     ,0     ,0     ]
            dmrg_env.maxiter = 30
            dmrg_env.update_dmrginp('FCIDUMP-1')
            e = pydmrg.dmrg_single(dmrg_env)

        shutil.rmtree(dmrg_tmpdir)

        self.assertAlmostEqual(e, -17.1051637293, 10)
示例#3
0
    def test_dmrg_simple(self):
        dmrg_tmpdir = 'dmrg_tmp/'
        if not os.path.exists(dmrg_tmpdir):
            os.mkdir(dmrg_tmpdir)

        with pydmrg.capture_stdout() as stdout:
            dmrg_env = pydmrg.DMRGEnv()
            dmrg_env.scratch_prefix = dmrg_tmpdir
            dmrg_env.sym = 'd2h'
            dmrg_env.outputlevel = 1
            dmrg_env.sweep_iter_schedule = [0, 8, 18]
            dmrg_env.sweep_state_schedule = [20, 50, 100]
            dmrg_env.sweep_qstate_schedule = [0, 0, 0]
            dmrg_env.davidson_tol_schedule = [1e-6, 1e-8, 1e-8]
            dmrg_env.noise_schedule = [1e-6, 1e-7, 1e-8]
            dmrg_env.additional_noise = [0, 0, 0]
            dmrg_env.maxiter = 30
            dmrg_env.update_dmrginp('FCIDUMP-1')
            e = pydmrg.dmrg_single(dmrg_env)

        shutil.rmtree(dmrg_tmpdir)

        self.assertAlmostEqual(e, -17.10516373008, 10)
示例#4
0
#!/usr/bin/env python

import os, shutil
import unittest
import numpy
import pydmrg


dmrg_tmpdir = 'dmrg_tmp/'
if not os.path.exists(dmrg_tmpdir):
    os.mkdir(dmrg_tmpdir)

with pydmrg.capture_stdout() as stdout:
    dmrg_env = pydmrg.DMRGEnv()
    dmrg_env.scratch_prefix = dmrg_tmpdir
    dmrg_env.sym = 'd2h'
    dmrg_env.outputlevel = 1
    dmrg_env.sweep_iter_schedule   = [0     ,8     ,18    ]
    dmrg_env.sweep_state_schedule  = [20    ,50    ,100   ]
    dmrg_env.sweep_qstate_schedule = [0     ,0     ,0     ]
    dmrg_env.davidson_tol_schedule = [1e-6  ,1e-8  ,1e-8  ]
    dmrg_env.noise_schedule        = [1e-6  ,1e-7  ,1e-8  ]
    dmrg_env.additional_noise      = [0     ,0     ,0     ]
    dmrg_env.maxiter = 30
    dmrg_env.update_dmrginp('FCIDUMP-1')

    pydmrg.dmrg_single(dmrg_env)


class KnowValues(unittest.TestCase):
    def test_load(self):
示例#5
0
#!/usr/bin/env python

import os, shutil
import unittest
import numpy
import pydmrg

dmrg_tmpdir = 'dmrg_tmp/'
if not os.path.exists(dmrg_tmpdir):
    os.mkdir(dmrg_tmpdir)

with pydmrg.capture_stdout() as stdout:
    dmrg_env = pydmrg.DMRGEnv()
    dmrg_env.scratch_prefix = dmrg_tmpdir
    dmrg_env.sym = 'd2h'
    dmrg_env.outputlevel = 1
    dmrg_env.sweep_iter_schedule = [0, 8, 18]
    dmrg_env.sweep_state_schedule = [20, 50, 100]
    dmrg_env.sweep_qstate_schedule = [0, 0, 0]
    dmrg_env.davidson_tol_schedule = [1e-6, 1e-8, 1e-8]
    dmrg_env.noise_schedule = [1e-6, 1e-7, 1e-8]
    dmrg_env.additional_noise = [0, 0, 0]
    dmrg_env.maxiter = 30
    dmrg_env.update_dmrginp('FCIDUMP-1')

    pydmrg.dmrg_single(dmrg_env)


class KnowValues(unittest.TestCase):
    def test_load(self):
        wfn = pydmrg.Wavefunction()