Skip to content
This repository has been archived by the owner on May 1, 2021. It is now read-only.

Latest commit

 

History

History
308 lines (166 loc) · 8.9 KB

changelog.rst

File metadata and controls

308 lines (166 loc) · 8.9 KB

Change Log

Version 3.0.0 (July X, 2014):

  • New module qutip.stochastic with stochastic master equation and stochastic Schrödinger equation solvers.
  • Improved steady state solver.
  • New module qutip.distributions with unified API for working with distribution functions.
  • New module qutip.qip with utilities for quantum information processing problems, including pre-defined quantum gates for N-qubit systems, circuit representations, library of quantum algorithms, and basic physical models for some common QIP architectures.
  • New functions for working with different superoperator representations.
  • New format for defining time-dependent Hamiltonians and collapse operators, using a precalculated numpy array that specifies the values of the Qobj-coefficients for each time step.
  • QuTiP no longer contains the demos GUI. The examples are now available on the QuTiP web site.
  • New functions for visualizing quantum states using Qubism and Schimdt plots.
  • Public plotting functions from the qutip.visualization module are now prefixed with plot_ (e.g., plot_fock_distribution).
  • The classes OdeData, 'Odeoptions', 'Odeconfig' are now called 'Result', 'Options', and 'Config', respectively, and are available in the module qutip.solver.
  • Improved performance and numerous bug fixes.

Version 2.2.0 (March 01, 2013):

New Features

  • Added Support for Windows
  • New Bloch3d class for plotting 3D Bloch spheres using Mayavi.
  • Bloch sphere vectors now look like arrows.
  • Partial transpose function.
  • Continuos variable functions for calculating correlation and covariance matrices, the Wigner covariance matrix and the logarithmic negativity for for multimode fields in Fock basis.
  • The master-equation solver (mesolve) now accepts pre-constructed Liouvillian terms, which makes it possible to solve master equations that are not on the standard Lindblad form.
  • Optional Fortran Monte Carlo solver (mcsolve_f90) by Arne Grimsmo.
  • A module of tools for using QuTiP in IPython notebooks.
  • Increased performance of the steady state solver.
  • New Wigner colormap for highlighting negative values.
  • More graph styles to the visualization module.

Bug Fixes:

  • Function based time-dependent Hamiltonians now keep the correct phase.
  • mcsolve no longer prints to the command line if ntraj=1.

Version 2.1.0 (October 05, 2012):

New Features

  • New method for generating Wigner functions based on Laguerre polynomials.
  • coherent(), coherent_dm(), and thermal_dm() can now be expressed using analytic values.
  • Unittests now use nose and can be run after installation.
  • Added iswap and sqrt-iswap gates.
  • Functions for quantum process tomography.
  • Window icons are now set for Ubuntu application launcher.
  • The propagator function can now take a list of times as argument, and returns a list of corresponding propagators.

Bug Fixes:

  • mesolver now correctly uses the user defined rhs_filename in Odeoptions().
  • rhs_generate() now handles user defined filenames properly.
  • Density matrix returned by propagator_steadystate is now Hermitian.
  • eseries_value returns real list if all imag parts are zero.
  • mcsolver now gives correct results for strong damping rates.
  • Odeoptions now prints mc_avg correctly.
  • Do not check for PyObj in mcsolve when gui=False.
  • Eseries now correctly handles purely complex rates.
  • thermal_dm() function now uses truncated operator method.
  • Cython based time-dependence now Python 3 compatible.
  • Removed call to NSAutoPool on mac systems.
  • Progress bar now displays the correct number of CPU's used.
  • Qobj.diag() returns reals if operator is Hermitian.
  • Text for progress bar on Linux systems is no longer cutoff.

Version 2.0.0 (June 01, 2012):

The second version of QuTiP has seen many improvements in the performance of the original code base, as well as the addition of several new routines supporting a wide range of functionality. Some of the highlights of this release include:

