Skip to content

Commit

Permalink
UPDATED: updated release files
Browse files Browse the repository at this point in the history
  • Loading branch information
nonhermitian committed Mar 1, 2013
1 parent 643ce6c commit 8b955a4
Show file tree
Hide file tree
Showing 4 changed files with 121 additions and 29 deletions.
89 changes: 68 additions & 21 deletions INSTALL.txt
Original file line number Diff line number Diff line change
@@ -1,38 +1,42 @@
################################
# QuTiP INSTALLATION GUIDE
# Version: 2.0.0
# Version: 2.2.0
# P.D. Nation and J.R. Johansson
################################


A complete guide may be found at http://qutip.googlecode.com/svn/doc/2.0.0/html/installation.html


===> IMPORTANT: QuTiP is designed for use on Unix based systems only, and is known to break on Microsoft Windows platforms. <===
A complete guide may be found at http://qutip.googlecode.com/svn/doc/2.2.0/html/installation.html


GENERAL REQUIREMENTS
********************
Package Version Details
------- ------- --------
Python 2.6+ (not 3) Requires multiprocessing (v2.6 and higher only). At present, Matplotlib does not work for Python 3.
Numpy 1.6+ Requires new array creation methods available in 1.6+.
Numpy 1.6+ Requires new array creation methods available in 1.6+.
Scipy 0.9+ Not tested on lower versions.
Matplotlib 1.1.0+ Some plotting routines do not work on lower versions.
Matplotlib 1.1.0+ Some plotting routines do not work on lower versions.
GCC Compiler 4.2+ Needed for compiling c-code files used for ODE solvers.
Python Headers 2.6+ LINUX ONLY. Needed for compiling c-code files.

Qt libraries 4.7.3+ Optional. For GUI elements only. Not tested on lower versions.
PyQt4 4.8+ Optional, required only for GUI elements. Can be substituted with PySide (recommended).
PySide? 1.0.6+ Optional, required only for GUI elements. PyQt4 may be used instead.
PyObjC 2.2+ Optional. MAC ONLY. Needed only for a GUI Monte-Carlo progress bar on the mac.
Cython 0.14+ Optional. Needed for compiling list-string format time-dependent Hamiltonians.
LaTex Texlive 2009+ Optional. Needed if using LaTex in figure labels.

PyQt4 4.8+ Optional. Required only for GUI elements. Can be substituted with PySide (recommended).
PySide? 1.0.6+ Optional. Required only for GUI elements. PyQt4 may be used instead.
PyObjC 2.2+ Optional. MAC ONLY. Needed only for a GUI Monte-Carlo progress bar on the mac.
Cython 0.15+ Optional. Needed for compiling list-string format time-dependent Hamiltonians.
BLAS Libs 1.2+ Optional. Needed to install Fortran based monte-carlo solver.
Mayavi 4.1+ Optional. Needed for 3D Bloch sphere only.
LaTex Texlive 2009+ Optional. Needed if using LaTex in figure labels.
nose 1.1.2+ Optional. Needed to run the test scripts.

INSTALLATION
************

On all platforms (Linux, Mac, Windows), QuTiP works "out-of-the-box" using the Anaconda CE: https://store.continuum.io/cshop/anaconda. This distribution is created by the developers of Numpy, and is free for both commercial and noncommercial use.

As of version 2.2, QuTiP includes an optional Fortran-based Monte Carlo solver that has a substantial performance benefit when compared with the Python-based solver. In order to install this package you must have a Fortran compiler (for example gfortran) and BLAS development libraries. At present, these packages are only tested on the Linux and OS X platforms.


UBUNTU LINUX (RECOMMENDED PLATFORM FOR QUTIP)
=============================================

Expand All @@ -54,6 +58,12 @@ First install the following dependency packages:
>>> sudo apt-get install python-pyside
>>> sudo apt-get install python-setuptools
>>> sudo apt-get install python-dev
>>> sudo apt-get install python-matplotlib
>>> sudo apt-get install cython
>>> sudo apt-get install python-nose # recommended, for testing
>>> sudo apt-get install texlive-latex-extra # recommended
>>> sudo apt-get install libblas-dev # optional, for Fortran Monte Carlo solver
>>> sudo apt-get install mayavi2 # optional, for Bloch3d only

Ubuntu 11.04 and lower do not have Matplotlib>=1.1, and we therefore need to add the unofficial repository (in Ubuntu 11.10+, skip this step)

Expand All @@ -67,8 +77,14 @@ before running
Install QuTiP
-------------

For a standard installation, run this command in the QuTiP source code directory:

>>> sudo python setup.py install

To install QuTiP with the optional Fortran Monte Carlo function use:

>>> sudo python setup.py install --with-f90mc


APPLE MAC OSX (10.6+)
======================
Expand All @@ -92,28 +108,59 @@ or

>>> sudo port install py27-pyqt4

Finally, at your option, you can install IPython:

>>> sudo port install py27-ipython +pyside +notebook +parallel (replace +pyside with +pyqt4 if using pyqt4)
Finally, at your option, you can install the following packages:

and additional LaTeX fornts for Matplotlib:
>>> sudo port install py27-ipython +pyside+notebook+parallel+scientific #switch to +pyqt4 if using pyqt4
>>> sudo port install py27-cython #used for string-based time-dependent Hamiltonians
>>> sudo port install vtk5 +python27+qt4_mac #used for the Bloch3d class
>>> sudo port install py27-mayavi #used for the Bloch3d class

