ITensorMPS

MPS and MPO methods based on ITensor (ITensors.jl). ITensorMPS.jl is supported by the Simons Foundation's Flatiron Institute.

https://github.com/itensor/itensormps.jl

Science Score: 54.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
  • Academic publication links
    Links to: arxiv.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.4%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

MPS and MPO methods based on ITensor (ITensors.jl). ITensorMPS.jl is supported by the Simons Foundation's Flatiron Institute.

Basic Info
  • Host: GitHub
  • Owner: ITensor
  • License: apache-2.0
  • Language: Julia
  • Default Branch: main
  • Homepage:
  • Size: 2.85 MB
Statistics
  • Stars: 53
  • Watchers: 4
  • Forks: 15
  • Open Issues: 78
  • Releases: 36
Created almost 2 years ago · Last pushed 6 months ago
Metadata Files
Readme License Citation

README.md

ITensorMPS.jl

Stable Dev Build Status Coverage Code Style: Blue Aqua

Finite MPS and MPO methods based on the Julia version of ITensor (ITensors.jl). See the ITensorMPS.jl documentation for more details.

Support

Flatiron Center for Computational Quantum Physics logo.

ITensorMPS.jl is supported by the Flatiron Institute, a division of the Simons Foundation.

News

ITensorMPS.jl v0.3 release notes

All MPS/MPO code from ITensors.jl and ITensorTDVP.jl has been moved into this repository and this repository now relies on ITensors.jl v0.7 and above. All of the MPS/MPO functionality that was previously in ITensors.jl and ITensorTDVP.jl will be developed here from now on. For users of this repository, this change should not break any code, though please let us know if you have any issues.

Upgrade guide

If you are using any MPS/MPO functionality of ITensors.jl, such as the MPS and MPO types or constructors thereof (like random_mps), OpSum, siteinds, dmrg, apply, etc. you should install the ITensorMPS.jl package with import Pkg; Pkg.add("ITensorMPS") and add using ITensorMPS to your code. Additionally, if you are currently using ITensorTDVP.jl, you should replace using ITensorTDVP with using ITensorMPS in your code.

ITensorMPS.jl v0.2.1 release notes

New features

This release introduces a new (experimental) function expand for performing global Krylov expansion based on arXiv:2005.06104. It is a re-export of the expand function introduced in ITensorTDVP.jl v0.4.1, see the ITensorTDVP.jl v0.4.1 release notes for more details.

ITensorMPS.jl v0.2 release notes

Breaking changes

ITensorMPS.jl v0.2 has been released, which is a breaking release. It updates to using ITensorTDVP.jl v0.4, which has a number of breaking changes to the tdvp, linsolve, and dmrg_x functions. See the ITensorTDVP.jl v0.4 release notes for details.

Example DMRG Calculation

DMRG is an iterative algorithm for finding the dominant eigenvector of an exponentially large, Hermitian matrix. It originates in physics with the purpose of finding eigenvectors of Hamiltonian (energy) matrices which model the behavior of quantum systems.

````julia using ITensors, ITensorMPS let # Create 100 spin-one indices N = 100 sites = siteinds("S=1", N)

# Input operator terms which define # a Hamiltonian matrix, and convert # these terms to an MPO tensor network # (here we make the 1D Heisenberg model) os = OpSum() for j in 1:(N - 1) os += "Sz", j, "Sz", j + 1 os += 0.5, "S+", j, "S-", j + 1 os += 0.5, "S-", j, "S+", j + 1 end H = MPO(os, sites)

# Create an initial random matrix product state psi0 = random_mps(sites)

# Plan to do 5 passes or 'sweeps' of DMRG, # setting maximum MPS internal dimensions # for each sweep and maximum truncation cutoff # used when adapting internal dimensions: nsweeps = 5 maxdim = [10, 20, 100, 100, 200] cutoff = 1E-10

# Run the DMRG algorithm, returning energy # (dominant eigenvalue) and optimized MPS energy, psi = dmrg(H, psi0; nsweeps, maxdim, cutoff) println("Final energy = $energy")

nothing end

output

After sweep 1 energy=-137.954199761732 maxlinkdim=9 maxerr=2.43E-16 time=9.356

After sweep 2 energy=-138.935058943878 maxlinkdim=20 maxerr=4.97E-06 time=0.671

After sweep 3 energy=-138.940080155429 maxlinkdim=92 maxerr=1.00E-10 time=4.522

After sweep 4 energy=-138.940086009318 maxlinkdim=100 maxerr=1.05E-10 time=11.644

After sweep 5 energy=-138.940086058840 maxlinkdim=96 maxerr=1.00E-10 time=12.771

Final energy = -138.94008605883985

````

You can find more examples of running dmrg and related algorithms here.


This page was generated using Literate.jl.

Owner

  • Name: ITensor
  • Login: ITensor
  • Kind: organization
  • Email: mstoudenmire@flatironinstitute.org

A software library for developing and performing state of the art tensor network calculations.

Citation (CITATION.cff)

