Skip to content

Commit c28ead9

Browse files
committed
Merge branch 'main' into code-quality-Julia-1
2 parents f5ede79 + 1c26888 commit c28ead9

32 files changed

+923
-274
lines changed

.buildkite/CUDA_Ext.yml

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,3 @@ steps:
2222
GROUP: "CUDA_Ext"
2323
SECRET_CODECOV_TOKEN: "ZfhQu/IcRLqNyZ//ZNs5sjBPaV76IHfU5gui52Qn+Rp8tOurukqgScuyDt+3HQ4R0hJYBw1/Nqg6jmBsvWSc9NEUx8kGsUJFHfN3no0+b+PFxA8oJkWc9EpyIsjht5ZIjlsFWR3f0DpPqMEle/QyWOPcal63CChXR8oAoR+Fz1Bh8GkokLlnC8F9Ugp9xBlu401GCbyZhvLTZnNIgK5yy9q8HBJnBg1cPOhI81J6JvYpEmcIofEzFV/qkfpTUPclu43WNoFX2DZPzbxilf3fsAd5/+nRkRfkNML8KiN4mnmjHxPPbuY8F5zC/PS5ybXtDpfvaMQc01WApXCkZk0ZAQ==;U2FsdGVkX1+eDT7dqCME5+Ox5i8GvWRTQbwiP/VYjapThDbxXFDeSSIC6Opmon+M8go22Bun3bat6Fzie65ang=="
2424
timeout_in_minutes: 60
25-
if: |
26-
// Don't run Buildkite if the commit message includes the text [skip ci], [ci skip], or [no ci]
27-
// Don't run Buildkite for PR draft
28-
// Only run Buildkite when new commits and PR are made to main branch
29-
build.message !~ /\[skip ci\]/ &&
30-
build.message !~ /\[ci skip\]/ &&
31-
build.message !~ /\[no ci\]/ &&
32-
!build.pull_request.draft &&
33-
(build.branch =~ /main/ || build.pull_request.base_branch =~ /main/)

.buildkite/pipeline.yml

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,17 @@
11
# see: https://github.com/staticfloat/forerunner-buildkite-plugin
22
steps:
33
- label: ":runner: Dynamically launch pipelines"
4+
if: |
5+
// Don't run Buildkite if the commit message includes the text [skip ci], [ci skip], or [no ci]
6+
// Don't run Buildkite for PR draft
7+
// Only run Buildkite when new commits and PR are made to main branch
8+
build.message !~ /\[skip ci\]/ &&
9+
build.message !~ /\[ci skip\]/ &&
10+
build.message !~ /\[no ci\]/ &&
11+
!build.pull_request.draft &&
12+
(build.branch =~ /main/ || build.pull_request.base_branch =~ /main/)
13+
agents:
14+
queue: "juliagpu"
415
plugins:
516
- staticfloat/forerunner: # CUDA.jl tests
617
watch:
@@ -12,5 +23,3 @@ steps:
1223
- "test/ext-test/gpu/**"
1324
- "Project.toml"
1425
target: ".buildkite/CUDA_Ext.yml"
15-
agents:
16-
queue: "juliagpu"

.github/dependabot.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,8 @@ updates:
44
- package-ecosystem: "github-actions"
55
directory: "/" # Location of package manifests
66
schedule:
7-
interval: "weekly"
7+
interval: "weekly"
8+
labels:
9+
- "dependencies"
10+
- "Skip ChangeLog"
11+

.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@v4
1212
- name: Check spelling
13-
uses: crate-ci/typos@v1.29.7
13+
uses: crate-ci/typos@v1.30.0

CHANGELOG.md

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

88
## [Unreleased](https://github.com/qutip/QuantumToolbox.jl/tree/main)
99

