ANN: QuTiP 3.0.0 release

292 views
Skip to first unread message

Robert Johansson

unread,
Jul 17, 2014, 12:33:29 AM7/17/14
to qu...@googlegroups.com
We are pleased to announce QuTiP 3.0.0. The software and the documentation can now be downloaded from the QuTiP web page: 


QuTiP 3.0.0 contains numerous new features, bug fixes and performance improvements. A summary of changes is given below. This release is the result of over one year of development work since the previous release, and we are very pleased to have had several new contributors to the project. In particular we want to thank Anubhav Vardhan, Ben Criger, Chris Granade, Denis Vasilyev, Piotr Migdał and Reinier Heeres for their contributions. A complete list of QuTiP contributors is available at:



New Features

* New module qutip.stochastic with stochastic master equation and stochastic Schrödinger equation solvers.
* Expanded steady state solvers. The function steady has been deprecated in favor of steadystate. The steadystate solver no longer use umfpack by default. New pre-processing methods for reordering and balancing the linear equation system used in direct solution of the steady state.
* New module qutip.qip with utilities for quantum information processing, including pre-defined quantum gates along with functions for expanding arbitrary 1, 2, and 3 qubit gates to N qubit registers, circuit representations, library of quantum algorithms, and basic physical models for some common QIP architectures.
* New module qutip.distributions with unified API for working with distribution functions.
* 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.
* New functions for working with different superoperator representations, including Kraus and Chi representation.
* New functions for visualizing quantum states using Qubism and Schimdt plots: plot_qubism and plot_schmidt.
* Dynamics solver now support taking argument e_ops (expectation value operators) in dictionary form.
* Public plotting functions from the qutip.visualization module are now prefixed with plot_ (e.g., plot_fock_distribution). The plot_wigner and plot_wigner_fock_distribution now supports 3D views in addition to contour views.
* New API and new functions for working with spin operators and states, including for example spin_Jx, spin_Jy, spin_Jz and spin_state, spin_coherent.
* The expect function now supports a list of operators, in addition to the previously supported list of states.
* Simplified creation of qubit states using ket function.
* The module qutip.cyQ has been renamed to qutip.cy and the sparse matrix-vector functions spmv and spmv1d has been combined into one function spmv. New functions for operating directly on the underlaying sparse CSR data have been added (e.g., spmv_csr). Performance improvements. New and improved Cython functions for calculating expectation values for state vectors, density matrices in matrix and vector form.
* The concurrence function now supports both pure and mixed states. Added function for calculating the entangling power of a two-qubit gate.
* Added function for generating (generalized) Lindblad dissipator superoperators.
* New functions for generating Bell states, and singlet and triplet states.
* QuTiP no longer contains the demos GUI. The examples are now available on the QuTiP web site. The qutip.gui module has been renamed to qutip.ui and does no longer contain graphical UI elements. New text-based and HTML-based progressbar classes.
* Support for harmonic oscillator operators/states in a Fock state basis that does not start from zero (e.g., in the range [M,N+1]). Support for eliminating and extracting states from Qobj instances (e.g., removing one state from a two-qubit system to obtain a three-level system).
* Support for time-dependent Hamiltonian and Liouvillian callback functions that depend on the instantaneous state, which for example can be used for solving master eqautions with mean field terms.

Improvements and bug fixes

* Restructured and optimized implementation of Qobj, which now has significantly lower memory footprint due to avoiding excessive copying of internal matrix data.
* The classes OdeData, Odeoptions, Odeconfig are now called Result, Options, and Config, respectively, and are available in the module qutip.solver.
* The squeez function has been renamed to squeeze.
* Better support for sparse matrices when calculating propagators using the propagator function.
* Improved Bloch sphere.
* Restructured and improved the module qutip.sparse, which now only operates directly on sparse matrices (not on Qobj instances).
* Improved and simplified implement of the tensor function.
* Improved performance, major code cleanup (including namespace changes), and numerous bug fixes.
* Benchmark scripts improved and restructued.
* QuTiP is now using continous integration tests (TravisCI).

Ka Wa Yip

unread,
Jul 18, 2014, 2:48:14 PM7/18/14
to qu...@googlegroups.com
Hi Robert,
It seems that I encountered the error in my attachment because macport takes time to update their repositories. My selection on OSX is python34. I continued my installation on my macbook using macport. I run the tests to verify my installation. The result is attached. Is it a good sign of successful installation? 
Thank you.
Screen Shot 2014-07-17 at 4.16.09 PM.png
Screen Shot 2014-07-18 at 2.41.47 PM.png

jrjoh...@gmail.com

unread,
Jul 18, 2014, 7:29:55 PM7/18/14
to qutip group

Hi. Yes, you are right. The macports for qutip has not been updated yet and it will probably take a while before that happen. In the mean time you need to install qutip from the source distribution on mac, which it seems like you have done. The 226 passing tests indicates that your qutip 3.0 installation is working fine.

Rob

Nikolas Tezak

unread,
Jul 30, 2014, 10:15:41 PM7/30/14
to qu...@googlegroups.com
Hey guys, 
it looks like the mcsolve method is seriously broken. It might be my setup, but I just spent a couple hours trying to get a demo to work with the new qutip version for a presentation and the mcsolve average results just wouldn't agree with mesolve. In particular, I was simulating a bi-stable optical cavity. I can submit an issue on github after my talk. It seems like the dissipation was somehow increased to the point that the system would decay to a vacuum even when the lower energy meta-stable state had non-zero photon expectation.

Another thing I noticed is that for my system there appears to be a significant difference between using the constant hamiltonian and the list of lists with a constant time dependence, even thought there shouldn't be.

Again, I'll write more about this soon, just a heads up.
Best,

Nik

jrjoh...@gmail.com

unread,
Jul 30, 2014, 10:31:30 PM7/30/14
to qutip group
Hi Nikolas

Thanks for letting us know and sorry for the troubles. We have fixed a few issues with the mcsolve since 3.0.0 release:


Could you try with the latest master and see if the problem that you are seeing are still there? In particular, if you run simulation with 1 processes perhaps bug fixed in #205 could be a possible explanation. If not, it would be great if you could submit a minimal example that reproduces the problem.

Thanks for your time on this

Rob 



Nikolas Tezak

unread,
Aug 4, 2014, 4:07:21 PM8/4/14
to qu...@googlegroups.com
Just to follow up in case someone stumbles across this.
I believe the problem lies here:

Cheers,
Nik
Reply all
Reply to author
Forward
0 new messages