mpskit.jl
A Julia package dedicated to simulating quantum many-body systems using Matrix Product States (MPS)
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
Keywords from Contributors
Scientific Fields
Repository
A Julia package dedicated to simulating quantum many-body systems using Matrix Product States (MPS)
Basic Info
Statistics
- Stars: 223
- Watchers: 15
- Forks: 39
- Open Issues: 23
- Releases: 37
Topics
Metadata Files
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 |
|:-----------------:|:-----------------------------:|
|
|
|
| Build Status | PkgEval | Coverage |
|:----------------:|:------------:|:------------:|
| |
|
|
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") ```

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") ```

Owner
- Name: QuantumKitHub
- Login: QuantumKitHub
- Kind: organization
- Repositories: 1
- Profile: https://github.com/QuantumKitHub
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
Top Committers
| Name | 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
Pull Request Labels
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)
- Documentation: https://docs.juliahub.com/General/MPSKit/stable/
- License: MIT
-
Latest release: 0.13.4
published 5 months ago
Rankings
Dependencies
- JuliaRegistries/TagBot v1 composite
- 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
- actions/checkout v4 composite
- julia-actions/setup-julia latest composite
- julia-actions/julia-format v2 composite
- actions/checkout v4 composite
- julia-actions/setup-julia latest composite