Skip to content

Commit c3026d6

Browse files
committed
Merge branch 'main' into liouvillian
2 parents 2c83707 + 7265598 commit c3026d6

Some content is hidden

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

69 files changed

+1555
-633
lines changed

.github/workflows/Benchmarks.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ jobs:
3737
- uses: actions/checkout@v5
3838
- uses: julia-actions/setup-julia@v2
3939
with:
40-
version: '1'
40+
version: '1.11'
4141
arch: x64
4242
- uses: julia-actions/cache@v2
4343
- name: Run benchmark

.github/workflows/CI.yml

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -56,23 +56,28 @@ jobs:
5656

5757
include:
5858
# for core tests (intermediate versions)
59-
# - version: '1.x'
60-
# node:
61-
# os: 'ubuntu-latest'
62-
# arch: 'x64'
63-
# group: 'Core'
59+
- version: '1.11'
60+
node:
61+
os: 'ubuntu-latest'
62+
arch: 'x64'
63+
group: 'Core'
6464

6565
# for extension tests
6666
- version: '1'
6767
node:
6868
os: 'ubuntu-latest'
6969
arch: 'x64'
7070
group: 'Makie_Ext'
71-
- version: '1'
71+
- version: '1.11'
7272
node:
7373
os: 'ubuntu-latest'
7474
arch: 'x64'
7575
group: 'AutoDiff_Ext'
76+
- version: '1'
77+
node:
78+
os: 'ubuntu-latest'
79+
arch: 'x64'
80+
group: 'Arbitrary-Precision'
7681

7782
steps:
7883
- uses: actions/checkout@v5

.github/workflows/CleanPreviewDoc.yml

Lines changed: 39 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,12 @@ name: Cleanup Preview Documentation
33
on:
44
pull_request:
55
types: [closed]
6+
schedule:
7+
- cron: "0 0 * * 0" # Run weekly on Sunday at midnight
8+
workflow_dispatch:
69

710
permissions:
811
contents: write
9-
deployments: write
1012

1113
jobs:
1214
cleanup-preview-doc:
@@ -16,16 +18,47 @@ jobs:
1618
uses: actions/checkout@v5
1719
with:
1820
ref: gh-pages
19-
- name: Delete preview and history + push changes
21+
- name: Delete preview(s) and reset history
2022
run: |
21-
if [ -d "previews/PR$PRNUM" ]; then
23+
# If triggered by PR close, delete that specific preview
24+
if [ "${{ github.event_name }}" = "pull_request" ]; then
25+
PRNUM=${{ github.event.number }}
26+
if [ -d "previews/PR$PRNUM" ]; then
27+
echo "Deleting preview for PR #$PRNUM"
28+
git rm -rf "previews/PR$PRNUM"
29+
fi
30+
else
31+
# Scheduled/manual run: check all previews against open PRs
32+
echo "Checking all preview folders for stale PRs..."
33+
34+
# Get list of all PR preview folders
35+
if [ -d "previews" ]; then
36+
for dir in previews/PR*; do
37+
[ -d "$dir" ] || continue
38+
PRNUM=$(echo "$dir" | grep -oP 'PR\K\d+')
39+
40+
# Check if PR is still open via GitHub API
41+
STATUS=$(curl -s -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
42+
"https://api.github.com/repos/${{ github.repository }}/pulls/$PRNUM" \
43+
| jq -r '.state // "closed"')
44+
45+
if [ "$STATUS" != "open" ]; then
46+
echo "Deleting stale preview for closed PR #$PRNUM"
47+
git rm -rf "$dir"
48+
fi
49+
done
50+
fi
51+
fi
52+
53+
# Only commit and push if there are changes
54+
if ! git diff --cached --quiet; then
2255
git config user.name "Documenter.jl"
2356
git config user.email "[email protected]"
24-
git rm -rf "previews/PR$PRNUM"
25-
git commit -m "delete preview"
57+
git commit -m "delete preview(s)"
2658
git branch gh-pages-new $(echo "delete history" | git commit-tree HEAD^{tree})
2759
git push --force origin gh-pages-new:gh-pages
60+
else
61+
echo "No stale previews found"
2862
fi
2963
env:
3064
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
31-
PRNUM: ${{ github.event.number }}

.github/workflows/Code-Quality.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ jobs:
4040
matrix:
4141
version:
4242
- 'lts'
43+
- '1'
4344
os:
4445
- 'ubuntu-latest'
4546
arch:

.github/workflows/SpellCheck.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,4 @@ jobs:
1010
- name: Checkout Actions Repository
1111
uses: actions/checkout@v5
1212
- name: Check spelling
13-
uses: crate-ci/typos@v1.35.5
13+
uses: crate-ci/typos@v1.38.1

