Skip to main content
Yanked

This release has been yanked by its maintainers, and will be ignored by installers, except when explicitly specified.
Consider using release 0.5.3 instead.

Documentation Status Build Status License: GPL v3 PyPI version

block2

The block2 code provides an efficient and highly scalable implementation of the Density Matrix Renormalization Group (DMRG) for quantum chemistry, based on the Matrix Product Operator (MPO) formalism.

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 and Initiative for Computational Catalysis at Flatiron Institute.

Main contributors:

  • Huanchen Zhai @hczhai: DMRG and parallelization
  • Henrik R. Larsson @h-larsson: DMRG-MRCI/MRPT, large site, Green's function in frequency and time for finite temp.
  • Seunghoon Lee @seunghoonlee89: Stochastic perturbative DMRG
  • Zhi-Hao Cui @zhcui: User interface

If you find this package useful for your scientific research, please cite the work as:

  • H. Zhai, H. R. Larsson, S. Lee, Z.-H. Cui, T. Zhu, C. Sun, L. Peng, R. Peng, K. Liao, J. Tölle, J. Yang, S. Li, and G. K.-L. Chan. Block2: A comprehensive open source framework to develop and apply state-of-the-art DMRG algorithms in electronic structure and beyond. The Journal of Chemical Physics 159, 234801 (2023). doi: 10.1063/5.0180424

For parallel ab initio DMRG, please cite

  • H. Zhai, and G. K.-L. Chan. Low communication high performance ab initio density matrix renormalization group algorithms. The Journal of Chemical Physics 154, 224116 (2021). doi: 10.1063/5.0050902.

For large site DMRG-MRCI/MRPT, please cite

  • H. R. Larsson, H. Zhai, K. Gunst, and G. K.-L. Chan. Matrix product states with large sites. Journal of Chemical Theory and Computation 18, 749-762 (2022). doi: 10.1021/acs.jctc.1c00957.

For DMRG with spin-orbit-coupling, please cite

  • H. Zhai, and G. K.-L. Chan. A comparison between the one- and two-step spin-orbit coupling approaches based on the ab initio Density Matrix Renormalization Group. The Journal of Chemical Physics 157, 164108 (2022). doi: 10.1063/5.0107805.

You can find a bibtex file in CITATIONS.bib.

For a list of DMRG references for methods implemented in block2, see: https://block2.readthedocs.io/en/latest/user/references.html.

