From c57d14eb2c5812a13e6ece2be7bbb97e98ede68d Mon Sep 17 00:00:00 2001 From: Yi-Te Huang <44385685+ytdHuang@users.noreply.github.com> Date: Sat, 20 Sep 2025 14:40:08 +0800 Subject: [PATCH 1/5] introduce `cite` and update `versioninfo`` --- src/versioninfo.jl | 59 +++++++++++++++++++++++++++++++++++++--------- 1 file changed, 48 insertions(+), 11 deletions(-) diff --git a/src/versioninfo.jl b/src/versioninfo.jl index fe288536e..b6bd1d2b4 100644 --- a/src/versioninfo.jl +++ b/src/versioninfo.jl @@ -36,17 +36,29 @@ function versioninfo(io::IO = stdout) ) # print System information - println(io, "System information:") - println(io, "====================================") - println(io, """OS : $(OS_name) ($(Sys.MACHINE))""") - println(io, """CPU : $(length(cpu)) × $(cpu[1].model)""") - println(io, """Memory : $(round(Sys.total_memory() / 2 ^ 30, digits=3)) GB""") - println(io, """WORD_SIZE: $(Sys.WORD_SIZE)""") - println(io, """LIBM : $(Base.libm_name)""") - println(io, """LLVM : libLLVM-$(Base.libllvm_version) ($(Sys.JIT), $(Sys.CPU_NAME))""") - println(io, """BLAS : $(basename(BLAS_info.libname)) ($(BLAS_info.interface))""") - println(io, """Threads : $(Threads.nthreads()) (on $(Sys.CPU_THREADS) virtual cores)""") - return print(io, "\n") + println( + io, + "System information:\n", + "====================================\n", + """OS : $(OS_name) ($(Sys.MACHINE))\n""", + """CPU : $(length(cpu)) × $(cpu[1].model)\n""", + """Memory : $(round(Sys.total_memory() / 2 ^ 30, digits=3)) GB\n""", + """WORD_SIZE: $(Sys.WORD_SIZE)\n""", + """LIBM : $(Base.libm_name)\n""", + """LLVM : libLLVM-$(Base.libllvm_version) ($(Sys.JIT), $(Sys.CPU_NAME))\n""", + """BLAS : $(basename(BLAS_info.libname)) ($(BLAS_info.interface))\n""", + """Threads : $(Threads.nthreads()) (on $(Sys.CPU_THREADS) virtual cores)\n""", + ) + + # print citation information + println( + io, + "+---------------------------------------------------+\n", + "| Please cite QuantumToolbox.jl in your publication |\n", + "+---------------------------------------------------+\n", + "For your convenience, a bibtex reference can be easily generated using `QuantumToolbox.cite()`.\n" + ) + return nothing end """ @@ -64,3 +76,28 @@ function _get_pkg_version(pkg_name::String) end end end + +@doc raw""" + QuantumToolbox.cite(io::IO = stdout) + +Command line output of citation information and bibtex generator for `QuantumToolbox.jl`. +""" +function cite(io::IO = stdout) + citation = raw""" + @article{QuantumToolbox-jl2025, + doi = {}, + url = {}, + title = {{QuantumToolbox.jl}: {A}n efficient {J}ulia framework for simulating open quantum systems}, + author = {Mercurio, Alberto and Huang, Yi-Te and Cai, Li-Xun and Chen, Yueh-Nan and Savona, Vincenzo and Nori, Franco}, + journal = {{Quantum}}, + issn = {2521-327X}, + publisher = {{Verein zur F{\"{o}}rderung des Open Access Publizierens in den Quantenwissenschaften}}, + volume = {}, + pages = {}, + month = sep, + year = {2025} + } + """ + + return println(io, citation) +end From 0de2892ac43438c3f87ed91b2184fc92cae37a2e Mon Sep 17 00:00:00 2001 From: Yi-Te Huang <44385685+ytdHuang@users.noreply.github.com> Date: Sat, 20 Sep 2025 14:47:37 +0800 Subject: [PATCH 2/5] minor changes --- src/versioninfo.jl | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/versioninfo.jl b/src/versioninfo.jl index b6bd1d2b4..3689f21c3 100644 --- a/src/versioninfo.jl +++ b/src/versioninfo.jl @@ -2,7 +2,7 @@ Command line output of information on QuantumToolbox, dependencies, and system information =# -""" +@doc raw""" QuantumToolbox.versioninfo(io::IO=stdout) Command line output of information on QuantumToolbox, dependencies, and system information, same as [`QuantumToolbox.about`](@ref). @@ -61,7 +61,7 @@ function versioninfo(io::IO = stdout) return nothing end -""" +@doc raw""" QuantumToolbox.about(io::IO=stdout) Command line output of information on QuantumToolbox, dependencies, and system information, same as [`QuantumToolbox.versioninfo`](@ref). @@ -98,6 +98,5 @@ function cite(io::IO = stdout) year = {2025} } """ - return println(io, citation) end From f9b1e99b5409cca69729dcfe238a5da935b096c0 Mon Sep 17 00:00:00 2001 From: Yi-Te Huang <44385685+ytdHuang@users.noreply.github.com> Date: Sat, 20 Sep 2025 14:48:59 +0800 Subject: [PATCH 3/5] Update api.md --- docs/src/resources/api.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/src/resources/api.md b/docs/src/resources/api.md index da800fc76..38b6bb226 100644 --- a/docs/src/resources/api.md +++ b/docs/src/resources/api.md @@ -314,6 +314,7 @@ AbstractLinearMap QuantumToolbox.settings QuantumToolbox.versioninfo QuantumToolbox.about +QuantumToolbox.cite gaussian n_thermal PhysicalConstants @@ -342,4 +343,4 @@ add_line! add_arc! add_states! clear! -``` \ No newline at end of file +``` From 4cf6250417b69efaa6d1fc3e060cb2dc58d67e34 Mon Sep 17 00:00:00 2001 From: Yi-Te Huang Date: Mon, 29 Sep 2025 23:34:11 +0800 Subject: [PATCH 4/5] update citation bibtex --- CHANGELOG.md | 3 +++ CITATION.bib | 22 ++++++++++++---------- README.md | 28 +++++++++++++++------------- docs/src/getting_started/cite.md | 24 +++++++++++++----------- src/versioninfo.jl | 14 +++++++------- test/core-test/utilities.jl | 20 ++++++++++++++++++++ 6 files changed, 70 insertions(+), 41 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 950c56076..0811ec725 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased](https://github.com/qutip/QuantumToolbox.jl/tree/main) +- Add `QuantumToolbox.cite()` for bibtex generator of `QuantumToolbox.jl`. ([#544]) + ## [v0.35.0] Release date: 2025-09-03 @@ -314,3 +316,4 @@ Release date: 2024-11-13 [#536]: https://github.com/qutip/QuantumToolbox.jl/issues/536 [#537]: https://github.com/qutip/QuantumToolbox.jl/issues/537 [#539]: https://github.com/qutip/QuantumToolbox.jl/issues/539 +[#544]: https://github.com/qutip/QuantumToolbox.jl/issues/544 diff --git a/CITATION.bib b/CITATION.bib index aea40ca26..b5d86e752 100644 --- a/CITATION.bib +++ b/CITATION.bib @@ -1,11 +1,13 @@ -@article{QuantumToolbox-jl2025, - title={{QuantumToolbox.jl}: An efficient {Julia} framework for simulating open quantum systems}, - author={Mercurio, Alberto and Huang, Yi-Te and Cai, Li-Xun and Chen, Yueh-Nan and Savona, Vincenzo and Nori, Franco}, - journal={arXiv preprint arXiv:2504.21440}, - year={2025}, - publisher = {arXiv}, - eprint={2504.21440}, - archivePrefix={arXiv}, - primaryClass={quant-ph}, - doi = {10.48550/arXiv.2504.21440} +@article{QuantumToolbox.jl2025, + doi = {10.22331/q-2025-09-29-1866}, + url = {https://doi.org/10.22331/q-2025-09-29-1866}, + title = {Quantum{T}oolbox.jl: {A}n efficient {J}ulia framework for simulating open quantum systems}, + author = {Mercurio, Alberto and Huang, Yi-Te and Cai, Li-Xun and Chen, Yueh-Nan and Savona, Vincenzo and Nori, Franco}, + journal = {{Quantum}}, + issn = {2521-327X}, + publisher = {{Verein zur F{\"{o}}rderung des Open Access Publizierens in den Quantenwissenschaften}}, + volume = {9}, + pages = {1866}, + month = sep, + year = {2025} } \ No newline at end of file diff --git a/README.md b/README.md index 26dac7d65..d914a9721 100644 --- a/README.md +++ b/README.md @@ -24,8 +24,8 @@ and [Y.-T. Huang](https://github.com/ytdHuang). [license-img]: https://img.shields.io/badge/license-New%20BSD-blue.svg [license-url]: https://opensource.org/licenses/BSD-3-Clause -[cite-img]: https://img.shields.io/badge/cite-arXiv%3A2504.21440_(2025)-blue -[cite-url]: https://doi.org/10.48550/arXiv.2504.21440 +[cite-img]: https://img.shields.io/badge/cite-Quantum_9%2C_1866_(2025)-blue +[cite-url]: https://doi.org/10.22331/q-2025-09-29-1866 [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 [download-url]: https://juliapkgstats.com/pkg/QuantumToolbox @@ -179,19 +179,21 @@ You are most welcome to contribute to `QuantumToolbox.jl` development by forking 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). ## Cite `QuantumToolbox.jl` -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: +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: ```bib -@article{QuantumToolbox-jl2025, - title={{QuantumToolbox.jl}: An efficient {Julia} framework for simulating open quantum systems}, - author={Mercurio, Alberto and Huang, Yi-Te and Cai, Li-Xun and Chen, Yueh-Nan and Savona, Vincenzo and Nori, Franco}, - journal={arXiv preprint arXiv:2504.21440}, - year={2025}, - publisher = {arXiv}, - eprint={2504.21440}, - archivePrefix={arXiv}, - primaryClass={quant-ph}, - doi = {10.48550/arXiv.2504.21440} +@article{QuantumToolbox.jl2025, + doi = {10.22331/q-2025-09-29-1866}, + url = {https://doi.org/10.22331/q-2025-09-29-1866}, + title = {Quantum{T}oolbox.jl: {A}n efficient {J}ulia framework for simulating open quantum systems}, + author = {Mercurio, Alberto and Huang, Yi-Te and Cai, Li-Xun and Chen, Yueh-Nan and Savona, Vincenzo and Nori, Franco}, + journal = {{Quantum}}, + issn = {2521-327X}, + publisher = {{Verein zur F{\"{o}}rderung des Open Access Publizierens in den Quantenwissenschaften}}, + volume = {9}, + pages = {1866}, + month = sep, + year = {2025} } ``` diff --git a/docs/src/getting_started/cite.md b/docs/src/getting_started/cite.md index a3a44e0ad..0da800b80 100644 --- a/docs/src/getting_started/cite.md +++ b/docs/src/getting_started/cite.md @@ -1,17 +1,19 @@ # [Cite QuantumToolbox.jl](@id doc:Cite) -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: +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: ```bib -@article{QuantumToolbox-jl2025, - title={{QuantumToolbox.jl}: An efficient {Julia} framework for simulating open quantum systems}, - author={Mercurio, Alberto and Huang, Yi-Te and Cai, Li-Xun and Chen, Yueh-Nan and Savona, Vincenzo and Nori, Franco}, - journal={arXiv preprint arXiv:2504.21440}, - year={2025}, - publisher = {arXiv}, - eprint={2504.21440}, - archivePrefix={arXiv}, - primaryClass={quant-ph}, - doi = {10.48550/arXiv.2504.21440} +@article{QuantumToolbox.jl2025, + doi = {10.22331/q-2025-09-29-1866}, + url = {https://doi.org/10.22331/q-2025-09-29-1866}, + title = {Quantum{T}oolbox.jl: {A}n efficient {J}ulia framework for simulating open quantum systems}, + author = {Mercurio, Alberto and Huang, Yi-Te and Cai, Li-Xun and Chen, Yueh-Nan and Savona, Vincenzo and Nori, Franco}, + journal = {{Quantum}}, + issn = {2521-327X}, + publisher = {{Verein zur F{\"{o}}rderung des Open Access Publizierens in den Quantenwissenschaften}}, + volume = {9}, + pages = {1866}, + month = sep, + year = {2025} } ``` diff --git a/src/versioninfo.jl b/src/versioninfo.jl index 3689f21c3..b58844e92 100644 --- a/src/versioninfo.jl +++ b/src/versioninfo.jl @@ -56,7 +56,7 @@ function versioninfo(io::IO = stdout) "+---------------------------------------------------+\n", "| Please cite QuantumToolbox.jl in your publication |\n", "+---------------------------------------------------+\n", - "For your convenience, a bibtex reference can be easily generated using `QuantumToolbox.cite()`.\n" + "For your convenience, a bibtex reference can be easily generated using `QuantumToolbox.cite()`.\n", ) return nothing end @@ -84,16 +84,16 @@ Command line output of citation information and bibtex generator for `QuantumToo """ function cite(io::IO = stdout) citation = raw""" - @article{QuantumToolbox-jl2025, - doi = {}, - url = {}, - title = {{QuantumToolbox.jl}: {A}n efficient {J}ulia framework for simulating open quantum systems}, + @article{QuantumToolbox.jl2025, + doi = {10.22331/q-2025-09-29-1866}, + url = {https://doi.org/10.22331/q-2025-09-29-1866}, + title = {Quantum{T}oolbox.jl: {A}n efficient {J}ulia framework for simulating open quantum systems}, author = {Mercurio, Alberto and Huang, Yi-Te and Cai, Li-Xun and Chen, Yueh-Nan and Savona, Vincenzo and Nori, Franco}, journal = {{Quantum}}, issn = {2521-327X}, publisher = {{Verein zur F{\"{o}}rderung des Open Access Publizierens in den Quantenwissenschaften}}, - volume = {}, - pages = {}, + volume = {9}, + pages = {1866}, month = sep, year = {2025} } diff --git a/test/core-test/utilities.jl b/test/core-test/utilities.jl index c14a023f4..af5dc14d3 100644 --- a/test/core-test/utilities.jl +++ b/test/core-test/utilities.jl @@ -1,4 +1,24 @@ @testitem "Utilities" begin + + # citation bibtex + io_buffer = IOBuffer() + QuantumToolbox.cite(io_buffer) + captured_output = String(take!(io_buffer)) + @test captured_output == + """@article{QuantumToolbox.jl2025,\n""" * + """ doi = {10.22331/q-2025-09-29-1866},\n""" * + """ url = {https://doi.org/10.22331/q-2025-09-29-1866},\n""" * + """ title = {Quantum{T}oolbox.jl: {A}n efficient {J}ulia framework for simulating open quantum systems},\n""" * + """ author = {Mercurio, Alberto and Huang, Yi-Te and Cai, Li-Xun and Chen, Yueh-Nan and Savona, Vincenzo and Nori, Franco},\n""" * + """ journal = {{Quantum}},\n""" * + """ issn = {2521-327X},\n""" * + """ publisher = {{Verein zur F{\"{o}}rderung des Open Access Publizierens in den Quantenwissenschaften}},\n""" * + """ volume = {9},\n""" * + """ pages = {1866},\n""" * + """ month = sep,\n""" * + """ year = {2025}\n""" * + """}\n\n""" + @testset "n_thermal" begin ω1 = rand(Float64) ω2 = rand(Float64) From 56ead1c169542b8b447f106b6bfeb3b8805199ff Mon Sep 17 00:00:00 2001 From: Yi-Te Huang Date: Tue, 30 Sep 2025 00:03:55 +0800 Subject: [PATCH 5/5] minor changes in citation bibtex --- CITATION.bib | 6 +++--- README.md | 6 +++--- docs/src/getting_started/cite.md | 6 +++--- src/versioninfo.jl | 8 ++++---- test/core-test/utilities.jl | 6 +++--- 5 files changed, 16 insertions(+), 16 deletions(-) diff --git a/CITATION.bib b/CITATION.bib index b5d86e752..265f6af66 100644 --- a/CITATION.bib +++ b/CITATION.bib @@ -1,6 +1,4 @@ @article{QuantumToolbox.jl2025, - doi = {10.22331/q-2025-09-29-1866}, - url = {https://doi.org/10.22331/q-2025-09-29-1866}, title = {Quantum{T}oolbox.jl: {A}n efficient {J}ulia framework for simulating open quantum systems}, author = {Mercurio, Alberto and Huang, Yi-Te and Cai, Li-Xun and Chen, Yueh-Nan and Savona, Vincenzo and Nori, Franco}, journal = {{Quantum}}, @@ -9,5 +7,7 @@ @article{QuantumToolbox.jl2025 volume = {9}, pages = {1866}, month = sep, - year = {2025} + year = {2025}, + doi = {10.22331/q-2025-09-29-1866}, + url = {https://doi.org/10.22331/q-2025-09-29-1866} } \ No newline at end of file diff --git a/README.md b/README.md index d914a9721..c9935660a 100644 --- a/README.md +++ b/README.md @@ -183,8 +183,6 @@ If you like `QuantumToolbox.jl`, we would appreciate it if you starred the repos ```bib @article{QuantumToolbox.jl2025, - doi = {10.22331/q-2025-09-29-1866}, - url = {https://doi.org/10.22331/q-2025-09-29-1866}, title = {Quantum{T}oolbox.jl: {A}n efficient {J}ulia framework for simulating open quantum systems}, author = {Mercurio, Alberto and Huang, Yi-Te and Cai, Li-Xun and Chen, Yueh-Nan and Savona, Vincenzo and Nori, Franco}, journal = {{Quantum}}, @@ -193,7 +191,9 @@ If you like `QuantumToolbox.jl`, we would appreciate it if you starred the repos volume = {9}, pages = {1866}, month = sep, - year = {2025} + year = {2025}, + doi = {10.22331/q-2025-09-29-1866}, + url = {https://doi.org/10.22331/q-2025-09-29-1866} } ``` diff --git a/docs/src/getting_started/cite.md b/docs/src/getting_started/cite.md index 0da800b80..7212e5727 100644 --- a/docs/src/getting_started/cite.md +++ b/docs/src/getting_started/cite.md @@ -4,8 +4,6 @@ If you like `QuantumToolbox.jl`, we would appreciate it if you could cite our pu ```bib @article{QuantumToolbox.jl2025, - doi = {10.22331/q-2025-09-29-1866}, - url = {https://doi.org/10.22331/q-2025-09-29-1866}, title = {Quantum{T}oolbox.jl: {A}n efficient {J}ulia framework for simulating open quantum systems}, author = {Mercurio, Alberto and Huang, Yi-Te and Cai, Li-Xun and Chen, Yueh-Nan and Savona, Vincenzo and Nori, Franco}, journal = {{Quantum}}, @@ -14,6 +12,8 @@ If you like `QuantumToolbox.jl`, we would appreciate it if you could cite our pu volume = {9}, pages = {1866}, month = sep, - year = {2025} + year = {2025}, + doi = {10.22331/q-2025-09-29-1866}, + url = {https://doi.org/10.22331/q-2025-09-29-1866} } ``` diff --git a/src/versioninfo.jl b/src/versioninfo.jl index b58844e92..8f6c17cbd 100644 --- a/src/versioninfo.jl +++ b/src/versioninfo.jl @@ -85,8 +85,6 @@ Command line output of citation information and bibtex generator for `QuantumToo function cite(io::IO = stdout) citation = raw""" @article{QuantumToolbox.jl2025, - doi = {10.22331/q-2025-09-29-1866}, - url = {https://doi.org/10.22331/q-2025-09-29-1866}, title = {Quantum{T}oolbox.jl: {A}n efficient {J}ulia framework for simulating open quantum systems}, author = {Mercurio, Alberto and Huang, Yi-Te and Cai, Li-Xun and Chen, Yueh-Nan and Savona, Vincenzo and Nori, Franco}, journal = {{Quantum}}, @@ -95,8 +93,10 @@ function cite(io::IO = stdout) volume = {9}, pages = {1866}, month = sep, - year = {2025} - } + year = {2025}, + doi = {10.22331/q-2025-09-29-1866}, + url = {https://doi.org/10.22331/q-2025-09-29-1866} +} """ return println(io, citation) end diff --git a/test/core-test/utilities.jl b/test/core-test/utilities.jl index af5dc14d3..acab3769a 100644 --- a/test/core-test/utilities.jl +++ b/test/core-test/utilities.jl @@ -6,8 +6,6 @@ captured_output = String(take!(io_buffer)) @test captured_output == """@article{QuantumToolbox.jl2025,\n""" * - """ doi = {10.22331/q-2025-09-29-1866},\n""" * - """ url = {https://doi.org/10.22331/q-2025-09-29-1866},\n""" * """ title = {Quantum{T}oolbox.jl: {A}n efficient {J}ulia framework for simulating open quantum systems},\n""" * """ author = {Mercurio, Alberto and Huang, Yi-Te and Cai, Li-Xun and Chen, Yueh-Nan and Savona, Vincenzo and Nori, Franco},\n""" * """ journal = {{Quantum}},\n""" * @@ -16,7 +14,9 @@ """ volume = {9},\n""" * """ pages = {1866},\n""" * """ month = sep,\n""" * - """ year = {2025}\n""" * + """ year = {2025},\n""" * + """ doi = {10.22331/q-2025-09-29-1866},\n""" * + """ url = {https://doi.org/10.22331/q-2025-09-29-1866}\n""" * """}\n\n""" @testset "n_thermal" begin