Skip to content

Commit b6aec62

Browse files
committed
Merge branch 'main' into liouvillian
2 parents c035fc9 + 8d6922a commit b6aec62

File tree

9 files changed

+121
-51
lines changed

9 files changed

+121
-51
lines changed

.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/[email protected].2
13+
uses: crate-ci/[email protected].3

CHANGELOG.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,12 @@ 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.36.0]
13+
Release date: 2025-09-29
14+
15+
- Add `QuantumToolbox.cite()` for bibtex generator of `QuantumToolbox.jl`. ([#544])
16+
- Add `sortby` and `rev` keyword arguments to eigensolvers. ([#546])
17+
1218
## [v0.35.0]
1319
Release date: 2025-09-03
1420

@@ -23,7 +29,6 @@ Release date: 2025-08-23
2329

2430
- Improve Bloch sphere rendering for animation. ([#520])
2531
- Add support to `Enzyme.jl` for `sesolve` and `mesolve`. ([#531])
26-
- Add `sortby` and `rev` keyword arguments to eigensolvers. ([#546])
2732

2833
## [v0.34.0]
2934
Release date: 2025-07-29
@@ -226,6 +231,7 @@ Release date: 2024-11-13
226231
[v0.34.0]: https://github.com/qutip/QuantumToolbox.jl/releases/tag/v0.34.0
227232
[v0.34.1]: https://github.com/qutip/QuantumToolbox.jl/releases/tag/v0.34.1
228233
[v0.35.0]: https://github.com/qutip/QuantumToolbox.jl/releases/tag/v0.35.0
234+
[v0.36.0]: https://github.com/qutip/QuantumToolbox.jl/releases/tag/v0.36.0
229235
[#86]: https://github.com/qutip/QuantumToolbox.jl/issues/86
230236
[#139]: https://github.com/qutip/QuantumToolbox.jl/issues/139
231237
[#271]: https://github.com/qutip/QuantumToolbox.jl/issues/271
@@ -318,4 +324,5 @@ Release date: 2024-11-13
318324
[#537]: https://github.com/qutip/QuantumToolbox.jl/issues/537
319325
[#539]: https://github.com/qutip/QuantumToolbox.jl/issues/539
320326
[#541]: https://github.com/qutip/QuantumToolbox.jl/issues/541
327+
[#544]: https://github.com/qutip/QuantumToolbox.jl/issues/544
321328
[#546]: https://github.com/qutip/QuantumToolbox.jl/issues/546

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
}

Project.toml

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

66
[deps]
77
ArrayInterface = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9"

README.md

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ and [Y.-T. Huang](https://github.com/ytdHuang).
2424
[license-img]: https://img.shields.io/badge/license-New%20BSD-blue.svg
2525
[license-url]: https://opensource.org/licenses/BSD-3-Clause
2626

27-
[cite-img]: https://img.shields.io/badge/cite-arXiv%3A2504.21440_(2025)-blue
28-
[cite-url]: https://doi.org/10.48550/arXiv.2504.21440
27+
[cite-img]: https://img.shields.io/badge/cite-Quantum_9%2C_1866_(2025)-blue
28+
[cite-url]: https://doi.org/10.22331/q-2025-09-29-1866
2929

3030
[download-img]: https://img.shields.io/badge/dynamic/json?url=http%3A%2F%2Fjuliapkgstats.com%2Fapi%2Fv1%2Ftotal_downloads%2FQuantumToolbox&query=total_requests&label=Downloads
3131
[download-url]: https://juliapkgstats.com/pkg/QuantumToolbox
@@ -179,19 +179,21 @@ You are most welcome to contribute to `QuantumToolbox.jl` development by forking
179179
For more information about contribution, including technical advice, please see the [Contributing to Quantum Toolbox in Julia](https://qutip.org/QuantumToolbox.jl/stable/resources/contributing).
180180

181181
## Cite `QuantumToolbox.jl`
182-
If you like `QuantumToolbox.jl`, we would appreciate it if you starred the repository in order to help us increase its visibility. Furthermore, if you find the framework useful in your research, we would be grateful if you could cite our arXiv preprint [ [arXiv:2504.21440 (2025)](https://doi.org/10.48550/arXiv.2504.21440) ] using the following bibtex entry:
182+
If you like `QuantumToolbox.jl`, we would appreciate it if you starred the repository in order to help us increase its visibility. Furthermore, if you find the framework useful in your research, we would be grateful if you could cite our publication [ [Quantum 9, 1866 (2025)](https://doi.org/10.22331/q-2025-09-29-1866) ] using the following bibtex entry:
183183

184184
```bib
185-
@article{QuantumToolbox-jl2025,
186-
title={{QuantumToolbox.jl}: An efficient {Julia} framework for simulating open quantum systems},
187-
author={Mercurio, Alberto and Huang, Yi-Te and Cai, Li-Xun and Chen, Yueh-Nan and Savona, Vincenzo and Nori, Franco},
188-
journal={arXiv preprint arXiv:2504.21440},
189-
year={2025},
190-
publisher = {arXiv},
191-
eprint={2504.21440},
192-
archivePrefix={arXiv},
193-
primaryClass={quant-ph},
194-
doi = {10.48550/arXiv.2504.21440}
185+
@article{QuantumToolbox.jl2025,
186+
title = {Quantum{T}oolbox.jl: {A}n efficient {J}ulia framework for simulating open quantum systems},
187+
author = {Mercurio, Alberto and Huang, Yi-Te and Cai, Li-Xun and Chen, Yueh-Nan and Savona, Vincenzo and Nori, Franco},
188+
journal = {{Quantum}},
189+
issn = {2521-327X},
190+
publisher = {{Verein zur F{\"{o}}rderung des Open Access Publizierens in den Quantenwissenschaften}},
191+
volume = {9},
192+
pages = {1866},
193+
month = sep,
194+
year = {2025},
195+
doi = {10.22331/q-2025-09-29-1866},
196+
url = {https://doi.org/10.22331/q-2025-09-29-1866}
195197
}
196198
```
197199

docs/src/getting_started/cite.md

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,19 @@
11
# [Cite QuantumToolbox.jl](@id doc:Cite)
22

3-
If you like `QuantumToolbox.jl`, we would appreciate it if you could cite our arXiv preprint [ [arXiv:2504.21440 (2025)](https://doi.org/10.48550/arXiv.2504.21440) ] using the following bibtex entry:
3+
If you like `QuantumToolbox.jl`, we would appreciate it if you could cite our publication [ [Quantum 9, 1866 (2025)](https://doi.org/10.22331/q-2025-09-29-1866) ] using the following bibtex entry:
44

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

docs/src/resources/api.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -314,6 +314,7 @@ AbstractLinearMap
314314
QuantumToolbox.settings
315315
QuantumToolbox.versioninfo
316316
QuantumToolbox.about
317+
QuantumToolbox.cite
317318
gaussian
318319
n_thermal
319320
PhysicalConstants
@@ -342,4 +343,4 @@ add_line!
342343
add_arc!
343344
add_states!
344345
clear!
345-
```
346+
```

src/versioninfo.jl

Lines changed: 49 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
Command line output of information on QuantumToolbox, dependencies, and system information
33
=#
44

5-
"""
5+
@doc raw"""
66
QuantumToolbox.versioninfo(io::IO=stdout)
77
88
Command line output of information on QuantumToolbox, dependencies, and system information, same as [`QuantumToolbox.about`](@ref).
@@ -36,20 +36,32 @@ function versioninfo(io::IO = stdout)
3636
)
3737

3838
# print System information
39-
println(io, "System information:")
40-
println(io, "====================================")
41-
println(io, """OS : $(OS_name) ($(Sys.MACHINE))""")
42-
println(io, """CPU : $(length(cpu)) × $(cpu[1].model)""")
43-
println(io, """Memory : $(round(Sys.total_memory() / 2 ^ 30, digits=3)) GB""")
44-
println(io, """WORD_SIZE: $(Sys.WORD_SIZE)""")
45-
println(io, """LIBM : $(Base.libm_name)""")
46-
println(io, """LLVM : libLLVM-$(Base.libllvm_version) ($(Sys.JIT), $(Sys.CPU_NAME))""")
47-
println(io, """BLAS : $(basename(BLAS_info.libname)) ($(BLAS_info.interface))""")
48-
println(io, """Threads : $(Threads.nthreads()) (on $(Sys.CPU_THREADS) virtual cores)""")
49-
return print(io, "\n")
39+
println(
40+
io,
41+
"System information:\n",
42+
"====================================\n",
43+
"""OS : $(OS_name) ($(Sys.MACHINE))\n""",
44+
"""CPU : $(length(cpu)) × $(cpu[1].model)\n""",
45+
"""Memory : $(round(Sys.total_memory() / 2 ^ 30, digits=3)) GB\n""",
46+
"""WORD_SIZE: $(Sys.WORD_SIZE)\n""",
47+
"""LIBM : $(Base.libm_name)\n""",
48+
"""LLVM : libLLVM-$(Base.libllvm_version) ($(Sys.JIT), $(Sys.CPU_NAME))\n""",
49+
"""BLAS : $(basename(BLAS_info.libname)) ($(BLAS_info.interface))\n""",
50+
"""Threads : $(Threads.nthreads()) (on $(Sys.CPU_THREADS) virtual cores)\n""",
51+
)
52+
53+
# print citation information
54+
println(
55+
io,
56+
"+---------------------------------------------------+\n",
57+
"| Please cite QuantumToolbox.jl in your publication |\n",
58+
"+---------------------------------------------------+\n",
59+
"For your convenience, a bibtex reference can be easily generated using `QuantumToolbox.cite()`.\n",
60+
)
61+
return nothing
5062
end
5163

52-
"""
64+
@doc raw"""
5365
QuantumToolbox.about(io::IO=stdout)
5466
5567
Command line output of information on QuantumToolbox, dependencies, and system information, same as [`QuantumToolbox.versioninfo`](@ref).
@@ -64,3 +76,27 @@ function _get_pkg_version(pkg_name::String)
6476
end
6577
end
6678
end
79+
80+
@doc raw"""
81+
QuantumToolbox.cite(io::IO = stdout)
82+
83+
Command line output of citation information and bibtex generator for `QuantumToolbox.jl`.
84+
"""
85+
function cite(io::IO = stdout)
86+
citation = raw"""
87+
@article{QuantumToolbox.jl2025,
88+
title = {Quantum{T}oolbox.jl: {A}n efficient {J}ulia framework for simulating open quantum systems},
89+
author = {Mercurio, Alberto and Huang, Yi-Te and Cai, Li-Xun and Chen, Yueh-Nan and Savona, Vincenzo and Nori, Franco},
90+
journal = {{Quantum}},
91+
issn = {2521-327X},
92+
publisher = {{Verein zur F{\"{o}}rderung des Open Access Publizierens in den Quantenwissenschaften}},
93+
volume = {9},
94+
pages = {1866},
95+
month = sep,
96+
year = {2025},
97+
doi = {10.22331/q-2025-09-29-1866},
98+
url = {https://doi.org/10.22331/q-2025-09-29-1866}
99+
}
100+
"""
101+
return println(io, citation)
102+
end

test/core-test/utilities.jl

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,24 @@
11
@testitem "Utilities" begin
2+
3+
# citation bibtex
4+
io_buffer = IOBuffer()
5+
QuantumToolbox.cite(io_buffer)
6+
captured_output = String(take!(io_buffer))
7+
@test captured_output ==
8+
"""@article{QuantumToolbox.jl2025,\n""" *
9+
""" title = {Quantum{T}oolbox.jl: {A}n efficient {J}ulia framework for simulating open quantum systems},\n""" *
10+
""" author = {Mercurio, Alberto and Huang, Yi-Te and Cai, Li-Xun and Chen, Yueh-Nan and Savona, Vincenzo and Nori, Franco},\n""" *
11+
""" journal = {{Quantum}},\n""" *
12+
""" issn = {2521-327X},\n""" *
13+
""" publisher = {{Verein zur F{\"{o}}rderung des Open Access Publizierens in den Quantenwissenschaften}},\n""" *
14+
""" volume = {9},\n""" *
15+
""" pages = {1866},\n""" *
16+
""" month = sep,\n""" *
17+
""" year = {2025},\n""" *
18+
""" doi = {10.22331/q-2025-09-29-1866},\n""" *
19+
""" url = {https://doi.org/10.22331/q-2025-09-29-1866}\n""" *
20+
"""}\n\n"""
21+
222
@testset "n_thermal" begin
323
ω1 = rand(Float64)
424
ω2 = rand(Float64)

0 commit comments

Comments
 (0)