One can install block2 using pip (note: for very new Python versions, the --extra-index-url option of pip is required, see below for installing the development version of block2):

  • OpenMP-only version (no MPI dependence)

    pip install block2
    
  • Hybrid openMP/MPI version (requiring openMPI 5.0.x for block2-mpi >= 0.5.3 or 4.1.x for block2-mpi <= 0.5.2 and block2-mpi <= 0.5.3rc19)

    pip install block2-mpi
    
  • Binary format is prepared via pip for python 3.8, 3.9, 3.10, 3.11, 3.12, and 3.13 with macOS (x86 and arm64, no-MPI), Linux (no-MPI/openMPI), or Windows (x86, no-MPI). If these binaries have some problems, you can use the --no-binary option of pip to force building from source (for example, pip install block2 --no-binary block2).

  • One should only install one of block2 and block2-mpi. block2-mpi covers all features in block2, but its dependence on mpi library can sometimes be difficult to deal with. Some guidance for resolving environment problems can be found in issue #7 and here.

  • To install the most recent development version, use:

    pip install block2==<version> --extra-index-url=https://block-hczhai.github.io/block2-preview/pypi/
    pip install block2-mpi==<version> --extra-index-url=https://block-hczhai.github.io/block2-preview/pypi/
    

    where <version> can be some development version number like 0.5.4rc17 (see https://github.com/block-hczhai/block2-preview/tags for a complete list of version numbers. The letter p is not needed). To force reinstalling an updated version, you may consider pip options --upgrade --force-reinstall --no-deps --no-cache-dir. For the most recent development version, binary format is prepared for python 3.8, 3.9, 3.10, 3.11, 3.12, 3.13, 3.13t, 3.14, and 3.14t with macOS (arm64), Linux (x86_64 and aarch64), or Windows (x86_64) with no MPI dependence, and Linux (x86_64) with openMPI.

The detailed instructions on manual installation can be found here.

To run a DMRG calculation using the command line interface, please use the following command:

block2main dmrg.conf > dmrg.out

where dmrg.conf is the StackBlock style input file and dmrg.out contains the outputs. Example input files can be found here.

For DMRGSCF calculation, please have a look at here.

Documentation: https://block2.readthedocs.io/en/latest/

Tutorial (Python interface): https://block2.readthedocs.io/en/latest/tutorial/qc-hamiltonians.html

Custom model Hamiltonians can be supported via a Python interface: Fermi-Hubbard, Bose-Hubbard, Hubbard-Holstein, SU(2) Heisenberg, SU(3) Heisenberg, t-J, and correlation functions.

Other examples: Vibrational Problems, and Partial Differential Equations.

Source code: https://github.com/block-hczhai/block2-preview

Example DMRG scripts for realistic quantum chemistry systems: https://github.com/hczhai/block2-example-data/tree/master/00-HC

For a simplified implementation of ab initio DMRG, see pyblock3. Data can be imported and exported between block2 and pyblock3, see https://github.com/block-hczhai/block2-preview/discussions/35.

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)
    • Green's function
    • Time evolution
  • Low-Temperature DMRG (partition function approach)
  • Particle Density Matrix (0-site / 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
    • Extracting Determinant/CSF coefficients from MPS
    • Constructing MPS from Determinant/CSF coefficients
  • 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)
  • Stochastic perturbative DMRG
  • DMRG with Spin-Orbit Coupling (SOC)
    • 1-step approach (full complex one-MPO and hybrid real/complex two-MPO schemes)
    • 2-step approach
  • 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
  • MPO Construction Methods
    • Symbolic (optimized for quantum chemistry)
    • Bipartite
    • SVD
    • Rank-Revealing QR
  • Interface for Partial Differential Equations / Quantized Tensor Train

StackBlock Compatibility

A StackBlock 1.5 compatible user interface can be found at pyblock2/driver/block2main. This script can work as a replacement of the StackBlock binary, with a few limitations and some extensions. The format of the input file dmrg.conf is identical to that of StackBlock 1.5. See docs/driver.md and docs/source/user/basic.rst for detailed documentation for this interface. Examples using this interface can be found at tests/driver.

Instructions for installing the StackBlock code can be found in here. A list of precompiled binaries of StackBlock can be found in here.

Release files for block2 0.5.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for block2 0.5.4
File Interpreter ABI Platform
block2-0.5.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ ARM64 Details
block2-0.5.4-cp310-cp310-macosx_15_0_arm64.whl CPython 3.10 CPython 3.10 macOS 15.0+ ARM64 Details

Total release size: 206.2 MB

Release files / block2-0.5.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL block2-0.5.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 129.8 MB
Tags CPython 3.10 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
a3ebc742db5f52e501d7841429b79763557866f67a389d309430c173f0feb411
BLAKE2b-256 checksum
How to use checksums
72e8d14bf26584f4481f2b78db7cbae8e51622fe0836398714c02e783616a1a1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.

Transparency log

Release files / block2-0.5.4-cp310-cp310-macosx_15_0_arm64.whl

Download URL block2-0.5.4-cp310-cp310-macosx_15_0_arm64.whl
Size 76.4 MB
Tags CPython 3.10 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
667f759918e8adbfef6c9ac0c248d28d573e59cc3fbf442a35f442ddbdba496e
BLAKE2b-256 checksum
How to use checksums
957f8124f72cdd7cb401ed86fcb2c874dbaa586e6ca41e375633f3050e023bbe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.5.4 This release

2 release files

0.5.3

28 release files

0.5.2

16 release files

0.5.1

13 release files

0.5.0

7 release files

0.4.13

7 release files

0.4.9

7 release files

0.4.8

7 release files

0.4.6

7 release files

0.4.5

7 release files

0.4.4

1 release file

0.4.2

7 release files

0.4.1

7 release files

0.4.0

7 release files

0.3.0

7 release files

0.2.0

7 release files

0.1.10

4 release files

0.1.8

3 release files

0.1.7

1 release file

0.1.6

1 release file

0.1.5

1 release file

0.1.4

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page