{"id":32153514,"url":"https://github.com/quantumkithub/mpskit.jl","last_synced_at":"2026-02-21T15:02:38.731Z","repository":{"id":40606636,"uuid":"237936707","full_name":"QuantumKitHub/MPSKit.jl","owner":"QuantumKitHub","description":"A Julia package dedicated to simulating quantum many-body systems using Matrix Product States (MPS)","archived":false,"fork":false,"pushed_at":"2026-02-18T15:02:32.000Z","size":11713,"stargazers_count":251,"open_issues_count":36,"forks_count":46,"subscribers_count":13,"default_branch":"main","last_synced_at":"2026-02-18T17:39:55.567Z","etag":null,"topics":["mps","quantum","tensornetworks"],"latest_commit_sha":null,"homepage":"","language":"Julia","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/QuantumKitHub.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-02-03T10:12:21.000Z","updated_at":"2026-02-17T10:44:23.000Z","dependencies_parsed_at":"2023-12-21T13:25:46.601Z","dependency_job_id":"f7312ed2-aa77-47b9-ab5e-8c825b603c59","html_url":"https://github.com/QuantumKitHub/MPSKit.jl","commit_stats":{"total_commits":674,"total_committers":19,"mean_commits":"35.473684210526315","dds":0.3827893175074184,"last_synced_commit":"d03ba20d2007c90030dfb0bc60aab3f2700b6082"},"previous_names":["quantumkithub/mpskit.jl","maartenvd/mpskit.jl"],"tags_count":50,"template":false,"template_full_name":null,"purl":"pkg:github/QuantumKitHub/MPSKit.jl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QuantumKitHub%2FMPSKit.jl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QuantumKitHub%2FMPSKit.jl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QuantumKitHub%2FMPSKit.jl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QuantumKitHub%2FMPSKit.jl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/QuantumKitHub","download_url":"https://codeload.github.com/QuantumKitHub/MPSKit.jl/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QuantumKitHub%2FMPSKit.jl/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29684075,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-21T14:31:22.911Z","status":"ssl_error","status_checked_at":"2026-02-21T14:31:22.570Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["mps","quantum","tensornetworks"],"created_at":"2025-10-21T11:35:36.719Z","updated_at":"2026-02-21T15:02:38.725Z","avatar_url":"https://github.com/QuantumKitHub.png","language":"Julia","readme":"\u003cimg src=\"./docs/src/assets/logo_readme.svg\" width=\"150\"\u003e\n\n# MPSKit.jl\n\nContains code for tackling one-dimensional quantum and two-dimensional statistical mechanics\nproblems using tensor network algorithms. The main focus is on matrix product states (MPS)\nand matrix product operators (MPO), both finite and infinite.\n\n| **Documentation** | **Digital Object Identifier** |\n|:-----------------:|:-----------------------------:|\n| [![][docs-stable-img]][docs-stable-url] [![][docs-dev-img]][docs-dev-url] | [![DOI][doi-img]][doi-url] |\n\n| **Build Status** | **PkgEval** | **Coverage** |\n|:----------------:|:------------:|:------------:|\n| [![CI][ci-img]][ci-url] | [![PkgEval][pkgeval-img]][pkgeval-url] | [![Codecov][codecov-img]][codecov-url] |\n\n[docs-stable-img]: https://img.shields.io/badge/docs-stable-blue.svg\n[docs-stable-url]: https://QuantumKitHub.github.io/MPSKit.jl/stable\n\n[docs-dev-img]: https://img.shields.io/badge/docs-dev-blue.svg\n[docs-dev-url]: https://QuantumKitHub.github.io/MPSKit.jl/dev\n\n[doi-img]: https://zenodo.org/badge/DOI/10.5281/zenodo.10654900.svg\n[doi-url]: https://doi.org/10.5281/zenodo.10654900\n\n[codecov-img]: https://codecov.io/gh/QuantumKitHub/MPSKit.jl/branch/master/graph/badge.svg?token=rmp3bu7qn3\n[codecov-url]: https://codecov.io/gh/QuantumKitHub/MPSKit.jl\n\n[ci-img]: https://github.com/QuantumKitHub/MPSKit.jl/actions/workflows/Tests.yml/badge.svg\n[ci-url]: https://github.com/QuantumKitHub/MPSKit.jl/actions/workflows/Tests.yml\n\n[pkgeval-img]: https://JuliaCI.github.io/NanosoldierReports/pkgeval_badges/M/MPSKit.svg\n[pkgeval-url]: https://JuliaCI.github.io/NanosoldierReports/pkgeval_badges/M/MPSKit.html\n\nThe framework is built upon\n[TensorKit.jl](https://github.com/jutho/TensorKit.jl), which provides functionality for\ngeneric symmetries.\n\nThe toolbox contains different algorithms for finding MPS representations of groundstates or\nleading boundary states, performing time evolution, finding excitations and much more. Check\nout the [examples](https://QuantumKitHub.github.io/MPSKit.jl/dev/examples/) for concrete\nuse-cases.\n\nThis package is under active development and new algorithms are added regularly.\nNevertheless, the documentation is quite terse, so feel free to open an issue if you have\nany questions.\n\n## Installation\n\nThe package can be installed through the Julia general registry, via the package manager:\n\n```julia-repl\npkg\u003e add MPSKit\n```\n\nBecause of the heavy use of [TensorKit.jl](https://github.com/jutho/TensorKit.jl), it is\nrecommended to install the latest version of this package as well. Additionally, several\nextension packages exist that provide additional symmetries, which should all be compatible\nwith MPSKit. For example, to install the package with support for SU(N) symmetries,\n[SUNRepresentations.jl](https://github.com/QuantumKitHub/SUNRepresentations.jl) can be used.\n\n```julia-repl\npkg\u003e add TensorKit\n```\n\nFinally, several pre-defined operators, Hamiltonians and statistical mechanics models are available in [MPSKitModels.jl](https://github.com/QuantumKitHub/MPSKitModels.jl). It is recommended to install this package too.\n\n```julia-repl\npkg\u003e add MPSKitModels\n```\n\n## Quickstart\n\nAfter following the installation process, it should now be possible to load the packages and\nstart simulating. For example, to obtain the ground state of the 1D Ising model, we can use\nthe following code:\n\n```julia\nusing MPSKit, MPSKitModels, TensorKit\nusing ProgressMeter, Plots # for demonstration purposes\n\nL = 16 # length of the chain\nD = 4 # bonddimension\ninit_state = FiniteMPS(L, ℂ^2, ℂ^D)\n\ng_values = 0:0.1:2\n\nM = @showprogress map(g_values) do g\n    H = periodic_boundary_conditions(transverse_field_ising(; g=g), L)\n    groundstate, environment, δ = find_groundstate(init_state, H; verbosity=0)\n    return abs(sum(expectation_value(groundstate, i =\u003e σᶻ()) for i in 1:L)) / L\nend\n\nscatter(g_values, M, xlabel=\"g\", ylabel=\"M\", label=\"D=$D\", title=\"Magnetization\")\n```\n\n![Magnetization](docs/src/assets/README_ising_finite.png)\n\nSimilarly, these simulations can be carried out directly in the thermodynamic limit, with\nvery minor code-changes:\n\n```julia\nusing MPSKit, MPSKitModels, TensorKit\nusing ProgressMeter, Plots # for demonstration purposes\n\nD = 4 # bonddimension\ninit_state = InfiniteMPS(ℂ^2, ℂ^D)\n\ng_values = 0.1:0.1:2\n\nM = @showprogress map(g_values) do g\n    H = transverse_field_ising(; g=g)\n    groundstate, environment, δ = find_groundstate(init_state, H, VUMPS(; verbosity=0))\n    return abs(expectation_value(groundstate, 1 =\u003e σᶻ()))\nend\n\nscatter(g_values, M, xlabel=\"g\", ylabel=\"M\", label=\"D=$D\", title=\"Magnetization\")\n```\n\n![Magnetization](docs/src/assets/README_ising_infinite.png)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquantumkithub%2Fmpskit.jl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fquantumkithub%2Fmpskit.jl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquantumkithub%2Fmpskit.jl/lists"}