Пример #1
0
from zmpo_dmrg.source.samps import mpo_dmrg_conversion
from zmpo_dmrg.source.qtensor import qtensor_api

sval = 1.0
sz = 0.0
ifQt = False
ifs2proj = True

flmpsQ = h5py.File('./lmpsQ1', 'r')
flmps0 = h5py.File('./lmps0', 'w')
qtensor_api.fmpsQtReverse(flmpsQ, flmps0, 'L')

flmps1 = h5py.File('./lmps1', 'w')
# Conversion
t0 = time.time()
mpo_dmrg_conversion.sweep_projection(flmps0, flmps1, ifQt, sval, thresh=1.e-4)
t1 = time.time()
print 'dt=', (t1 - t0)

flmps2 = h5py.File('./lmpsQ2', 'w')
qtensor_api.fmpsQt(flmps1, flmps2, 'L')

#=== Check ===#

import h5py
import shutil
import numpy
from mpi4py import MPI
from zmpo_dmrg.source.itools.molinfo import class_molinfo
from zmpo_dmrg.source import mpo_dmrg_class
from zmpo_dmrg.source import mpo_dmrg_schedule
Пример #2
0
import shutil
import numpy
from mpi4py import MPI
from zmpo_dmrg.source.samps import mpo_dmrg_conversion, block_itrf

sval = 1.0
sz = 0.0
ifQt = False
ifs2proj = True  #False

flmps0 = h5py.File('./lmps0', 'r')
flmps1 = h5py.File('./lmps1', 'w')

# Conversion
t0 = time.time()
mpo_dmrg_conversion.sweep_projection(flmps0,flmps1,ifQt,sval,thresh=1.e-4,\
           ifBlockSingletEmbedding=True)
path = './lmps_compact'
block_itrf.compact_rotL(flmps1, path)
flmps1.close()
#
# *** Without singlet embedding:
# ibond/dim(NS)/dim(NSM)= 0 1 1
# ibond/dim(NS)/dim(NSM)= 1 3 4
# ibond/dim(NS)/dim(NSM)= 2 8 14
# ibond/dim(NS)/dim(NSM)= 3 13 28
# ibond/dim(NS)/dim(NSM)= 4 14 32
# ibond/dim(NS)/dim(NSM)= 5 14 34
# ibond/dim(NS)/dim(NSM)= 6 18 44
# ibond/dim(NS)/dim(NSM)= 7 16 42
# ibond/dim(NS)/dim(NSM)= 8 17 45
# ibond/dim(NS)/dim(NSM)= 9 12 36
Пример #3
0
from mpi4py import MPI
from zmpo_dmrg.source.qtensor import qtensor_api
from zmpo_dmrg.source.samps import mpo_dmrg_conversion, block_itrf

sval = 0.5
sz = 0.5
ifQt = False

fname = 'lmpsQs'  #s' #0'
flmpsQ = h5py.File(fname, 'r')
flmps0 = h5py.File(fname + '_NQt0', 'w')
flmps1 = h5py.File(fname + '_NQt1', 'w')

qtensor_api.fmpsQtReverse(flmpsQ, flmps0, 'L')

# Conversion
t0 = time.time()
mpo_dmrg_conversion.sweep_projection(flmps0,flmps1,ifQt,sval,thresh=1.e-8,\
         ifcompress=True,\
         ifBlockSingletEmbedding=True,\
         ifBlockSymScreen=True,\
         ifpermute=True)
path = './lmps_compact'
block_itrf.compact_rotL(flmps1, path)
t1 = time.time()
print 'dt=', (t1 - t0)

flmpsQ.close()
flmps0.close()
flmps1.close()
Пример #4
0
from mpi4py import MPI
from zmpo_dmrg.source.samps import mpo_dmrg_conversion

sval = 0.0
sz = 0.0
ifQt = False
ifs2proj = False

flmps0 = h5py.File('./lmps0', 'r')
flmps1 = h5py.File('./lmps1', 'w')

# Conversion
mpo_dmrg_conversion.sweep_projection(flmps0,
                                     flmps1,
                                     ifQt,
                                     sval,
                                     thresh=1.e-6,
                                     Dcut=30,
                                     debug=False)
exit()

#============ CHECK =============#

import h5py
import shutil
import numpy
from mpi4py import MPI
from zmpo_dmrg.source.itools.molinfo import class_molinfo
from zmpo_dmrg.source import mpo_dmrg_class
from zmpo_dmrg.source import mpo_dmrg_schedule