Version 5.0.1 (2009-07-21)
-------------

** Bug fixes:

- The constructor 'Matrix_ArrayComplexSparse(int i, int j)' swapped the number
  of rows and the number of columns, in the case of a column-major matrix.
- In 'Matrix_ComplexSparse', 'Matrix_Sparse', 'Matrix_SymComplexSparse' and
  'Matrix_SymSparse', the constructor in the form 'Matrix(int, int)' was
  declared but not implemented.


Version 5.0 (2009-05-23)
-----------

Since this version is tagged after several years of development, it comes with
far too many changes to be listed. About 40,000 source lines of code have been
added. Below is a partial and short summary of the main changes (compared to
version 4.1):
- Added many functions for computing: extended the Blas interface, added an
  interface to Lapack (eigenvalues and eigenvectors, least squares and
  solvers), added iterative solvers (Gmres, BiCg, QCgs, ...), added a
  preconditioner, added interfaces for SuperLU, Mumps and UmfPack, ...
- Added Hermitian, Hermitian packed, symmetric, triangular and triangular
  packed matrices.
- Added (real and complex) sparse matrices stored as a vector of sparse
  vectors.
- Added sparse vectors.
- Added many convenient methods and functions to manipulate vectors and
  matrices; e.g., sorting algorithms, matrix conversions, construction of
  structures from existing memory blocks.
- Added unit tests.
- Added a partial Python interface, generated by Swig.
- Introduced compilation with SCons.


Intermediate versions (not tagged)
---------------------

- 2009-03-04
- 2009-02-17
- 2008-11-12
- 2005-05-15
- 2004-12-03
- 2004-11-08
- 2004-09-20


Version 4.1 (2003-12-14)
-----------


Version 4.0.2 (2003-09-05)
-------------


Version 4.0.1 (2003-09-05)
-------------


Version 4.0 (2003-08-31)
-----------

** Improvements:

- Added row-major and column-major symmetric matrices stored in packed form
  (Blas format).
- Added the interface to the Blas (level 1) functions:
    + 'Add' (xAXPY)
    + 'ApplyModifRot' (xROTM)
    + 'ApplyRot' (xROT)
    + 'Copy' (xCOPY)
    + 'DotProd' (xDOT)
    + 'DotProjConj' (xDOTC)
    + 'DotProdDouble' (SDSDOT)
    + 'GetMaxAbsIndex' (IxAMAX)
    + 'GenModifRot' (xROTMG)
    + 'GenRot' (xROTG)
    + 'Mlt(const T, Vector&)' (xSCAL)
    + 'Norm1' (xASUM)
    + 'Norm2' (xNRM2)
    + 'Swap' (xSWAP)
- Added the interface to some Blas (level 2) functions:
    + 'MltAdd' (xGEMV and xSPMV)
- Overloaded operator << for matrices and vectors.
- Overloaded methods 'Write', 'WriteText' and 'Read' (for matrices and
  vectors) with arguments of 'ofstream' or 'ifstream' type.
- Added methods:
    + 'Clear'
    + 'SetData'
  to matrices and vectors classes to allow for low level manipulations.
- Improved error management in methods 'Write', 'WriteText' and 'Read' (for
  matrices and vectors).
- Improved error messages in case of indices out of range.

** Bug fixes:

- 'FILE_FUNCTIONS_VECTOR_CXX' was not defined at the end of
  "Functions_Vector.cxx", which led to compilation problems in case of
  multiple inclusions.


Version 3.3 (2003-08-02)
-----------

** Improvements:

- Improved input/output operations ('Write', 'WriteText' and 'Read').
- Added convenient macros and functions:
    + to_str and to_num
    + ERR, DISP and DISPLAY
- Changed 'include' statements to be fully compliant with the C++ standard.

** Bug fixes:


Version 3.2 (2003-06-09)
-----------


Version 3.1 (2002-12-06)
-----------


Version 3.0 (2002-02-27)
-----------


Version 2.0 (2002-01-10)
-----------


Version 1.0 (2001-09-18)
-----------


The development started in 2001.
