Skip to content

Commit 66e8e35

Browse files
committed
Merge remote-tracking branch 'upstream/main'
2 parents c4d2957 + 55285e5 commit 66e8e35

46 files changed

Lines changed: 821 additions & 510 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/dependabot.yml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,12 @@ updates:
44
- package-ecosystem: "github-actions"
55
directory: "/" # Location of package manifests
66
schedule:
7-
interval: "weekly"
7+
interval: "weekly"
8+
- package-ecosystem: "julia"
9+
directory: "/"
10+
schedule:
11+
interval: "weekly"
12+
groups: # uncomment to group all julia package updates into a single PR
13+
all-julia-packages:
14+
patterns:
15+
- "*"

.github/workflows/CompatHelper.yml

Lines changed: 0 additions & 45 deletions
This file was deleted.

.github/workflows/Tests.yml

Lines changed: 8 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
1-
name: Tests
1+
name: CI
2+
23
on:
34
push:
45
branches:
5-
- 'master'
66
- 'main'
7-
- 'release-'
87
tags: '*'
98
paths-ignore:
109
- 'docs/**'
@@ -14,53 +13,14 @@ on:
1413

1514
concurrency:
1615
group: ${{ github.workflow }}-${{ github.ref }}
17-
# Cancel intermediate builds: only if it is a pull request build.
1816
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
1917

2018
jobs:
21-
setup-matrix:
22-
runs-on: ubuntu-latest
23-
outputs:
24-
matrix: ${{ steps.mk.outputs.matrix }}
25-
steps:
26-
- id: mk
27-
shell: bash
28-
run: |
29-
# Draft PR: only run ubuntu-latest + version=1 (all groups)
30-
if [[ "${{ github.event_name }}" == "pull_request" && "${{ github.event.pull_request.draft }}" == "true" ]]; then
31-
cat >> "$GITHUB_OUTPUT" <<'EOF'
32-
matrix={"version":["1"],"os":["ubuntu-latest"],"group":["states","operators","algorithms","multifusion","misc"]}
33-
EOF
34-
else
35-
cat >> "$GITHUB_OUTPUT" <<'EOF'
36-
matrix={"version":["lts","1"],"os":["ubuntu-latest","windows-latest","macOS-latest"],"group":["states","operators","algorithms","multifusion","misc"]}
37-
EOF
38-
fi
39-
4019
tests:
4120
name: "Tests"
42-
needs: setup-matrix
43-
strategy:
44-
fail-fast: false
45-
matrix: ${{ fromJSON(needs.setup-matrix.outputs.matrix) }}
46-
47-
runs-on: ${{ matrix.os }}
48-
steps:
49-
- uses: actions/checkout@v6
50-
- uses: julia-actions/setup-julia@v2
51-
with:
52-
version: ${{ matrix.version }}
53-
- uses: julia-actions/cache@v3
54-
- uses: julia-actions/julia-buildpkg@v1
55-
- uses: julia-actions/julia-runtest@v1
56-
timeout-minutes: 120
57-
with:
58-
test_args: '--jobs=1 ${{ matrix.group }}'
59-
- uses: julia-actions/julia-processcoverage@v1
60-
with:
61-
directories: 'src,ext'
62-
- uses: codecov/codecov-action@v6
63-
with:
64-
files: lcov.info
65-
token: "${{ secrets.CODECOV_TOKEN }}"
66-
fail_ci_if_error: true
21+
uses: "QuantumKitHub/QuantumKitHubActions/.github/workflows/TestGroups.yml@main"
22+
with:
23+
fast: "${{ github.event.pull_request.draft == true }}"
24+
timeout-minutes: 120
25+
secrets:
26+
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

CITATION.cff

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ authors:
1212
orcid: "https://orcid.org/0000-0002-0858-291X"
1313

1414
title: "MPSKit"
15-
version: 0.13.10
15+
version: 0.13.11
1616
doi: 10.5281/zenodo.10654900
17-
date-released: 2026-02-26
17+
date-released: 2026-05-04
1818
url: "https://github.com/QuantumKitHub/MPSKit.jl"

Project.toml

Lines changed: 11 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
name = "MPSKit"
22
uuid = "bb1c41ca-d63c-52ed-829e-0820dda26502"
3-
version = "0.13.10"
3+
version = "0.13.12"
44
authors = "Lukas Devos, Maarten Van Damme and contributors"
55

6+
[workspace]
7+
projects = ["test", "docs"]
8+
69
[deps]
710
Accessors = "7d9f7c33-5ae7-4f3b-8dc6-eff91059b697"
811
BlockTensorKit = "5f87ffc2-9cf1-4a46-8172-465d160bd8cd"
@@ -21,6 +24,7 @@ RecipesBase = "3cdcf5f2-1ef4-517c-9805-6587b60abb01"
2124
TensorKit = "07d1fe3e-3e46-537d-9eac-e9e13d0d4cec"
2225
TensorKitManifolds = "11fa318c-39cb-4a83-b1ed-cdc7ba1e3684"
2326
TensorOperations = "6aa20fa7-93e2-5fca-9bc0-fbd0db3c71a2"
27+
TimerOutputs = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f"
2428
VectorInterface = "409d34a3-91d5-4945-b6ec-7529ddf182d8"
2529

