- spin-$\frac{1}{2}$ square lattice
$J_1-J_2$ Heisenberg model - spin-$\frac{1}{2}$ triangle lattice
$J_1-J_2$ Heisenberg model
- C++ Compiler: C++17 or above
- Build System: CMake (version 3.12 or higher)
- Math Libraries: Intel MKL or OpenBLAS
- Parallelization: MPI
- Tensor: QuantumLiquids/TensorToolkit
- DMRG: QuantumLiquids/UltraDMRG
- PEPS: QuantumLiquids/PEPS
To compile the project using CMake, follow these steps:
-
Clone the repository:
git clone https://github.com/QuantumLiquids/HeisenbergVMCPEPS.git cd HeisenbergVMCPEPS -
Build using CMake:
mkdir build && cd build cmake .. -DCMAKE_CXX_COMPILER=your_cxx_compiler \ -DCMAKE_PREFIX_PATH=hint_to_find_tensortoolkit_ultradmrg_and_peps \ -DU1SYM=1_if_want_use_tensor_u1_sym make -j4
- On x86 platforms, CMakeList.txt will automatically use oneAPI single-threaded MKL as the BLAS implementation.
- On ARM platforms, it will default to OpenBLAS.
- If you want to link against a different implementation, such as an older version of MKL, sequential MKL, or AOCL, you will need to manually set the following CMake options:
- BLA_VENDOR: CMake Manual
- BLAS_INCLUDE_DIR: Set the header paths for the chosen BLAS/LAPACK implementation.
For inquiries, questions, or collaboration opportunities, please contact Hao-Xin via email: wanghaoxin1996@gmail.com.