cff-version: 1.1.0
authors:
  - family-names: Fishman
    given-names: Matthew
  - family-names: White
    given-names: Steven R.
    orcid: "https://orcid.org/0000-0003-3496-0707"
  - family-names: Stoudenmire
    given-names: E. Miles
    orcid: "https://orcid.org/0000-0003-3389-9692"
references:
  - type: article
    authors:
      - family-names: Fishman
        given-names: Matthew
      - family-names: White
        given-names: Steven R.
        orcid: "https://orcid.org/0000-0003-3496-0707"
      - family-names: Stoudenmire
        given-names: E. Miles
        orcid: "https://orcid.org/0000-0003-3389-9692"
    title: "The ITensor Software Library for Tensor Network Calculations"
    status: "preprint"
    number: "2007.14822"
    identifiers: "arXiv:2007.14822"
    url: "https://arxiv.org/abs/2007.14822"
date-released: 2020-07-28
repository-code: "https://arxiv.org/abs/2007.14822"
message: "Please cite the following article when using this software."
license: "Apache-2.0"
version: "0.2"
identifiers:
  - type: "other"
    value: "arXiv:2007.14822"
title: "The ITensor Software Library for Tensor Network Calculations"

GitHub Events

Total
  • Create event: 49
  • Commit comment event: 34
  • Release event: 20
  • Issues event: 84
  • Watch event: 27
  • Delete event: 26
  • Issue comment event: 109
  • Push event: 170
  • Pull request review comment event: 22
  • Pull request review event: 20
  • Pull request event: 82
  • Fork event: 14
Last Year
  • Create event: 49
  • Commit comment event: 34
  • Release event: 20
  • Issues event: 84
  • Watch event: 27
  • Delete event: 26
  • Issue comment event: 109
  • Push event: 170
  • Pull request review comment event: 22
  • Pull request review event: 20
  • Pull request event: 82
  • Fork event: 14

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 11
  • Total pull requests: 33
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 8 days
  • Total issue authors: 9
  • Total pull request authors: 8
  • Average comments per issue: 1.55
  • Average comments per pull request: 1.06
  • Merged pull requests: 19
  • Bot issues: 0
  • Bot pull requests: 13
Past Year
  • Issues: 10
  • Pull requests: 33
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 8 days
  • Issue authors: 8
  • Pull request authors: 8
  • Average comments per issue: 1.7
  • Average comments per pull request: 1.06
  • Merged pull requests: 19
  • Bot issues: 0
  • Bot pull requests: 13
Top Authors
Issue Authors
  • mtfishman (31)
  • emstoudenmire (9)
  • amilsted (3)
  • tipfom (3)
  • VinceNeede (3)
  • GTorlai (3)
  • ArtemStrashko (2)
  • YotamKa (2)
  • MasonProtter (2)
  • keyi-ray-liu (1)
  • noh827 (1)
  • JuliaTagBot (1)
  • fliingelephant (1)
  • jerhoud (1)
  • LieBUPT (1)
Pull Request Authors
  • mtfishman (27)
  • github-actions[bot] (12)
  • dependabot[bot] (6)
  • VinceNeede (5)
  • pre-commit-ci[bot] (3)
  • emstoudenmire (3)
  • tipfom (2)
  • corbett5 (2)
  • NuclearPowerNerd (2)
  • Adwait-Naravane (1)
  • davidsmp (1)
  • ryanlevy (1)
  • ultimatile (1)
  • shinaoka (1)
Top Labels
Issue Labels
bug (19) enhancement (12)
Pull Request Labels
dependencies (6) bug (2) enhancement (1) formatting (1) automated pr (1) no changelog (1)

Packages

  • Total packages: 1
  • Total downloads:
    • julia 595 total
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 36
juliahub.com: ITensorMPS

MPS and MPO methods based on ITensor (ITensors.jl). ITensorMPS.jl is supported by the Simons Foundation's Flatiron Institute.

  • Versions: 36
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 595 Total
Rankings
Dependent repos count: 9.5%
Dependent packages count: 38.3%
Average: 41.4%
Forks count: 52.8%
Stargazers count: 65.0%
Last synced: 6 months ago

Dependencies

.github/workflows/CI.yml actions
  • actions/checkout v4 composite
  • codecov/codecov-action v4 composite
  • julia-actions/cache v1 composite
  • julia-actions/julia-buildpkg v1 composite
  • julia-actions/julia-docdeploy v1 composite
  • julia-actions/julia-processcoverage v1 composite
  • julia-actions/julia-runtest v1 composite
  • julia-actions/setup-julia v1 composite
.github/workflows/CompatHelper.yml actions
.github/workflows/TagBot.yml actions
  • JuliaRegistries/TagBot v1 composite
.github/workflows/format_check.yml actions
  • actions/checkout v2 composite
  • julia-actions/setup-julia v1 composite
.github/workflows/format_pr.yml actions
  • actions/checkout v2 composite
  • peter-evans/create-pull-request v3 composite
.github/workflows/format_suggestions.yml actions
  • actions/checkout v2 composite
  • julia-actions/setup-julia latest composite
  • reviewdog/action-suggester v1 composite
.github/workflows/register.yml actions
  • julia-actions/RegisterAction latest composite