v0.3.4
This release includes several new features and a variety of bug fixes. Notably, we have written a new tutorial on Floquet integration. We have also added an option to solve the Lindblad master equation by vectorizing the problem. Additionally, we have introduced new helpers to obtain SME measurement records by simulating the SSE only, resulting in a significant speedup if you are only interested in the measurement record and not the state.
A special thank you to @PhilReinhold, @rsnegrin and @davidschlegel for making their first contributions to the library! 🍾
🔨 Breaking changes
- Renamed gradients: (#1005)
dq.gradient.Autograd()->dq.gradient.Direct()dq.gradient.CheckpointAutograd()->dq.gradient.BackwardCheckpointed()dq.gradient.ForwardAutograd->dq.gradient.Forward()
- Updated the style of
dq.plot.mplstyle()(#1008).
🚀 Features
- Added a
vectorizedoption todq.mesolve()to solve the Lindblad master equation by vectorizing the Liouvillian (#1013). - Added two helpers to simulate measurements of the SME directly using the SSE
dq.clicktimes_sse_to_sme()anddq.measurements_sse_to_sme()(#1019). - Added
dq.entropy_relative()to compute quantum relative entropy (#949).
🐛 Bugs
- Fixed
dq.asqarray()compatibility with the QuTiPauto_tidyup_dimsoption (#1012). - Resolved issues with
dq.vectorize()anddq.unvectorize()for sparse DIA inputs (#1014). - Fixed JIT compatibility of stochastic solvers by supporting static
tsave(#1015). - Fixed broadcasting when vmapping over a timeqarray (#1022).
- Fixed a bug in the calculation of Floquet quasienergies (#1023).
📖 Documentation
- Added a new tutorial on Floquet integration (#1024).
- Added basic examples for easy copy-pasting in all solvers documentation, see for example in
dq.dsmesolve()(#1002).
Full Changelog: v0.3.3...v0.3.4