Giter Club home page Giter Club logo

umps's Introduction

Uniform Matrix Product States

This small package is designed to handle uniform matrix product states (uMPS), i.e. matrix product states in the thermodynamic limit composed of a single, repeating unit cell. Specifically, an implementation of the VUMPS algorithm [1] is provided, which can find uMPS approximations for the ground state of Hamiltonians, contract 2D partition functions, etc. Additionally, time-evolution can be performed with the time-dependent variational principle (TDVP) [4], which currently supports only single-site unit cells.

Installation

Once you fetched a copy, you want to add the package to your MATLAB path. The easiest way is running the command addpath(genpath('<path>/umps')) from your MATLAB terminal and you are good to go. Alternatively one can run addpath('<path>/umps','<path>/umps/classes','<path>/umps/inc','<path>/umps/lib'). This adds the three necessary directories: classes contains all the class definitions, inc contains all the core functions, and lib contains external resources. The subpackages are algorithms (main optimization routines), linalg (linear algebra routines for tensors) and util (extra functions that can come in handy). If you want to permanently add these directories to your matlabpath, use the command savepath.

A good place to get started and test that everything works in in the examples directory. Here you will find use cases of VUMPS to find ground states of different types of operators, and to approximately contract Additional information can be obtained with the command help umps or help <command>.

Features

  • Contractions optimized for large bond dimensions The complexity should never be more than O(D3) for a fixed bond dimension D.
  • Optimal increase of the bond dimension during the VUMPS iterations.
  • Support for multi-site unit cells.

Dependencies

The function ncon.m by R. N. C. Pfeifer [2] is used to perform tensor contractions. A copy is provided in the lib folder.

Notes

This has been tested up to MATLAB version R2017b. Things might break in future versions, given Mathwork's history of releasing non-backwards-compatible updates.

References

  1. V. Zauner-Stauber, L. Vanderstraeten, M.T. Fishman, F. Verstraete, J. Haegeman, Variational optimization algorithms for uniform matrix product states, Physical Review B (2018).
  2. R. N. C. Pfeifer, G. Evenbly, S. Singh, G. Vidal, NCON: A tensor network contractor for MATLAB, arXiv:1402.0939 (2014).
  3. C. Hubig, J. Haegeman, U. Schollwöck, Error estimates for extrapolations with matrix-product states, Physical Review B (2018).
  4. J. Haegeman, C. Lubich, I. Oseledets, B. Vandereycken, F. Verstraete, Unifying time evolution and optimization with matrix product states, Physical Review B (2016).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.