DMRG++

DMRG++ is a C++ implementation of the Density Matrix Renormalization Group algorithm developed at Oak Ridge National Laboratory. The code emphasizes performance, flexibility, and correct implementation of DMRG for lattice models and quan…

3. DMFT & MANY-BODY 3.4 Tensor Networks VERIFIED 1 paper
Back to Mind Map Official Website

Overview

DMRG++ is a C++ implementation of the Density Matrix Renormalization Group algorithm developed at Oak Ridge National Laboratory. The code emphasizes performance, flexibility, and correct implementation of DMRG for lattice models and quantum systems. DMRG++ provides efficient algorithms for ground states, time evolution, and spectral functions of quantum many-body systems, with particular focus on condensed matter physics applications.

Reference Papers (1)

Full Documentation

Official Resources

  • Homepage: https://github.com/g1257/dmrgpp
  • Documentation: GitHub repository and manual
  • Source Repository: https://github.com/g1257/dmrgpp
  • License: BSD 2-Clause License

Overview

DMRG++ is a C++ implementation of the Density Matrix Renormalization Group algorithm developed at Oak Ridge National Laboratory. The code emphasizes performance, flexibility, and correct implementation of DMRG for lattice models and quantum systems. DMRG++ provides efficient algorithms for ground states, time evolution, and spectral functions of quantum many-body systems, with particular focus on condensed matter physics applications.

Scientific domain: DMRG, lattice models, condensed matter physics
Target user community: Condensed matter physicists, DMRG practitioners, lattice model researchers

Theoretical Methods

  • Density Matrix Renormalization Group (DMRG)
  • Finite and infinite systems
  • Time evolution (Krylov-based)
  • Dynamical DMRG
  • Spectral functions
  • Matrix Product States (MPS)
  • Correction vector method
  • Continued fraction expansion

Capabilities (CRITICAL)

Category: Open-source DMRG code

  • DMRG for lattice models
  • Finite and infinite systems
  • Ground state calculations
  • Time evolution
  • Dynamical properties
  • Spectral functions
  • Built-in models (Hubbard, Heisenberg, t-J, etc.)
  • Custom Hamiltonians
  • Conserved quantum numbers
  • SU(2) symmetry
  • Parallelization
  • Production quality

Sources: GitHub repository, ORNL, publications

Key Strengths

Performance:

  • Optimized C++
  • Efficient algorithms
  • Production-ready
  • HPC-capable
  • Parallel execution

Lattice Models:

  • Condensed matter focus
  • Various built-in models
  • Custom Hamiltonians
  • Research flexibility
  • Physics applications

Dynamical Properties:

  • Spectral functions
  • Time evolution
  • Correction vector
  • Continued fractions
  • Response functions

ORNL Development:

  • National lab quality
  • Research-driven
  • Active development
  • Scientific rigor
  • Production focus

Inputs & Outputs

  • Input formats:

    • Input configuration files
    • Model specifications
    • Lattice definitions
    • DMRG parameters
  • Output data types:

    • Ground state energies
    • Wavefunctions (MPS)
    • Observables
    • Spectral functions
    • Time-evolved states

Interfaces & Ecosystem

Models:

  • Hubbard model
  • Heisenberg model
  • t-J model
  • Kondo lattice
  • Custom models

Analysis:

  • Post-processing tools
  • Spectral function analysis
  • Observable extraction
  • Data management

Workflow and Usage

Installation:

# Clone repository
git clone https://github.com/g1257/dmrgpp.git
cd dmrgpp/src
# Compile
make -j8

Input File Example:

TotalNumberOfSites=16
NumberOfTerms=2

DegreesOfFreedom=1
GeometryKind=chain
GeometryOptions=ConstantValues

Connectors 1 1

hubbardU	4 0 4 0 4 0 4 0 4 0 4 0 4 0 4 0
potentialV	16 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

