Usage

SCCE is a very flexible tool. Currently, we provide examples to demonstrate how SCCE is used as interface to the underlying DMRG code. Hence, the example notebooks serve as an "how-to-use" introduction. As a start, look at the examples in groundstates_introduction to get acquainted with the approach.

Main DMRG parameter

  • DMRG_dirScratch: a directory for scratch data

  • DMRG_dirResults: a directory for the DMRG results

  • DeltaTime: site of the time stepping in .

  • NumTimeSteps: number of time steps to be performed, each with a time stepping of DeltaTime.

  • skipDMRG: allows for skipping the actual DMRG run, reusing results from the previous run

  • DMRG_DiscardedEntropy: measure for dynamically adapting the target space dimension

  • DMRG_Scale_AB: maximal dimension of the target space is given by DMRG_Scale_AB · DMRG_NCut.

  • DMRG_dirScratch: a directory for scratch data. Do not run this over NFS. Use a dedicated scratch storage if available.

  • DMRG_dirResults: a directory for the DMRG results.

  • skipDMRG: allows for skipping the actual DMRG run, reusing results from the previous run.

  • DMRG_DiscardedEntropy: measure for dynamically adapting the target space dimension.

  • DMRG_Scale_AB: maximal dimension of the target space is given by DMRG_Scale_AB · DMRG_NCut.

  • DMRG_IndexH0Usage0: number of sweeps a free Hamiltonian is added to obtain the density matrix in order to avoid stagnation during the inital warm up and first DMRG_IndexH0Usage0sweeps.

  • DMRG_IndexH0Usage: As DMRG_IndexH0Usage0, just for the restarted runs. Since there is no risk of stagnation here, we can disable this feature to increase performance.

  • NumTimeSteps: time steps of size DeltaTime using a matrix exponential within the Krylov subspace approximation not relying on any trotterization.

  • DMRG_NumWorkerThreads: allows to set the number of worker threads. There are additional supervising threads to ensure concurrency which may lead to a small over-provisioning.

Warning

Note, the final DMRG result is stored in a hdf5 file. If this file is opened by another programme, like an hdf5 viewer as HDFCompass, while the DMRG is running then storing the results fails.

One also has to take into account that the DMRG can create a lot of scratch data. It is therefore recommended to use a dedicated scratch device and not just /tmp as in the example notebooks. In addition, one should be careful with using NFS mounted storage as a scratch device, especially if it is also serving other users, as the DMRG code can allocate a lot of bandwidth.