All Versions
Latest Version
Avg Release Cycle
168 days
Latest Release
467 days ago

Changelog History
Page 1

  • v4.5.2 Changes

    July 14, 2020

    🐛 Bug Fixes

    • zcsr_proj does not fail with unsorted indices (by Jake Lishman )
    • Fixed Milstein's heterodyne errors (by Eric Giguère )
    • Removed risky code (by Jake Lishman )
    • Fix datatype bug in lattice (by Boxi Li )
    • eigh issues on mac with openBLAS fixed (by Eric Giguère )

    👌 Improvements

    • Faster zcsr_inner (by Jake Lishman )
    • Support for Scipy 1.5 (by Jake Lishman )
    • Better error message when installing without numpy (by Eric Giguère )

    Book keeping

    • Various code style improvements (by Jake Lishman )
  • v4.5.1 Changes

    May 15, 2020

    🐛 Bug Fixes

    • Safer naming for temporary files. (by Eric Giguère )
    • Better error message for failed string coefficient compilation. (issue raised by nohchangsuk )
    • Fix clebsch function for half-integer (by Thomas Walker )
    • Fix randint's dtype to uint32 for compatibility with windows. (issue raised by BoxiLi )
    • Corrected stochastic's heterodyne's m_ops (by eliegenois )
    • Mac pool use spawn. (issue raised by goerz )
    • Fix typos in QobjEvo._shift. (by Eric Giguère )

    👌 Improvements

    • Run the python 3.8 test in travis in linux. (by Simon Cross )
    • Moved other tests to 3.8. (by Eric Giguère )
    • Fix travis warning (by Ivan Carvalho )
    • husimi / wigner functions adapted to accept half integer spin. (by maij )

    Book keeping

    • Add Boxi Li to authors. (by Alex Pitchford )
    • Deprecate graph function (by Jake Lishman )
    • Skip tests that cause segfault on mac. (by Nathan Shammah and Eric Giguère )
  • v4.5.0 Changes

    January 31, 2020

    🔖 Version 4.5.0 (January 31, 2020)

    👌 Improvements

    MAJOR FEATURE : Added qip.noise, a module with pulse level description of quantum circuits allowing to model various types of noise and devices (by Boxi Li ).

    MAJOR FEATURE : Added qip.lattice, a module for the study of lattice dynamics in 1D (by Saumya Biswas ).

    Migrated testing from Nose to PyTest (by Tarun Raheja ).

    Optimized testing for PyTest and removed duplicated test runners (by Jake Lishman ).

    Deprecated importing qip functions to the qutip namespace (by Boxi Li ).

    Added the possibility to define non-square superoperators relevant for quantum circuits (by Arne Grimsmo and Josh Combes ).

    Implicit tensor product for qeye, qzero and basis (by Jake Lishman ).

    QObjEvo no longer requires Cython for string coefficient (by Eric Giguère ).

    Added marked tests for faster tests in and made faster OpenMP benchmarking in CI (by Eric Giguère ).

    Added entropy and purity for Dicke density matrices, refactored into more general dicke_trace (by Nathan Shammah ).

    Added option for specifying resolution in function (by Tarun Raheja ).

    Added information related to the value of hbar in wigner and continuous_variables (by Nicolas Quesada ).

    Updated requirements for scipy 1.4 (by Eric Giguère ).

    Added previous lead developers to the qutip.about() message (by Nathan Shammah ).

    Added improvements to Qobj introducing the inv method and making the partial trace, ptrace, faster, keeping both sparse and dense methods (by Eric Giguère ).

    Allowed general callable objects to define a time-dependent Hamiltonian (by Eric Giguère ).

    Added feature so that QobjEvo no longer requires Cython for string coefficients (by Eric Giguère ).

    Updated authors list on Github and added my binder link (by Nathan Shammah ).

    🐛 Bug Fixes

    Fixed PolyDataMapper construction for Bloch3d (by Sam Griffiths ).

    Fixed error checking for null matrix in essolve (by Nathan Shammah ).

    Fixed name collision for parallel propagator (by Nathan Shammah ).

    Fixed dimensional incongruence in propagator (by Nathan Shammah )

    Fixed bug by rewriting clebsch function based on long integer fraction (by Eric Giguère ).

    Fixed bugs in QobjEvo's args depending on state and added solver tests using them (by Eric Giguère ).

    Fixed bug in sesolve calculation of average states when summing the timeslot states (by Alex Pitchford ).

    Fixed bug in steadystate solver by removing separate arguments for MKL and Scipy (by Tarun Raheja ).

    Fixed Bloch.add_ponts by setting edgecolor = None in plot_points (by Nathan Shammah ).

    Fixed error checking for null matrix in essolve solver affecting also ode2es (by Peter Kirton ).

    Removed unnecessary shebangs in .pyx and .pxd files (by Samesh Lakhotia ).

    Fixed sesolve and import of os in codegen (by Alex Pitchford ).

    Updated plot_fock_distribution by removing the offset value 0.4 in the plot (by Rajiv-B ).

  • v4.4.1 Changes

    August 13, 2019

    🚀 The release of QuTiP 4.4.1

    🐛 Bug Fixes

    • Fixed the pickling but that made solver unable to run in parallel on Windows. (Thank lrunze for reporting)
    • Removed warning when mesolve fall back on sesolve (by Michael Goerz ).
    • Fixed dimension check and confusing documentation in random ket (by Yariv Yanay ).
    • Fixed Qobj isherm not working after using Qobj.permute. (Thank llorz1207 for reporting)
    • Correlation functions call now properly handle multiple time dependant functions. (Thank taw181 for reporting)
    • Removed mutable default values in mesolve/sesolve (by Michael Goerz )
    • Fixed simdiag bug (Thank Croydon-Brixton for reporting)
    • Better support of constant QobjEvo. (by Boxi Li )

    👌 Improvements

    • QobjEvo do not need to start from 0 anymore. (by Eric Giguere )
    • Add a quantum object purity function. (by Nathan Shammah and Shahnawaz Ahmed )
    • Add step function interpolation for array time-coefficient. (by Boxi Li )
  • v4.4.0 Changes

    July 04, 2019

    🚀 The release of QuTiP 4.4.0

    👌 Improvements

    MAJOR FEATURE : Added methods and techniques to the stochastic solvers (by Eric Giguère ) which allows to use a much broader set of solvers and much more efficiently.

    MAJOR FEATURE : Optimization of the montecarlo solver (by Eric Giguère ). Computation are faster in many cases. Collapse information available to time dependant information.

    Added the QObjEvo class and methods (by Eric Giguère ), which is used behind the scenes by the dynamical solvers, making the code more efficient and tidier. More built-in function available to string coefficients. The coefficients can be made from interpolated array with variable timesteps and can obtain state information more easily. Time-dependant collapse operator can have multiple terms.

    New wigner_transform and plot_wigner_sphere function. (by Nithin Ramu ).

    ptrace is faster and work on bigger systems, from 15 Qbits to 30 Qbits.

    🛠 QIP module: added the possibility for user-defined gates, added the possibility to remove or add gates in any point of an already built circuit, added the molmer_sorensen gate, and fixed some bugs (by Boxi Li ).

    Added the quantum Hellinger distance to qutip.metrics (by Wojciech Rzadkowski ).

    Implemented possibility of choosing a random seed (by Marek marekyggdrasil ).

    ➕ Added a code of conduct to Github.

    🐛 Bug Fixes

    🛠 Fixed bug that made QuTiP incompatible with SciPy 1.3.

    quite.cite() is improved.

    ➕ Added matplotlib as optional dependency and updated numpy and scipy requirements.

    🛠 Fixed matrix generating coherent spin states in qutip.piqs to include complex coefficients.

  • v4.3.1 Changes

    July 18, 2018

    🚀 The release of QuTiP 4.3.1

    👌 Improvements

    MAJOR FEATURE : Added the Permutational Invariant Quantum Solver (PIQS) module ( by Nathan Shammah and Shahnawaz Ahmed ) which allows the simluation of large TLSs ensembles including collective and local Lindblad dissipation. Applications range from superradiance to spin squeezing.

    MAJOR FEATURE : Added a photon scattering module ( by Ben Bartlett ) which can be used to study scattering in arbitrary driven systems coupled to some configuration of output waveguides.

    Cubic_Spline functions as time-dependent arguments for the collapse operators in mesolve are now allowed.

    Added a faster version of bloch_redfield_tensor, using components from the time-dependent version. About 3x+ faster for secular tensors, and 10x+ faster for non-secular tensors.

    Computing Q.overlap() [inner product] is now ~30x faster.

    ➕ Added projector method to Qobj class.

    ➕ Added fast projector method, Q.proj().

    Computing matrix elements, Q.matrix_element is now ~10x faster.

    Computing expectation values for ket vectors using expect is now ~10x faster. is now faster for small Hilbert space dimensions.

    Unitary operator evolution added to sesolve

    👉 Use OPENMP for tidyup if installed.

    🐛 Bug Fixes

    🛠 Fixed bug that stopped simdiag working for python 3.

    🛠 Fixed semidefinite cvxpy Variable and Parameter.

    🛠 Fixed iterative lu solve atol keyword issue.

    🛠 Fixed unitary op evolution rhs matrix in ssesolve.

    🛠 Fixed interpolating function to return zero outside range.

    🛠 Fixed dnorm complex casting bug.

    🛠 Fixed path checking issue.

    🛠 Fixed ENR fock dimension.

    🛠 Fixed hard coded options in propagator 'batch' mode

    🛠 Fixed bug in trace-norm for non-Hermitian operators.

    Fixed bug related to args not being passed to coherence_function_g2

    🛠 Fixed MKL error checking dict key error

  • v4.2.0 Changes

    July 28, 2017

    🚀 Release of QuTiP 4.2.

    👌 Improvements

    • MAJOR FEATURE: Initial implementation of time-dependent Bloch-Redfield Solver.
    • Qobj tidyup is now an order of magnitude faster.
    • Time-dependent codegen now generates output NumPy arrays faster.
    • 👌 Improved calculation for analytic coefficients in coherent states (Sebastian Kramer).
    • Input array to correlation FFT method now checked for validity.
    • Function-based time-dependent mesolve and sesolve routines now faster.
    • Codegen now makes sure that division is done in C, as opposed to Python.
    • Can now set different controls for a each timeslot in quantum optimization.
    • This allows time-varying controls to be used in pulse optimisation.

    🐛 Bug Fixes

    • rcsolve importing old Odeoptions Class rather than Options.
    • Non-int issue in spin Q and Wigner functions.
    • Qobj’s should tidyup before determining isherm.
    • 🛠 Fixed time-dependent RHS function loading on Win.
    • 🛠 Fixed several issues with compiling with Cython 0.26.
    • 0️⃣ Liouvillian superoperators were hard setting isherm=True by default.
    • 🛠 Fixed an issue with the solver safety checks when inputing a list with Python functions as time-dependence.
    • 🛠 Fixed non-int issue in Wigner_cmap.
    • MKL solver error handling not working properly.
  • v4.1.2 Changes

    March 22, 2017

    QuTiP 4.1

  • v4.1.1

    March 13, 2017
  • v4.1.0

    March 10, 2017