Model=HubbardOneBand
SolverOptions=none
Version=version
OutputFile=data.txt
InfiniteLoopKeptStates=100
FiniteLoops 4
7  100 0 -7 100 0 -7 100 0 -7 100 0
TargetElectronsUp=8
TargetElectronsDown=8

Run DMRG:

# Execute
./dmrg input.inp

Spectral Functions:

# Setup for dynamical calculations
# Use correction vector method
# Extract spectral functions

Advanced Features

Time Evolution:

  • Krylov-based methods
  • Real-time dynamics
  • Imaginary-time evolution
  • Efficient algorithms
  • Large systems

Symmetries:

  • U(1) charge conservation
  • SU(2) spin symmetry
  • Custom quantum numbers
  • Computational efficiency
  • Proper implementation

Dynamical DMRG:

  • Spectral functions
  • Correction vector
  • Continued fractions
  • Green's functions
  • Response properties

Performance Characteristics

  • Speed: Optimized C++
  • Accuracy: DMRG precision
  • System size: 100s sites (1D)
  • Purpose: Production condensed matter
  • Typical: Workstation to HPC

Computational Cost

  • System-dependent
  • Bond dimension scaling
  • Efficient implementations
  • Production capable
  • HPC suitable

Limitations & Known Constraints

  • 1D focus: Primarily one-dimensional
  • Learning curve: Input file format
  • Documentation: GitHub-based
  • 2D systems: Limited
  • User interface: Command-line focused

Comparison with Other DMRG Codes

  • vs ITensor: DMRG++ condensed matter focus, ITensor general
  • vs TeNPy: DMRG++ C++, TeNPy Python
  • vs Block: DMRG++ lattice models, Block quantum chemistry
  • Unique strength: ORNL development, dynamical properties, spectral functions, lattice models

Application Areas

Condensed Matter Physics:

  • 1D quantum systems
  • Hubbard model
  • Spin chains
  • Quantum magnetism
  • Strongly correlated

Spectroscopy:

  • Spectral functions
  • Dynamical properties
  • Response functions
  • Excitation spectra
  • Green's functions

Research:

  • Lattice models
  • Method development
  • Quantum many-body
  • Algorithm testing
  • Benchmark calculations

Best Practices

Input Files:

  • Follow examples
  • Understand format
  • Parameter choices
  • Model definitions
  • Validation

DMRG Parameters:

  • Appropriate bond dimension
  • Convergence criteria
  • Truncation errors
  • Sweeping strategy
  • Testing

Dynamical Calculations:

  • Correction vector setup
  • Frequency resolution
  • Convergence checks
  • Spectral analysis
  • Broadening

Community and Support

  • Open-source (BSD 2-Clause)
  • Oak Ridge National Laboratory
  • GitHub repository
  • Issue tracking
  • Active development
  • Scientific publications

Educational Resources

  • GitHub documentation
  • Manual
  • Example inputs
  • Scientific papers
  • DMRG literature

Development

  • Oak Ridge National Laboratory
  • Gonzalo Alvarez (lead)
  • Active development
  • Research-driven
  • Production focus
  • Community contributions

Research Impact

DMRG++ enables efficient calculations of ground states and dynamical properties for lattice models, contributing to condensed matter physics research with production-quality implementations.

Verification & Sources

Primary sources:

  1. GitHub: https://github.com/g1257/dmrgpp
  2. ORNL
  3. Publications: Comp. Phys. Comm. 180, 1572 (2009)

Secondary sources:

  1. DMRG literature
  2. User publications
  3. Lattice model papers

Confidence: VERIFIED - ORNL DMRG code

Verification status: ✅ VERIFIED

  • GitHub: ACCESSIBLE
  • Institution: Oak Ridge National Laboratory
  • License: BSD 2-Clause (open-source)
  • Category: Open-source DMRG code
  • Status: Actively developed
  • Specialized strength: Efficient C++ DMRG implementation, lattice models, dynamical properties, spectral functions, correction vector method, condensed matter physics, ORNL development, production quality, time evolution, SU(2) symmetry

Related Tools in 3.4 Tensor Networks