10+
## [v0.29.1]
11+
Release date: 2025-03-07
12+
13+
- Minor changes for GPU matrices element type and word size handling. ([#430])
14+
15+
## [v0.29.0]
16+
Release date: 2025-03-07
17+
18+
- Add support for `OperatorKet` state input for `mesolve` and `smesolve`. ([#423])
19+
- Introduce `plot_fock_distribution` to plot the population of a state (ket, bra, or density matrix) in its basis (assumed to be Fock basis). ([#428])
20+
21+
## [v0.28.0]
22+
Release date: 2025-02-22
23+
1024
- Support for single `AbstractQuantumObject` in `sc_ops` for faster specific method in `ssesolve` and `smesolve`. ([#408])
1125
- Change save callbacks from `PresetTimeCallback` to `FunctionCallingCallback`. ([#410])
1226
- Align `eigenstates` and `eigenenergies` to QuTiP. ([#411])
27+
- Introduce `vector_to_operator` and `operator_to_vector`. ([#413])
28+
- Introduce some entropy related functions. ([#414], [#416])
29+
- `entropy_linear`
30+
- `entropy_mutual`
31+
- `entropy_conditional`
32+
- `entropy_relative`
33+
- Fix `entanglement` and introduce `concurrence`. ([#414], [#418], [#419])
34+
- Introduce some metric functions. ([#414], [#420])
35+
- `hilbert_dist`
36+
- `hellinger_dist`
37+
- `bures_dist`
38+
- `bures_angle`
39+
- Align `steadystate` ODE solver to other methods and improve GPU support. ([#421])
1340

1441
## [v0.27.0]
1542
Release date: 2025-02-14
@@ -102,6 +129,9 @@ Release date: 2024-11-13
102129
[v0.25.2]: https://github.com/qutip/QuantumToolbox.jl/releases/tag/v0.25.2
103130
[v0.26.0]: https://github.com/qutip/QuantumToolbox.jl/releases/tag/v0.26.0
104131
[v0.27.0]: https://github.com/qutip/QuantumToolbox.jl/releases/tag/v0.27.0
132+
[v0.28.0]: https://github.com/qutip/QuantumToolbox.jl/releases/tag/v0.28.0
133+
[v0.29.0]: https://github.com/qutip/QuantumToolbox.jl/releases/tag/v0.29.0
134+
[v0.29.1]: https://github.com/qutip/QuantumToolbox.jl/releases/tag/v0.29.1
105135
[#86]: https://github.com/qutip/QuantumToolbox.jl/issues/86
106136
[#139]: https://github.com/qutip/QuantumToolbox.jl/issues/139
107137
[#271]: https://github.com/qutip/QuantumToolbox.jl/issues/271
@@ -147,3 +177,13 @@ Release date: 2024-11-13
147177
[#408]: https://github.com/qutip/QuantumToolbox.jl/issues/408
148178
[#410]: https://github.com/qutip/QuantumToolbox.jl/issues/410
149179
[#411]: https://github.com/qutip/QuantumToolbox.jl/issues/411
180+
[#413]: https://github.com/qutip/QuantumToolbox.jl/issues/413
181+
[#414]: https://github.com/qutip/QuantumToolbox.jl/issues/414
182+
[#416]: https://github.com/qutip/QuantumToolbox.jl/issues/416
183+
[#418]: https://github.com/qutip/QuantumToolbox.jl/issues/418
184+
[#419]: https://github.com/qutip/QuantumToolbox.jl/issues/419
185+
[#420]: https://github.com/qutip/QuantumToolbox.jl/issues/420
186+
[#421]: https://github.com/qutip/QuantumToolbox.jl/issues/421
187+
[#423]: https://github.com/qutip/QuantumToolbox.jl/issues/423
188+
[#428]: https://github.com/qutip/QuantumToolbox.jl/issues/428
189+
[#430]: https://github.com/qutip/QuantumToolbox.jl/issues/430

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.27.0"
4+
version = "0.29.1"
55

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

docs/src/resources/api.md

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,8 @@ unit
176176
tensor
177177
178178
qeye
179+
vector_to_operator
180+
operator_to_vector
179181
sqrtm
180182
logm
181183
expm
@@ -248,13 +250,23 @@ ExponentialSeries
248250
PseudoInverse
249251
```
250252

251-
## [Metrics](@id doc-API:Metrics)
253+
## [Entropy and Metrics](@id doc-API:Entropy-and-Metrics)
252254

253255
```@docs
254256
entropy_vn
257+
entropy_relative
258+
entropy_linear
259+
entropy_mutual
260+
entropy_conditional
255261
entanglement
256-
tracedist
262+
concurrence
263+
negativity
257264
fidelity
265+
tracedist
266+
hilbert_dist
267+
hellinger_dist
268+
bures_dist
269+
bures_angle
258270
```
259271

260272
## [Spin Lattice](@id doc-API:Spin-Lattice)
@@ -276,7 +288,6 @@ BlockDiagonalForm
276288

277289
```@docs
278290
wigner
279-
negativity
280291
```
281292

282293
## [Linear Maps](@id doc-API:Linear-Maps)
@@ -302,4 +313,5 @@ meshgrid
302313

303314
```@docs
304315
plot_wigner
316+
plot_fock_distribution
305317
```

docs/src/resources/bibliography.bib

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,3 +81,26 @@ @book{Wiseman2009Quantum
8181
year={2009},
8282
month=nov
8383
}
84+
85+
@article{Vedral-Plenio1998,
86+
title = {Entanglement measures and purification procedures},
87+
author = {Vedral, V. and Plenio, M. B.},
88+
journal = {Phys. Rev. A},
89+
volume = {57},
90+
issue = {3},
91+
pages = {1619--1633},
92+
numpages = {0},
93+
year = {1998},
94+
month = {Mar},
95+
publisher = {American Physical Society},
96+
doi = {10.1103/PhysRevA.57.1619},
97+
url = {https://link.aps.org/doi/10.1103/PhysRevA.57.1619}
98+
}
99+
100+
@article{Spehner2017,
101+
title={Geometric measures of quantum correlations with Bures and Hellinger distances},
102+
author={D. Spehner and F. Illuminati and M. Orszag and W. Roga},
103+
year={2017},
104+
journal={arXiv:1611.03449},
105+
url={https://arxiv.org/abs/1611.03449},
106+
}

docs/src/users_guide/extensions/cairomakie.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,5 @@ The supported plotting functions are listed as follows:
1818

1919
| **Plotting Function** | **Description** |
2020
|:----------------------|:----------------|
21-
| [`plot_wigner`](@ref) | [Wigner quasipropability distribution](https://en.wikipedia.org/wiki/Wigner_quasiprobability_distribution) |
21+
| [`plot_wigner`](@ref) | [Wigner quasipropability distribution](https://en.wikipedia.org/wiki/Wigner_quasiprobability_distribution) |
22+
| [`plot_fock_distribution`](@ref) | [Fock state](https://en.wikipedia.org/wiki/Fock_state) distribution |

docs/src/users_guide/states_and_operators.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ coherent_dm(5, 1.25)
161161
thermal_dm(5, 1.25)
162162
```
163163

164-
`QuantumToolbox` also provides a set of distance metrics for determining how close two density matrix distributions are to each other. Included are the [`fidelity`](@ref), and trace distance ([`tracedist`](@ref)).
164+
`QuantumToolbox` also provides a set of distance metrics for determining how close two density matrix distributions are to each other. For example, [`fidelity`](@ref), and trace distance ([`tracedist`](@ref)) are included. For more metric functions, see section [Entropy and Metrics](@ref doc-API:Entropy-and-Metrics) in the API page.
165165

166166
```@example states_and_operators
167167
x = coherent_dm(5, 1.25)
@@ -314,7 +314,7 @@ Therefore, a given density matrix ``\hat{\rho}`` can then be vectorized, denoted
314314
|\hat{\rho}\rangle\rangle = \textrm{vec}(\hat{\rho}).
315315
```
316316

317-
`QuantumToolbox` uses the column-stacking convention for the isomorphism between ``\mathcal{L}(\mathcal{H})`` and ``\mathcal{H}\otimes\mathcal{H}``. This isomorphism is implemented by the functions [`mat2vec`](@ref) and [`vec2mat`](@ref):
317+
`QuantumToolbox` uses the column-stacking convention for the isomorphism between ``\mathcal{L}(\mathcal{H})`` and ``\mathcal{H}\otimes\mathcal{H}``. This isomorphism is implemented by the functions [`mat2vec`](@ref) (or [`operator_to_vector`](@ref)) and [`vec2mat`](@ref) (or [`vector_to_operator`](@ref)):
318318

319319
```@example states_and_operators
320320
rho = Qobj([1 2; 3 4])

0 commit comments

Comments
 (0)