
block2 is an efficient and highly scalable implementation of the Density Matrix Renormalization Group (DMRG) for quantum chemistry, based on Matrix Product Operator (MPO) formalism. The code is highly optimized for production level calculation of realistic systems. It also provides plenty of options for tuning performance and new algorithm development.
The block2 code is developed as an improved version of StackBlock, where the low-level structure of the code has been completely rewritten. The block2 code is developed and maintained in Garnet Chan group at Caltech.
Documentation: https://block2.readthedocs.io/en/latest/
Tutorial (python interface): https://block2.readthedocs.io/en/latest/tutorial/hubbard.html
Source code: https://github.com/block-hczhai/block2-preview
Contributors
Huanchen Zhai @hczhai: DMRG and parallelization
Henrik R. Larsson @h-larsson: DMRG-MRCI/MRPT and big site
Seunghoon Lee @seunghoonlee89: Stochastic perturbative DMRG
Zhi-Hao Cui @zhcui: user interface
Features
- State symmetry
U(1) particle number symmetry
SU(2) or U(1) spin symmetry (spatial orbital)
No spin symmetry (general spin orbital)
Abelian point group symmetry
Translational (K point) / Lz symmetry
- Sweep algorithms (1-site / 2-site / 2-site to 1-site transition)
- Ground-State DMRG
Decomposition types: density matrix / SVD
Noise types: wavefunction / density matrix / perturbative
- Multi-Target Excited-State DMRG
State-averaged / state-specific
MPS compression / addition
Expectation
- Imaginary / real time evolution
Hermitian / non-Hermitian Hamiltonian
Time-step targeting method
Time dependent variational principle method
Green’s function
Finite-Temperature DMRG (ancilla approach)
Low-Temperature DMRG (partition function approach)
- Particle Density Matrix (1-site / 2-site)
1PDM / 2PDM / 3PDM / 4PDM
Transition 1PDM / 2PDM / 3PDM / 4PDM
Spin / charge correlation
- Quantum Chemistry MPO
Normal-Complementary (NC) partition
Complementary-Normal (CN) partition
Conventional scheme (switch between NC and CN near the middle site)
Symbolic MPO simplification
MPS initialization using occupation number
- Supported matrix representation of site operators
Block-sparse (outer) / dense (inner)
Block-sparse (outer) / elementwise-sparse (CSR, inner)
Fermionic MPS algebra (non-spin-adapted only)
Determinant/CSF coefficients of MPS
- Multi-level parallel DMRG
Parallelism over sites (2-site only)
Parallelism over sum of MPOs (distributed)
Parallelism over operators (distributed/shared memory)
Parallelism over symmetry sectors (shared memory)
Parallelism within dense matrix multiplications (MKL)
- DMRG-CASSCF and contracted dynamic correlation
DMRG-CASSCF (pyscf / openMOLCAS / forte interface)
DMRG-CASSCF nuclear gradients and geometry optimization (pyscf interface, RHF reference only)
DMRG-sc-NEVPT2 (pyscf interface, classical approach)
DMRG-sc-MPS-NEVPT2 (pyscf interface, MPS compression approximation)
DMRG-CASPT2 (openMOLCAS interface)
DMRG-cu-CASPT2 (openMOLCAS interface)
DMRG-MRDSRG (forte interface)
- DMRG with Spin-Orbit Coupling (SOC)
1-step approach (full complex one-MPO and hybrid real/complex two-MPO schemes)
2-step approach
Stochastic perturbative DMRG
- Uncontracted dynamic correlation
DMRG Multi-Reference Configuration Interaction (MRCI) of arbitrary order
DMRG Multi-Reference Averaged Quadratic Coupled Cluster (AQCC)/ Coupled Pair Functional (ACPF)
DMRG NEVPT2/3/…, REPT2/3/…, MR-LCC, …
- Orbital Reordering
Fiedler
Genetic algorithm
- MPS Transformation
SU2 to SZ mapping
Point group mapping
Orbital basis rotation
User Guide
- Installation
- Interfaces
- Input File: Basic Usage
- Preparation
- Integral Generation
- Ground State Energy
- Targeting States
- State-Averaged Calculation
- State-Specific Calculation
- n-Particle Reduced Density Matrix
- n-Particle Transition Reduced Density Matrix
- Restart DMRG Energy Calculation
- Load MPS for Density Matrix Calculation
- Diagonal 2-Particle Density Matrix
- Custom Sweep Schedule
- Sweep Energy Extrapolation
- Input File: Advanced Usage
- Input File: Keywords
- DMRGSCF (pyscf)
- DMRGSCF (OpenMOLCAS)
- DMRGSCF (forte)
- MPS Import/Export
- References
- Qauntum Chemisty DMRG
- Parallelization
- Spin-Orbit Coupling
- Green’s Function
- Finite-Temperature DMRG
- Time-Dependent DMRG
- Linear Response
- Perturbative Noise
- Particle Density Matrix
- DMRG-SC-NEVPT2
- DMRG-CASPT2
- Multi-Reference Correlation Theories
- Determinant Coefficients
- Perturbative DMRG
- Orbital Reordering
Python Interface Tutorial
Developer Guide
API Reference
Theory
- DMRG Hamiltonian
- DMRG Quantum Chemistry Hamiltonian in Spatial Orbitals
- Spin-Adapted DMRG Quantum Chemistry Hamiltonian
- DMRG Quantum Chemistry Hamiltonian in Unrestricted Spatial Orbitals
- Sum MPO Formalism in Unrestricted Spatial Orbitals
- DMRG Quantum Chemistry Hamiltonian in Spin Orbitals
- Diagonal Two-Particle Density Matrix