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
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
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()
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