.github/workflows/documentation.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ jobs:
4646
- uses: actions/checkout@v5
4747
- uses: julia-actions/setup-julia@v2
4848
with:
49-
version: '1'
49+
version: '1.11'
5050
- uses: julia-actions/cache@v2
5151
- uses: julia-actions/julia-buildpkg@v1
5252
- uses: julia-actions/julia-docdeploy@v1

CHANGELOG.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,33 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
99

1010
- Generalize the definition of `liouvillian`. It no longer expects the Hamiltonian to be Hermitian. ([#541])
1111

12+
## [v0.38.1]
13+
Release date: 2025-10-27
14+
15+
- Add `ProgressMeterKWARGS` in `QuantumToolbox.settings` for customizing progress bar. ([#579])
16+
17+
## [v0.38.0]
18+
Release date: 2025-10-27
19+
20+
- Introduce new methods of `sesolve_map` and `mesolve_map` for advanced usage. Users can now customize their own `iter`ator structure, `prob_func` and `output_func`. ([#565])
21+
- Use `ProgressMeter.jl` for progress bar rather than our in-house implementation. ([#569], [#575])
22+
- Simplify type structure for time evolution solutions. ([#572])
23+
- Add support to arbitrary precision computation. Tested for `sesolve`, `mesolve` and `eigensolve`. ([#576])
24+
25+
## [v0.37.0]
26+
Release date: 2025-10-12
27+
28+
- Fix `cite()` bibtex output. ([#552])
29+
- Implement `sesolve_map` and `mesolve_map` for solving multiple initial states and parameter sets in parallel. ([#554])
30+
- Add `qeye_like` and `qzero_like`, which are synonyms of `one` and `zero`. ([#555])
31+
- Add steadystate and DSF benchmarks. The `SteadyStateODESOlver` tolerances are lowered to `terminate_reltol=1e-4` and `terminate_abstol=1e-6` to improve speed at the cost of accuracy. ([#557])
32+
33+
## [v0.36.0]
34+
Release date: 2025-09-29
35+
36+
- Add `QuantumToolbox.cite()` for bibtex generator of `QuantumToolbox.jl`. ([#544])
37+
- Add `sortby` and `rev` keyword arguments to eigensolvers. ([#546])
38+
1239
## [v0.35.0]
1340
Release date: 2025-09-03
1441

@@ -225,6 +252,10 @@ Release date: 2024-11-13
225252
[v0.34.0]: https://github.com/qutip/QuantumToolbox.jl/releases/tag/v0.34.0
226253
[v0.34.1]: https://github.com/qutip/QuantumToolbox.jl/releases/tag/v0.34.1
227254
[v0.35.0]: https://github.com/qutip/QuantumToolbox.jl/releases/tag/v0.35.0
255+
[v0.36.0]: https://github.com/qutip/QuantumToolbox.jl/releases/tag/v0.36.0
256+
[v0.37.0]: https://github.com/qutip/QuantumToolbox.jl/releases/tag/v0.37.0
257+
[v0.38.0]: https://github.com/qutip/QuantumToolbox.jl/releases/tag/v0.38.0
258+
[v0.38.1]: https://github.com/qutip/QuantumToolbox.jl/releases/tag/v0.38.1
228259
[#86]: https://github.com/qutip/QuantumToolbox.jl/issues/86
229260
[#139]: https://github.com/qutip/QuantumToolbox.jl/issues/139
230261
[#271]: https://github.com/qutip/QuantumToolbox.jl/issues/271
@@ -317,3 +348,15 @@ Release date: 2024-11-13
317348
[#537]: https://github.com/qutip/QuantumToolbox.jl/issues/537
318349
[#539]: https://github.com/qutip/QuantumToolbox.jl/issues/539
319350
[#541]: https://github.com/qutip/QuantumToolbox.jl/issues/541
351+
[#544]: https://github.com/qutip/QuantumToolbox.jl/issues/544
352+
[#546]: https://github.com/qutip/QuantumToolbox.jl/issues/546
353+
[#552]: https://github.com/qutip/QuantumToolbox.jl/issues/552
354+
[#554]: https://github.com/qutip/QuantumToolbox.jl/issues/554
355+
[#555]: https://github.com/qutip/QuantumToolbox.jl/issues/555
356+
[#557]: https://github.com/qutip/QuantumToolbox.jl/issues/557
357+
[#565]: https://github.com/qutip/QuantumToolbox.jl/issues/565
358+
[#569]: https://github.com/qutip/QuantumToolbox.jl/issues/569
359+
[#572]: https://github.com/qutip/QuantumToolbox.jl/issues/572
360+
[#575]: https://github.com/qutip/QuantumToolbox.jl/issues/575
361+
[#576]: https://github.com/qutip/QuantumToolbox.jl/issues/576
362+
[#579]: https://github.com/qutip/QuantumToolbox.jl/issues/579

CITATION.bib

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
1-
@article{QuantumToolbox-jl2025,
2-
title={{QuantumToolbox.jl}: An efficient {Julia} framework for simulating open quantum systems},
3-
author={Mercurio, Alberto and Huang, Yi-Te and Cai, Li-Xun and Chen, Yueh-Nan and Savona, Vincenzo and Nori, Franco},
4-
journal={arXiv preprint arXiv:2504.21440},
5-
year={2025},
6-
publisher = {arXiv},
7-
eprint={2504.21440},
8-
archivePrefix={arXiv},
9-
primaryClass={quant-ph},
10-
doi = {10.48550/arXiv.2504.21440}
1+
@article{QuantumToolbox.jl2025,
2+
title = {Quantum{T}oolbox.jl: {A}n efficient {J}ulia framework for simulating open quantum systems},
3+
author = {Mercurio, Alberto and Huang, Yi-Te and Cai, Li-Xun and Chen, Yueh-Nan and Savona, Vincenzo and Nori, Franco},
4+
journal = {{Quantum}},
5+
issn = {2521-327X},
6+
publisher = {{Verein zur F{\"{o}}rderung des Open Access Publizierens in den Quantenwissenschaften}},
7+
volume = {9},
8+
pages = {1866},
9+
month = sep,
10+
year = {2025},
11+
doi = {10.22331/q-2025-09-29-1866},
12+
url = {https://doi.org/10.22331/q-2025-09-29-1866}
1113
}

Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ changelog:
1212
${JULIA} -e 'using Changelog; Changelog.generate(Changelog.CommonMark(), "CHANGELOG.md"; repo = "qutip/QuantumToolbox.jl")'
1313

1414
test:
15-
${JULIA} --project -e 'using Pkg; Pkg.resolve(); Pkg.test()'
15+
${JULIA} --project -e 'using Pkg; Pkg.update(); Pkg.test()'
1616

1717
docs:
18-
${JULIA} --project=docs -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()'
18+
${JULIA} --project=docs -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.update()'
1919
${JULIA} --project=docs docs/make.jl
2020

2121
vitepress:

Project.toml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "QuantumToolbox"
22
uuid = "6c2fb7c5-b903-41d2-bc5e-5a7c320b9fab"
3+
version = "0.38.1"
34
authors = ["Alberto Mercurio", "Yi-Te Huang"]
4-
version = "0.35.0"
55

66
[deps]
77
ArrayInterface = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9"
@@ -18,6 +18,7 @@ LinearSolve = "7ed4a6bd-45f5-4d41-b270-4a48e9bafcae"
1818
OrdinaryDiffEqCore = "bbf590c4-e513-4bbe-9b18-05decba2e5d8"
1919
OrdinaryDiffEqTsit5 = "b1df2697-797e-41e3-8120-5422d3b24e4a"
2020
Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
21+
ProgressMeter = "92933f4c-e287-5a05-a399-4b506db050ca"
2122
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
2223
SciMLBase = "0bca4576-84f4-4d90-8ffe-ffa030f20462"
2324
SciMLOperators = "c0aeaf25-5076-4817-a8d5-81caf7dfa961"
@@ -42,7 +43,7 @@ QuantumToolboxMakieExt = "Makie"
4243

4344
[compat]
4445
ArrayInterface = "6, 7"
45-
CUDA = "5"
46+
CUDA = "5.0 - 5.8"
4647
ChainRulesCore = "1"
4748
DiffEqBase = "6"
4849
DiffEqCallbacks = "4.2.1 - 4"
@@ -52,14 +53,15 @@ FFTW = "1.5"
5253
GPUArrays = "10, 11"
5354
Graphs = "1.7"
5455
IncompleteLU = "0.2"
55-
KernelAbstractions = "0.9.2"
56+
KernelAbstractions = "0.9"
5657
LaTeXStrings = "1.2"
5758
LinearAlgebra = "1"
5859
LinearSolve = "2, 3"
5960
Makie = "0.24"
6061
OrdinaryDiffEqCore = "1"
6162
OrdinaryDiffEqTsit5 = "1"
6263
Pkg = "1"
64+
ProgressMeter = "1.11.0"
6365
Random = "1"
6466
SciMLBase = "2.105"
6567
SciMLOperators = "1.4"

0 commit comments

Comments
 (0)