New Features

  • QuTiP now includes solvers for both Floquet and Bloch-Redfield master equations.
  • The Lindblad master equation and Monte Carlo solvers allow for time-dependent collapse operators.
  • It is possible to automatically compile time-dependent problems into c-code using Cython (if installed).
  • Python functions can be used to create arbitrary time-dependent Hamiltonians and collapse operators.
  • Solvers now return Odedata objects containing all simulation results and parameters, simplifying the saving of simulation results.

Important

This breaks compatibility with QuTiP version 1.x. See :ref:`odedata` for further details.

  • mesolve and mcsolve can reuse Hamiltonian data when only the initial state, or time-dependent arguments, need to be changed.
  • QuTiP includes functions for creating random quantum states and operators.
  • The generation and manipulation of quantum objects is now more efficient.
  • Quantum objects have basis transformation and matrix element calculations as built-in methods.
  • The quantum object eigensolver can use sparse solvers.
  • The partial-trace (ptrace) function is up to 20x faster.
  • The Bloch sphere can now be used with the Matplotlib animation function, and embedded as a subplot in a figure.
  • QuTiP has built-in functions for saving quantum objects and data arrays.
  • The steady-state solver has been further optimized for sparse matrices, and can handle much larger system Hamiltonians.
  • The steady-state solver can use the iterative bi-conjugate gradient method instead of a direct solver.
  • There are three new entropy functions for concurrence, mutual information, and conditional entropy.
  • Correlation functions have been combined under a single function.
  • The operator norm can now be set to trace, Frobius, one, or max norm.
  • Global QuTiP settings can now be modified.
  • QuTiP includes a collection of unit tests for verifying the installation.
  • Demos window now lets you copy and paste code from each example.

Version 1.1.4 (May 28, 2012):

Bug Fixes:

  • Fixed bug pointed out by Brendan Abolins.
  • Qobj.tr() returns zero-dim ndarray instead of float or complex.
  • Updated factorial import for scipy version 0.10+

Version 1.1.3 (November 21, 2011):

New Functions:

  • Allow custom naming of Bloch sphere.

Bug Fixes:

  • Fixed text alignment issues in AboutBox.
  • Added fix for SciPy V>0.10 where factorial was moved to scipy.misc module.
  • Added tidyup function to tensor function output.
  • Removed openmp flags from setup.py as new Mac Xcode compiler does not recognize them.
  • Qobj diag method now returns real array if all imaginary parts are zero.
  • Examples GUI now links to new documentation.
  • Fixed zero-dimensional array output from metrics module.

Version 1.1.2 (October 27, 2011)

Bug Fixes

  • Fixed issue where Monte Carlo states were not output properly.

Version 1.1.1 (October 25, 2011)

THIS POINT-RELEASE INCLUDES VASTLY IMPROVED TIME-INDEPENDENT MCSOLVE AND ODESOLVE PERFORMANCE

New Functions

  • Added linear entropy function.
  • Number of CPU's can now be changed.

Bug Fixes

  • Metrics no longer use dense matrices.
  • Fixed Bloch sphere grid issue with matplotlib 1.1.
  • Qobj trace operation uses only sparse matrices.
  • Fixed issue where GUI windows do not raise to front.

Version 1.1.0 (October 04, 2011)

THIS RELEASE NOW REQUIRES THE GCC COMPILER TO BE INSTALLED

New Functions

  • tidyup function to remove small elements from a Qobj.
  • Added concurrence function.
  • Added simdiag for simultaneous diagonalization of operators.
  • Added eigenstates method returning eigenstates and eigenvalues to Qobj class.
  • Added fileio for saving and loading data sets and/or Qobj's.
  • Added hinton function for visualizing density matrices.

Bug Fixes

  • Switched Examples to new Signals method used in PySide 1.0.6+.
  • Switched ProgressBar to new Signals method.
  • Fixed memory issue in expm functions.
  • Fixed memory bug in isherm.
  • Made all Qobj data complex by default.
  • Reduced ODE tolerance levels in Odeoptions.
  • Fixed bug in ptrace where dense matrix was used instead of sparse.
  • Fixed issue where PyQt4 version would not be displayed in about box.
  • Fixed issue in Wigner where xvec was used twice (in place of yvec).

Version 1.0.0 (July 29, 2011)

  • Initial release.