This repository contains implementations of the Density-Matrix Renormalization Group (DMRG) algorithm, along with supporting code for numerical simulations of quantum many-body systems. The project is designed to provide pedagogical insights into DMRG concepts and includes Python and Julia implementations.
- DMRG_python.ipynb: A Jupyter Notebook showcasing the DMRG algorithm in Python with detailed explanations and visualizations.
- dmrg.jl: A Julia implementation of the DMRG algorithm for high-performance computations.
- python_code_without_dmrg.py: Auxiliary Python code for quantum systems without explicit DMRG implementation.
- README.md: Documentation for the project.
- Implementation of the DMRG algorithm for 1D quantum systems.
- Support for spin chain models (e.g., Heisenberg model).
- Visualization of entanglement entropy and energy convergence.
- Modular code structure for easy extension to other models.
- Python 3.8+
- Required packages:
numpy
matplotlib
scipy
- Julia 1.9+
- Required packages:
LinearAlgebra
Plots
- Clone this repository:
git clone https://github.com/yourusername/DMRG-project.git cd DMRG-project
- Install dependencies:
- For Python:
pip install numpy matplotlib scipy
- For Julia:
using Pkg Pkg.add("LinearAlgebra") Pkg.add("Plots")
- For Python:
Run the Jupyter Notebook DMRG_python.ipynb
to explore step-by-step explanations and results:
jupyter notebook DMRG_python.ipynb
Execute the dmrg.jl
file directly in Julia to run the DMRG algorithm on predefined models:
julia dmrg.jl
Use python_code_without_dmrg.py
for additional computations or as a starting point for custom implementations.
-
Heisenberg Spin Chain:
- Compute ground state energy using DMRG.
- Visualize entanglement entropy across iterations.
-
Custom Hamiltonians:
- Modify the Hamiltonian in either Python or Julia scripts to study other quantum systems.
This project is inspired by pedagogical resources on DMRG and tensor networks, including works by Steven White and Ulrich Schollwöck.