2630
[weakdeps]
@@ -32,47 +36,22 @@ MPSKitAdaptExt = "Adapt"
3236
[compat]
3337
Accessors = "0.1"
3438
Adapt = "4"
35-
Aqua = "0.8.9"
36-
BlockTensorKit = "0.3.8"
37-
CUDA = "5.9"
38-
Combinatorics = "1"
39+
BlockTensorKit = "0.3.11"
3940
Compat = "3.47, 4.10"
4041
DocStringExtensions = "0.9.3"
4142
HalfIntegers = "1.6.0"
4243
KrylovKit = "0.8.3, 0.9.2, 0.10"
4344
LinearAlgebra = "1.6"
4445
LoggingExtras = "~1.0"
45-
MatrixAlgebraKit = "0.6"
46+
MatrixAlgebraKit = "0.6.5"
4647
OhMyThreads = "0.7, 0.8"
4748
OptimKit = "0.3.1, 0.4"
48-
ParallelTestRunner = "2"
49-
Pkg = "1"
50-
Plots = "1.40"
5149
Printf = "1"
5250
Random = "1"
5351
RecipesBase = "1.1"
54-
TensorKit = "0.16.3"
55-
TensorKitManifolds = "0.7"
56-
TensorKitTensors = "0.2"
52+
TensorKit = "0.16.5"
53+
TensorKitManifolds = "0.7, 0.8"
5754
TensorOperations = "5.5.1"
58-
Test = "1"
59-
TestExtras = "0.3"
60-
VectorInterface = "0.2, 0.3, 0.4, 0.5"
61-
cuTENSOR = "2.3"
55+
TimerOutputs = "0.5.29"
56+
VectorInterface = "0.2, 0.3, 0.4, 0.5, 0.6"
6257
julia = "1.10"
63-
64-
[extras]
65-
Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e"
66-
Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595"
67-
CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba"
68-
Combinatorics = "861a8166-3701-5b0c-9a16-15d98fcdc6aa"
69-
ParallelTestRunner = "d3525ed8-44d0-4b2c-a655-542cee43accc"
70-
Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
71-
Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80"
72-
TensorKitTensors = "41b62e7d-e9d1-4e23-942c-79a97adf954b"
73-
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
74-
TestExtras = "5ed8adda-3752-4e41-b88a-e8b09835ee3a"
75-
cuTENSOR = "011b41b2-24ef-40a8-b3eb-fa098493e9e1"
76-
77-
[targets]
78-
test = ["Aqua", "Adapt", "CUDA", "cuTENSOR", "Pkg", "Test", "TestExtras", "Plots", "Combinatorics", "ParallelTestRunner", "TensorKitTensors"]

benchmark/MPSKitBenchmarks/MPSKitBenchmarks.jl

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,12 @@ BenchmarkTools.DEFAULT_PARAMETERS.memory_tolerance = 0.01
1414
const PARAMS_PATH = joinpath(@__DIR__, "etc", "params.json")
1515
const SUITE = BenchmarkGroup()
1616
const MODULES = Dict{String, Symbol}(
17-
"derivatives" => :DerivativesBenchmarks
17+
"derivatives" => :DerivativesBenchmarks,
18+
"timestep" => :TimestepBenchmarks,
1819
)
1920

2021
include("derivatives/DerivativesBenchmarks.jl")
22+
include("timestep/TimestepBenchmarks.jl")
2123

2224
load!(id::AbstractString; kwargs...) = load!(SUITE, id; kwargs...)
2325

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
module TimestepBenchmarks
2+
3+
using BenchmarkTools
4+
using MPSKit
5+
using MPSKitModels
6+
7+
const SUITE = BenchmarkGroup()
8+
const dt = 0.05
9+
10+
const HAMILTONIANS = (
11+
"tfim" => transverse_field_ising(),
12+
"heis_xxx" => heisenberg_XXX(),
13+
)
14+
15+
let g_top = addgroup!(SUITE, "make_time_mpo")
16+
for (Hname, H) in HAMILTONIANS
17+
g = addgroup!(g_top, Hname)
18+
for N in (1, 2, 3)
19+
alg = TaylorCluster(; N)
20+
g["N=$N"] = @benchmarkable make_time_mpo($H, $dt, $alg)
21+
end
22+
g["WII"] = @benchmarkable make_time_mpo($H, $dt, $(MPSKit.WII()))
23+
end
24+
end
25+
26+
end # module

