mpskit.jl

A Julia package dedicated to simulating quantum many-body systems using Matrix Product States (MPS)

https://github.com/quantumkithub/mpskit.jl

Science Score: 77.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 3 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    1 of 19 committers (5.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.7%) to scientific vocabulary

Keywords

mps quantum tensornetworks

Keywords from Contributors

meshing pde interpretability standardization pinn polygons ode projections fluxes neural-operators

Scientific Fields

Engineering Computer Science - 60% confidence
Earth and Environmental Sciences Physical Sciences - 40% confidence
Last synced: 4 months ago · JSON representation ·

Repository

A Julia package dedicated to simulating quantum many-body systems using Matrix Product States (MPS)

Basic Info
  • Host: GitHub
  • Owner: QuantumKitHub
  • License: mit
  • Language: Julia
  • Default Branch: master
  • Homepage:
  • Size: 8.36 MB
Statistics
  • Stars: 223
  • Watchers: 15
  • Forks: 39
  • Open Issues: 23
  • Releases: 37
Topics
mps quantum tensornetworks
Created almost 6 years ago · Last pushed 4 months ago
Metadata Files
Readme License Citation

README.md

MPSKit.jl

Contains code for tackling one-dimensional quantum and two-dimensional statistical mechanics problems using tensor network algorithms. The main focus is on matrix product states (MPS) and matrix product operators (MPO), both finite and infinite.

| Documentation | Digital Object Identifier | |:-----------------:|:-----------------------------:| | | DOI |

| Build Status | PkgEval | Coverage | |:----------------:|:------------:|:------------:| | CI | PkgEval | Codecov |

The framework is built upon TensorKit.jl, which provides functionality for generic symmetries.

The toolbox contains different algorithms for finding MPS representations of groundstates or leading boundary states, performing time evolution, finding excitations and much more. Check out the examples for concrete use-cases.

This package is under active development and new algorithms are added regularly. Nevertheless, the documentation is quite terse, so feel free to open an issue if you have any questions.

Installation

The package can be installed through the Julia general registry, via the package manager:

julia-repl pkg> add MPSKit

Because of the heavy use of TensorKit.jl, it is recommended to install the latest version of this package as well. Additionally, several extension packages exist that provide additional symmetries, which should all be compatible with MPSKit. For example, to install the package with support for SU(N) symmetries, SUNRepresentations.jl can be used.

julia-repl pkg> add TensorKit

Finally, several pre-defined operators, hamiltonians and statistical mechanics models are available in MPSKitModels.jl. It is recommended to install this package too.

julia-repl pkg> add MPSKitModels

Quickstart

After following the installation process, it should now be possible to load the packages and start simulating. For example, to obtain the groundstate of the 1D Ising model, we can use the following code:

```julia using MPSKit, MPSKitModels, TensorKit using ProgressMeter, Plots # for demonstration purposes

L = 16 # length of the chain D = 4 # bonddimension init_state = FiniteMPS(L, ℂ^2, ℂ^D)

g_values = 0:0.1:2

M = @showprogress map(gvalues) do g H = periodicboundaryconditions(transversefieldising(; g=g), L) groundstate, environment, δ = findgroundstate(initstate, H; verbosity=0) return abs(sum(expectationvalue(groundstate, i => σᶻ()) for i in 1:L)) / L end

scatter(g_values, M, xlabel="g", ylabel="M", label="D=$D", title="Magnetization") ```

Magnetization

Similarly, these simulations can be carried out directly in the thermodynamic limit, with very minor code-changes:

```julia using MPSKit, MPSKitModels, TensorKit using ProgressMeter, Plots # for demonstration purposes

D = 4 # bonddimension init_state = InfiniteMPS(ℂ^2, ℂ^D)

g_values = 0.1:0.1:2

M = @showprogress map(gvalues) do g H = transversefieldising(; g=g) groundstate, environment, δ = findgroundstate(initstate, H, VUMPS(; verbosity=0)) return abs(expectationvalue(groundstate, 1 => σᶻ())) end

scatter(g_values, M, xlabel="g", ylabel="M", label="D=$D", title="Magnetization") ```

Magnetization

Owner

  • Name: QuantumKitHub
  • Login: QuantumKitHub
  • Kind: organization

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Van Damme"
  given-names: "Maarten"
  orcid: "https://orcid.org/0000-0002-1558-0568"
- family-names: "Devos"
  given-names: "Lukas"
  orcid: "https://orcid.org/0000-0002-0256-4200"
