Пример #1
0
                    ops = "I"
                op += (Op(ops, term1[1] + term2[1] + term3[1] + term4[1]), )

            #print(p,q,r,s)
            #print(key)
            #print(op,(-1)**(npermute%2), npermute)
            op += (h2e[p, q, r, s] * (-1)**(npermute % 2), )
            model[key].append(op)

    return model


start = time.time()
dump_dir = "./"
job_name = "qc"  #########
log.register_file_output(dump_dir + job_name + ".log", mode="w")
logger = logging.getLogger(__name__)

spatial_norbs = 7
spin_norbs = spatial_norbs * 2
h1e, h2e, nuc = read_fcidump("h2o_fcidump.out", spatial_norbs)

# a randon integral
#h1e = np.random.uniform(-1,1,size=(spin_norbs,spin_norbs))
#h2e = np.random.uniform(-1,1,size=(spin_norbs,spin_norbs,spin_norbs,spin_norbs))
#h1e = 0.5*(h1e+h1e.T)
#h2e = 0.5*(h2e+h2e.transpose((2,3,0,1)))

model = qc_model(h1e, h2e)

order = {}
Пример #2
0
import yaml

from renormalizer.model import load_from_dict
from renormalizer.transport import ChargeTransport
from renormalizer.utils import log, Quantity, EvolveConfig, EvolveMethod, RungeKutta, CompressConfig, BondDimDistri

logger = logging.getLogger(__name__)

if __name__ == "__main__":
    if len(sys.argv) != 2:
        print("No or more than one parameter file are provided, abort")
        exit(1)
    parameter_path = sys.argv[1]
    with open(parameter_path) as fin:
        param = yaml.safe_load(fin)
    log.register_file_output(
        os.path.join(param["output dir"], param["fname"] + ".log"), "w")
    mol_list, temperature = load_from_dict(param, 3, False)
    compress_config = CompressConfig(threshold=1e-4)
    evolve_config = EvolveConfig(adaptive=True, evolve_dt=2)
    ct = ChargeTransport(
        mol_list,
        temperature=temperature,
        compress_config=compress_config,
        evolve_config=evolve_config,
        rdm=False,
    )
    # ct.stop_at_edge = True
    # ct.memory_limit = 2 ** 30  # 1 GB
    # ct.memory_limit /= 10 # 100 MB
    ct.dump_dir = param["output dir"]
    ct.job_name = param["fname"]