>>> sudo port install texlive-latex-extra
Now, we want to tell OSX which Python and iPython we are going to use::

>>> sudo port select python python27
>>> sudo port select ipython ipython27

SciPy Superpack
---------------
A second option is to install the required Python packages using the SciPy Superpack. Further information on installing the superpack can be found on the SciPy Downloads page. Note that, if you choose this option, the GUI elements of QuTiP will not be available without further installing either the PyQt4 or PySide packages separately.

Enthought Python Distribution
Anaconda CE Distribution
-----------------------------
Finally, one can also use the Enthought Python Distribution version 7.1 or higher to satisfy the QuTiP dependencies.
Finally, one can also use the Anaconda CE: https://store.continuum.io/cshop/anaconda to satisfy the QuTiP dependencies.

Install QuTiP
-------------
Installing QuTiP is the same as on linux. From the QuTiP directory:
No matter which installation path you choose, installing a standard QuTiP installation is the same as on linux. From the QuTiP directory run::

>>> sudo python setup.py install

In order to install the Fortran Monte Carlo solver (when running macports) use the following command::

>>> sudo python setup.py install --with-f90mc


Installation on Windows
========================
QuTiP is primarily developed for Unix-based platforms such as Linux an Mac OS X, but it can also be used on Windows. We have limited experience and ability to help troubleshoot problems on Windows, but the following installation steps have been reported to work:

1. Install the Python(X,Y): http://code.google.com/p/pythonxy/ distribution (tested with version 2.7.3.1). Other Python distributions, such as Enthought Python Distribution: http://www.enthought.com/products/epd.php or Anaconda CE: http://continuum.io/downloads.html might work too, but this has not been verified.

2. When installing Python(x,y), explicitly select to include the Cython package in the installation. This package is not selected by default.

3. Add the following content to the file `C:/Python27/Lib/distutils/distutils.cfg` (or create the file if it does not already exists)::

[build]
compiler = mingw32

[build_ext]
compiler = mingw32

The directory where the distutils.cfg file should be placed might be different if you have installed the Python environment in a different location than in the example above.

4. Obtain the QuTiP source code, unpack it and run the following command in the source code directory::

python setup.py install


VERIFY INSTALLATION
*******************
Expand Down
22 changes: 14 additions & 8 deletions README.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
################################
# QuTiP README FILE FOR CPC
# Version: 2.2.0
# Released: XX/XX/2013
# Released: 2013/03/01
# P.D. Nation and J.R. Johansson
################################

Expand Down Expand Up @@ -39,7 +39,7 @@ qutip/
bloch-redfield.py # Bloch-Redfield master equation.
Bloch.py # Bloch sphere plot.
Bloch3d.py # 3D Bloch sphere plot.
clebsch.py # Clebsch-Gordon coefficients.
continuous_variables.py # Continuous variables routines.
correlation.py # Two-time correlation functions.
demos.py # Runs demos GUI or command line.
entropy.py # Various entropy measures.
Expand All @@ -50,7 +50,8 @@ qutip/
floquet.py # Floquet-Markov master equation.
gates.py # Quantum computation gates.
graph.py # Visualization scripts.
istests.py # Properties of a Qobj object.
ipynbtools.py # Tools for QuTiP in IPython notebooks.
istests.py # Properties of a Qobj object.
mcsolve.py # Monte-Carlo trajectory solver.
mesolve.py # Lindblad master equation solver.
metrics.py # Density matrix metrics.
Expand All @@ -61,23 +62,28 @@ qutip/
operators.py # Commonly used quantum operators.
orbital.py # Angular wave function on a sphere.
parfor.py # Parallel for-loop
propagator.py # Propagator U(t) for density matrix.
partial_transpose.py # Partial transpose routine.
propagator.py # Propagator U(t) for density matrix.
ptrace.py # Partial trace of a composite object.
Qobj.py # Main quantum object class.
qstate.py # Generates coupled states of qubits.
rand.py # Random quantum operators and states.
random_objects.py # Random quantum operators and states.
rhs_generate.py # Generates Cython code at runtime.
sesolve.py # Module for Schrodinger solvers.
simdiag.py # Simultaneous diagonalization.
sparse.py # Sparse eigensolvers.
sphereplot.py # Plots spherical wave functions.
states.py # State vectors and density matrices.
steady.py # Steady state evolution.
superoperator.py # Superoperators for Louvillian.
stochastic.py # Module for SDE solvers.
superoperator.py # Superoperators for Louvillian.
tensor.py # Generates composite quantum objects.
testing.py # Module for running QuTiP unit tests.
three_level_atom.py # Operators for three-level atoms.
tomography.py # Quantum process tomograpy functions.
wigner.py # Wigner function and Q function.
tomography.py # Quantum process tomography functions.
utilities.py # Collection of utility functions.
visualization.py # Various visualization functions.
wigner.py # Wigner function and Q functions.

cyQ/
__init__.py # Initialize cyQ modules.
Expand Down
37 changes: 37 additions & 0 deletions RELEASE.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,43 @@
# P.D. Nation and J.R. Johansson
################################

*********************************************
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.

- Added partial transpose function.

- Added continous 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.


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 [SVN-2686] (October 05, 2012):
Expand Down
2 changes: 2 additions & 0 deletions benchmark/qutip_benchmarks.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@
from qutip import *
import numpy as np
from time import time
import qutip.settings as qset
from tests import *
#qset.auto_tidyup=False
#
# command-line parsing
#
Expand Down

0 comments on commit 8b955a4

Please sign in to comment.