docs/Project.toml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
name = "MPSKitDocs"
2+
13
[deps]
24
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
35
DocumenterCitations = "daee34ce-89f3-4625-b898-19384cb65244"
@@ -12,5 +14,9 @@ Symbolics = "0c5d862f-8b57-4792-8d23-62f2024744c7"
1214
TensorKit = "07d1fe3e-3e46-537d-9eac-e9e13d0d4cec"
1315
TensorOperations = "6aa20fa7-93e2-5fca-9bc0-fbd0db3c71a2"
1416

17+
[sources]
18+
MPSKit = {path = ".."}
19+
1520
[compat]
1621
Documenter = "1.0"
22+
DocumenterInterLinks = "1"

docs/make.jl

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
if Base.active_project() != joinpath(@__DIR__, "Project.toml")
33
using Pkg
44
Pkg.activate(@__DIR__)
5-
Pkg.develop(PackageSpec(; path = (@__DIR__) * "/../"))
65
Pkg.resolve()
76
Pkg.instantiate()
87
end
@@ -30,7 +29,7 @@ links = InterLinks(
3029
"TensorKit" => "https://quantumkithub.github.io/TensorKit.jl/stable/",
3130
"TensorOperations" => "https://quantumkithub.github.io/TensorOperations.jl/stable/",
3231
"KrylovKit" => "https://jutho.github.io/KrylovKit.jl/stable/",
33-
"BlockTensorKit" => "https://lkdvos.github.io/BlockTensorKit.jl/dev/",
32+
"BlockTensorKit" => "https://quantumkithub.github.io/BlockTensorKit.jl/dev/",
3433
"MatrixAlgebraKit" => "https://quantumkithub.github.io/MatrixAlgebraKit.jl/stable/",
3534
"MPSKitModels" => "https://quantumkithub.github.io/MPSKitModels.jl/dev/"
3635
)

docs/src/changelog.md

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ When making changes to this project, please update the "Unreleased" section with
1717

1818
When releasing a new version, move the "Unreleased" changes to a new version section with the release date.
1919

20-
## [Unreleased](https://github.com/QuantumKitHub/MPSKit.jl/compare/v0.13.10...HEAD)
20+
## [Unreleased](https://github.com/QuantumKitHub/MPSKit.jl/compare/v0.13.11...HEAD)
2121

2222
### Added
2323

@@ -29,6 +29,35 @@ When releasing a new version, move the "Unreleased" changes to a new version sec
2929

3030
### Fixed
3131

32+
### Performance
33+
34+
## [0.13.11](https://github.com/QuantumKitHub/MPSKit.jl/compare/v0.13.10...v0.13.11) - 2026-05-04
35+
36+
### Added
37+
38+
- `MultilineMPO` space getters ([#407](https://github.com/QuantumKitHub/MPSKit.jl/pull/407))
39+
40+
### Changed
41+
42+
- Refactored time-evolution MPO construction ([#422](https://github.com/QuantumKitHub/MPSKit.jl/pull/422))
43+
- Updated `TensorKitManifolds` compat to 0.8 ([#421](https://github.com/QuantumKitHub/MPSKit.jl/pull/421))
44+
- Updated MatrixAlgebraKit algorithm specification ([#418](https://github.com/QuantumKitHub/MPSKit.jl/pull/418))
45+
- Preparations for GPU / non-CPU array support ([#375](https://github.com/QuantumKitHub/MPSKit.jl/pull/375), [#392](https://github.com/QuantumKitHub/MPSKit.jl/pull/392))
46+
- Generalized `calc_galerkin` to `AbstractMPS` ([#395](https://github.com/QuantumKitHub/MPSKit.jl/pull/395))
47+
- Removed explicit call to `InfiniteMPS` in VUMPS ([#396](https://github.com/QuantumKitHub/MPSKit.jl/pull/396))
48+
- Generalized `regauge!` to `AbstractVector` ([#393](https://github.com/QuantumKitHub/MPSKit.jl/pull/393))
49+
50+
### Fixed
51+
52+
- Various fixes for compatibility with latest TensorKit versions ([#416](https://github.com/QuantumKitHub/MPSKit.jl/pull/416))
53+
- `changebonds` inconsistencies ([#415](https://github.com/QuantumKitHub/MPSKit.jl/pull/415))
54+
- Small fixes for density operators ([#409](https://github.com/QuantumKitHub/MPSKit.jl/pull/409))
55+
- Tolerance on positivity test ([#398](https://github.com/QuantumKitHub/MPSKit.jl/pull/398))
56+
57+
### Performance
58+
59+
- Benchmarks and AC/AC2 contraction improvements ([#345](https://github.com/QuantumKitHub/MPSKit.jl/pull/345))
60+
3261
## [0.13.10](https://github.com/QuantumKitHub/MPSKit.jl/compare/v0.13.9...v0.13.10) - 2026-02-26
3362

3463
### Added

0 commit comments

Comments
 (0)