Recommended reading and references 
----------------------------------------------------------

* A good set of lectures is the `Scipy lecture notes <http://scipy-lectures.github.com/>`_.   

* A good starting point to learn about scientific computing with Python and related ideas is 
  `Software carpentry <http://software-carpentry.org>`_, which  provides nice video/slides `lectures on Python <http://software-carpentry.org/4_0/python>`_

* To learn the Python language itself the recommended starting point is the standard `python tutorial <http://docs.python.org/tutorial>`_.

* Python has a large number of libraries, which can be used in combination with TRIQS.  For example, 

 * The Python's `standard library <http://docs.python.org/library>`_ is already very rich.

 * `Numpy <http://docs.scipy.org/doc/numpy/user>`_  allows to manipulate multidimensionnal arrays (cf also the `tutorial <http://www.scipy.org/Tentative_NumPy_Tutorial>`_).

 * `Scipy <http://www.scipy.org>`_ includes many packages for scientific computing.

 * `Matplotlib <http://matplotlib.sourceforge.net>`_ offers very nice plotting possibilities.

 * `SymPy <http://sympy.org/>`_ provides some formal computing capabilities.

 * `Cython <http://cython.org/>`_ is a quick way to build simple `C` modules in computationally intense case. For more complex situations we use boost.python tools.