ChangeLog
All notable changes to QuantumToolbox.jl will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased
- Introduce new methods of
sesolve_mapandmesolve_mapfor advanced usage. Users can now customize their owniterator structure,prob_funcandoutput_func. (#565)
v0.37.0
Release date: 2025-10-12
Fix
cite()bibtex output. (#552)Implement
sesolve_mapandmesolve_mapfor solving multiple initial states and parameter sets in parallel. (#554)Add
qeye_likeandqzero_like, which are synonyms ofoneandzero. (#555)Add steadystate and DSF benchmarks. The
SteadyStateODESOlvertolerances are lowered toterminate_reltol=1e-4andterminate_abstol=1e-6to improve speed at the cost of accuracy. (#557)
v0.36.0
Release date: 2025-09-29
Add
QuantumToolbox.cite()for bibtex generator ofQuantumToolbox.jl. (#544)Add
sortbyandrevkeyword arguments to eigensolvers. (#546)
v0.35.0
Release date: 2025-09-03
Add support of
QobjEvoforsteadystate(ODE solver only). (#536)Changes to
SteadyStateODESolver. (#537)Introduce the tolerances for
steadystateterminate condition (two new fields:terminate_reltol = 1e-5andterminate_abstol = 1e-7)Fix keyword argument handling for
SteadyStateODESolverbefore passing tomesolve.
Fix incorrect
negativityandpartial_transposefor arbitrary subsystem dimension. (#539)
v0.34.1
Release date: 2025-08-23
Improve Bloch sphere rendering for animation. (#520)
Add support to
Enzyme.jlforsesolveandmesolve. (#531)
v0.34.0
Release date: 2025-07-29
Improve efficiency of
bloch_redfield_tensorby avoiding unnecessary conversions. (#509)Support
SciMLOperators v1.4+. (#470)Fix compatibility with
Makie v0.24+. (#513)Add
keep_runs_resultsoption for multi-trajectory solvers to align withQuTiP. (#512)Breaking changes for multi-trajectory solutions:
the original fields
expectandstatesnow store the results depend on keyword argumentkeep_runs_results(decide whether to store all trajectories results or not).remove field
average_expectremove field
runs_expect
New statistical analysis functions:
average_statesaverage_expectstd_expect
Add support to ForwardDiff.jl for
sesolveandmesolve. (#515)Add documentation about automatic differentiation. (#517)
v0.33.0
Release date: 2025-07-22
Implement
EnrSpaceand corresponding functionality. (#500)Check for orthogonality breakdown in
Lanczossolver forspectrum. (#501)Store both
timesandtimes_statesin time evolution solutions. (#506, #504)Fix errors in
Julia v1.12. (#507)
v0.32.1
Release date: 2025-06-24
This is a release just for updating documentation.
v0.32.0
Release date: 2025-06-23
Introduce
Lanczossolver forspectrum. (#476)Add Bloch-Redfield master equation solver. (#473)
Implement Bloch Sphere rendering and align style with qutip. (#472, #480, #485, #487, #489)
Add
Base.copymethod forAbstractQuantumObject. (#486)Add documentation for Bloch-Redfield master equation. (#494)
v0.31.1
Release date: 2025-05-16
- Introduce
QuantumToolbox.settingsandauto_tidyup. (#460)
v0.31.0
Release date: 2025-05-03
v0.30.1
Release date: 2025-04-24
Support different length for
toandfromon GeneralDimensions. (#448)Extend the
Makie.jlextension to all the other available backends. (#450)Fix definition of noise derivative in stochastic solvers. (#453)
v0.30.0
Release date: 2025-04-12
Make CUDA conversion more general using Adapt.jl. (#436, #437)
Make the generation of
fockstates non-mutating to support Zygote.jl. (#438)Remove Reexport.jl from the dependencies. (#443)
Add support for automatic differentiation for
sesolveandmesolve. (#440)
v0.29.1
Release date: 2025-03-07
- Minor changes for GPU matrices element type and word size handling. (#430)
v0.29.0
Release date: 2025-03-07
Add support for
OperatorKetstate input formesolveandsmesolve. (#423)Introduce
plot_fock_distributionto plot the population of a state (ket, bra, or density matrix) in its basis (assumed to be Fock basis). (#428)
v0.28.0
Release date: 2025-02-22
Support for single
AbstractQuantumObjectinsc_opsfor faster specific method inssesolveandsmesolve. (#408)Change save callbacks from
PresetTimeCallbacktoFunctionCallingCallback. (#410)Align
eigenstatesandeigenenergiesto QuTiP. (#411)Introduce
vector_to_operatorandoperator_to_vector. (#413)Introduce some entropy related functions. (#414, #416)
entropy_linearentropy_mutualentropy_conditionalentropy_relative
Fix
entanglementand introduceconcurrence. (#414, #418, #419)Introduce some metric functions. (#414, #420)
hilbert_disthellinger_distbures_distbures_angle
Align
steadystateODE solver to other methods and improve GPU support. (#421)
v0.27.0
Release date: 2025-02-14
Rename
sparse_to_denseasto_denseanddense_to_sparseasto_sparse. (#392)Fix erroneous definition of the stochastic term in
smesolve. (#393)Change name of
MultiSiteOperatortomultisite_operator. (#394)Fix
smesolvefor specifying initial state as density matrix. (#395)Add more generic solver for
steadystate_floquetto allow more linear solvers. (#396)Fix time evolution output when using
saveatkeyword argument. (#398)Align some attributes of
mcsolve,ssesolveandsmesolveresults withQuTiP. (#402)Improve ensemble generation of
ssesolveand change parameters handling on stochastic processes. (#403)Set default trajectories to 500 and rename the keyword argument
ensemble_methodtoensemblealg. (#405)Introduce measurement on
ssesolveandsmesolve. (#404)
v0.26.0
Release date: 2025-02-09
Fix CUDA
sparse_to_dense. (#386)Improve pseudo inverse spectrum solver. (#388)
Add
smesolvefunction for stochastic master equation. (#389)
v0.25.2
Release date: 2025-02-02
Move code quality dependencies to separate environment. (#380)
Add additional normalization of the state during time evolution of
ssesolve. This improves the numerical stability of the solver. (#383)
v0.25.1
Release date: 2025-01-29
Fix Dynamical Fock Dimension states saving due to wrong saving of dimensions. (#375)
Add checks for
tlistin time evolution solvers. The checks are to ensure thattlistis not empty, the elements are in increasing order, and the elements are unique. (#378)
v0.25.0
Release date: 2025-01-20
Change the structure of block diagonalization functions, using
BlockDiagonalFormstruct and changing the function name frombdftoblock_diagonal_form. (#349)Add GPUArrays compatibility for
ptracefunction, by using KernelAbstractions.jl. (#350)Introduce
Space,Dimensions,GeneralDimensionsstructures to support wider definitions and operations ofQobj/QobjEvo, and potential functionalities in the future. (#271, #353, #360)Improve lazy tensor warning for
SciMLOperators. (#370)Change order of
AbstractQuantumObjectdata type. For example, fromQuantumObject{DataType,ObjType,DimsType}toQuantumObject{ObjType,DimsType,DataType}. (#371)
v0.24.0
Release date: 2024-12-13
Support
Base.zeroandBase.oneforAbstractQuantumObject. (#342, #346)Introduce visualization and function
plot_wignerfor easy plotting of Wigner functions. (#86, #292, #347)
v0.23.1
Release date: 2024-12-06
- Update
[compat]to fix the incompatibility betweenQuantumToolbox v0.22.0+andDiffEqCallbacks < v4.2.1. (#335)
v0.23.0
Release date: 2024-12-04
Change
SingleSiteOperatorwith the more generalMultiSiteOperator. (#324)Make
spectrumandcorrelationfunctions align withPython QuTiP, introduce spectrum solverPseudoInverse, remove spectrum solverFFTCorrelation, and introducespectrum_correlation_fft. (#330)
v0.22.0
Release date: 2024-11-20
Change the parameters structure of
sesolve,mesolveandmcsolvefunctions to possibly support automatic differentiation. (#311)Fix type instability and reduce extra memory allocation in
liouvillian. (#315, #318)
v0.21.5
Release date: 2024-11-15
- This is a demonstration of how to bump version number and also modify
CHANGELOG.mdbefore new release. (#309)
v0.21.4
Release date: 2024-11-13
- This is just a demonstration about
Changelog.jl. (#139, #306)