- family-names: "Haegeman"
  given-names: "Jutho"
  orcid: "https://orcid.org/0000-0002-0858-291X"

title: "MPSKit"
version: 0.10.2
doi: 10.5281/zenodo.10654901
date-released: 2024-02-13
url: "https://github.com/QuantumKitHub/MPSKit.jl"

Committers

Last synced: over 1 year ago

All Time
  • Total Commits: 674
  • Total Committers: 19
  • Avg Commits per committer: 35.474
  • Development Distribution Score (DDS): 0.383
Past Year
  • Commits: 121
  • Committers: 9
  • Avg Commits per committer: 13.444
  • Development Distribution Score (DDS): 0.537
Top Committers
Name Email Commits
maarten m****e@u****e 416
lkdvos l****s@u****e 108
Lukas 3****s 51
maartenvd m****4@g****m 23
Jutho Haegeman j****n@u****e 22
Markus Hauru m****s@m****g 8
Gertian G****e@U****e 7
dependabot[bot] 4****] 7
Lander Burgelman 3****l 7
maavdamm M****e@U****e 6
DaanMaertens 4****s 5
Gertian g****e@u****e 4
CompatHelper Julia c****y@j****g 2
Wei Tang t****i@s****n 2
github-actions[bot] 4****] 2
DaanMaertens d****s@g****m 1
darts 1****i 1
Jutho J****o 1
leburgel l****n@u****e 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 24
  • Total pull requests: 69
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 8 days
  • Total issue authors: 12
  • Total pull request authors: 11
  • Average comments per issue: 2.04
  • Average comments per pull request: 1.32
  • Merged pull requests: 47
  • Bot issues: 0
  • Bot pull requests: 10
Past Year
  • Issues: 23
  • Pull requests: 69
  • Average time to close issues: 9 days
  • Average time to close pull requests: 8 days
  • Issue authors: 12
  • Pull request authors: 11
  • Average comments per issue: 2.13
  • Average comments per pull request: 1.32
  • Merged pull requests: 47
  • Bot issues: 0
  • Bot pull requests: 10
Top Authors
Issue Authors
  • ZongYongyue (7)
  • lkdvos (7)
  • Gertian (5)
  • 20akshay00 (4)
  • borisdevos (2)
  • benjamints (2)
  • bts30 (2)
  • sunnowrun (2)
  • shencebebetterme (1)
  • 4psireal2 (1)
  • nattanti (1)
  • github-actions[bot] (1)
  • VictorVanthilt (1)
  • Jason-zo (1)
  • LHerviou (1)
Pull Request Authors
  • lkdvos (58)
  • github-actions[bot] (13)
  • leburgel (13)
  • VictorVanthilt (13)
  • Gertian (11)
  • dependabot[bot] (4)
  • dartsushi (3)
  • Yue-Zhengyuan (1)
  • kshyatt (1)
  • GiggleLiu (1)
  • stecrotti (1)
  • borisdevos (1)
Top Labels
Issue Labels
bug (2) enhancement (2) error messages (1) invalid (1) documentation (1) question (1)
Pull Request Labels
dependencies (4) github_actions (2) documentation (1)

Packages

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

A Julia package dedicated to simulating quantum many-body systems using Matrix Product States (MPS)

  • Versions: 36
  • Dependent Packages: 1
  • Dependent Repositories: 0
  • Downloads: 127 Total
Rankings
Dependent repos count: 9.9%
Forks count: 10.4%
Stargazers count: 11.0%
Average: 13.6%
Dependent packages count: 23.0%
Last synced: 4 months ago

Dependencies

.github/workflows/TagBot.yml actions
  • JuliaRegistries/TagBot v1 composite
.github/workflows/CI.yml actions
  • actions/checkout v4 composite
  • codecov/codecov-action v3 composite
  • julia-actions/cache v1 composite
  • julia-actions/julia-buildpkg latest composite
  • julia-actions/julia-processcoverage v1 composite
  • julia-actions/julia-runtest latest composite
  • julia-actions/setup-julia v1 composite
.github/workflows/CompatHelper.yml actions
.github/workflows/Documentation.yml actions
  • actions/checkout v4 composite
  • julia-actions/setup-julia latest composite
.github/workflows/Format.yml actions
  • julia-actions/julia-format v2 composite
.github/workflows/FormatCheck.yml actions
  • actions/checkout v4 composite
  • julia-actions/setup-julia latest composite