FiniteMPS

A julia package for finite MPS/MPO-based computations of ground-state, finite-temperature and dynamical properties.

https://github.com/qiaoyi-li/finitemps.jl

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 5 DOI reference(s) in README
  • Academic publication links
    Links to: aps.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.6%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

A julia package for finite MPS/MPO-based computations of ground-state, finite-temperature and dynamical properties.

Basic Info
  • Host: GitHub
  • Owner: Qiaoyi-Li
  • License: mit
  • Language: Julia
  • Default Branch: main
  • Homepage:
  • Size: 1.97 MB
Statistics
  • Stars: 54
  • Watchers: 4
  • Forks: 7
  • Open Issues: 2
  • Releases: 14
Created over 2 years ago · Last pushed 6 months ago
Metadata Files
Readme License Citation

README.md

FiniteMPS.jl

A julia package for finite MPS/MPO-based computations of ground-state, finite-temperature and dynamical properties.

Features

Versatility

  • FiniteMPS.jl integrates multiple algorithms for studying a quantum many-body system: DMRG for ground state, tanTRG for finite-T and TDVP for dynamics, see Tutorial/Heisenberg.
  • Both spin and fermion systems are supported, see Tutorial/Hubbard.

Convenience

  • The MPS-level operations are separated with the lower tensor-level operations so that modifying codes with different symmetries, lattices and models is quite simple.
  • We provide an interface to adding arbitrary multi-site interactions so that the Hamiltonian MPO can be generated in a simple and general way, see Tutorial/Hamiltonian.
  • We also provide a similar interface for calculating arbitrary observables (e.g. multi-site correlations), see Tutorial/Observable.

Performance

  • We use the state-of-the-art tensor library TensorKit.jl to perform the basic tensor operations, so that non-abelian symmetries can significantly accelerate computations.
  • The hamiltonian MPO can be represented as a sparse one with abstract horizontal bonds so that the interaction terms can be distributed to different threads or workers, together with nested multi-threaded BLAS (with the help of MKL.jl).
  • Controlled bond expansion (CBE) techniques are implemented (modified for compatibility with parallelism) to reduce the complexity, e.g. $O(D^3d^2)$ to $O(D^3d)$ for DMRG and TDVP.

Quick start

FiniteMPS.jl is a registered package. To install it, just press "]" in julia REPL and type julia pkg> add FiniteMPS

A short tutorial to use this package is provided in documentation, in where we give some demo scripts that solve ground-state, finite-T and dynamical properties of concrete models.

If you encounter any problem, please feel free to contact us (liqiaoyi@itp.ac.cn) or submit an issue.

Owner

  • Name: Qiaoyi Li
  • Login: Qiaoyi-Li
  • Kind: user
  • Location: Beijing

Ph.D. student at ITP & UCAS, working on quantum many-body physics.

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Li"
  given-names: "Qiaoyi"
  orcid: "https://orcid.org/0000-0003-3508-9925"
title: "FiniteMPS.jl"
url: "https://github.com/Qiaoyi-Li/FiniteMPS.jl"

GitHub Events

Total
  • Create event: 7
  • Commit comment event: 12
  • Issues event: 2
  • Release event: 4
  • Watch event: 17
  • Issue comment event: 6
  • Push event: 65
  • Pull request review event: 3
  • Pull request event: 11
  • Fork event: 4
Last Year
  • Create event: 7
  • Commit comment event: 12
  • Issues event: 2
  • Release event: 4
  • Watch event: 17
  • Issue comment event: 6
  • Push event: 65
  • Pull request review event: 3
  • Pull request event: 11
  • Fork event: 4

Packages

  • Total packages: 1
  • Total downloads:
    • julia 30 total
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 12
juliahub.com: FiniteMPS

A julia package for finite MPS/MPO-based computations of ground-state, finite-temperature and dynamical properties.

  • Versions: 12
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 30 Total
Rankings
Dependent repos count: 9.7%
Average: 24.5%
Dependent packages count: 39.3%
Last synced: 6 months ago