ML: A Multilevel Preconditioner Package
                 Copyright (2002) Sandia Corporation

Under terms of Contract DE-AC04-94AL85000, there is a non-exclusive
license for use of this work by or on behalf of the U.S. Government.

This library is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation; either version 2.1 of the
License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
Questions? Contact Michael A. Heroux ( 

ML -- History of visible changes

This file reports (some of) the visible changes to ML.
Please submit ML bugs at, or
report bugs to

Jan 2005

        * The first cut of the MLAPI is now available. MLAPI is the 
          MATLAB-like parallel programming module of ML. Right now only
          a limited subset of ML functionalities is available.
        * Improved the MultiLevelPreconditioner class (now derived from
          Epetra_Operator and no longer from Epetra_RowMatrix). Updated the
          filtering/GGB algorithm, which now supports only Anasazi and the
          non-symmetric cycle. Some never-used methods have been deleted
          (like scaling). 
        * Improved compilation on several machines; now ML *should* compile
          with no warnings on Linux using `-g -ansi -pedantic -Wall

Dec 2004

        * improved the organization of the examples, introduces more
          detailed comments and some README files. Deleted some outdated
        * bug fixes to the auxiliary matrix algorithm for problems defined
          on stretched grids.

Nov 2004 (current version 3.1)

        * ML now supports Zoltan as coarsening scheme (RCB only). Zoltan
          can be used to create the aggregates, but also to redistribute
          the next-level operator among the specified number of
          processors (which can be less than the available number of
        * Several minor and major fixes to the example suite
        * Added a test to verify the correctness of compiled examples
        * Extended the test harness scripts and files
        * a variable-block partiononing scheme (based on METIS) is
          now available. 

Oct 2004

        * support for new IFPACK smoothers. ML now supports IFPACK's
          variable block Jacobi, Gauss-Seidel and symmetric Gauss-Seidel
          preconditioners, as well as the IFPACK-Amesos preconditioners
          (subdomain-based exact LU factorizations)
        * fixes support for Amesos solver (introducing LAPACK as coarse

May 2004 (current version 3.0, distributed with Trilinos 4.0)

    * Update the ml user's guide (in the doc subdirectory)
    * Improved interface to C++. Introduced two classes to use
      ML as a preconditioner for Epetra_LinearProblem (both in the
      ML_Epetra namespace): MultiLevelOperator and 
    * Basic feaures to solve Maxwell equations via MultiLevelPreconditioner
      are now supported
    * Improved interface to Amesos. Now ML can use Anasazi to estimate
      the maximum eigenvalue for both symmetric and non-symmetric
    * Improve interface to Anasazi
    * Add power method to estimate lambda max for non-syymmetric
    * Improve the MLS preconditioner for block systems
    * New options for configure. Drop --with-ml_epetra (and similar
      for other Trilinos packages), and use --enable-epetra (and similar)
    * Fixed various compiler warnings for LINUX (GNU and Intel),
      SGI 64, DEC, west-cplant, ASCI Red


Apr 2004
    * Change to support new Teuchos methods' name
    * Change to support new Amesos methods' name
    * Now support to ML native interface to SuperLU and SuperLUDIST
      is deprecated in favor of Amesos interface

Jan 2004
    * Add METIS and ParMETIS aggregation schemes
    * Add Teuchos support
    * Add interface to Amesos
    * Add interface to IFPACK
    * Add interface to Anasazi
    * Add configure options --with-ml_epetra, --with-ml_parmetis2x,
      --with-ml_parmetis3x, --with-ml_ifpack, --with-ml_anasazi
    * Add two-level additive and hybrid domain decomposition
      preconditioners (not officially supported)
Sep 2003 (version 2.0, distributed with Trilinos 3.1)
    * ML has now been put "autotooled", i.e., autoconf and automake.
        * Haim Waisman's GGB method has been implemented.
        * Bill Cochran's cache optimizations for multiple RHSs have been 
        * Bill also has added code so that ML will compile with c++ compilers.

    * 1st patch for release ml2_1_0_0 (trilinos-release-3-01-branch).
    * Bug fix for eigenvalue estimate that was causing Alegra 
      sinmag benchmark to fail.
    * Added definitions for make macro CXX in architecture-dependent 
      makefiles in order for Alegra to be able to build epetra interfaces.
    * Minor changes to block matrix (equivalent real form)
    * Fixed compiler warnings.
mystring = ml2_1_0_0

    * Many minor fixes to get the commuting relationship T_h P_n = P_e T_H
      exactly right.
    * Serial implementation of enriched prolongator.
    * New norm for convergence of Maxwell solver.  This norm measure
      and scales properly the range space and null space components of
      the (curl,curl) operator.

mystring = ml2_0_0_5

    * Changes in aggregation post-processing to improve aggregate quality.
    * Added wrappers so that ML can use Epetra objects & so that 
      AztecOO can use ML as a preconditioner.
    * Added block Maxwell capabilities for real block systems that are
      equivalent to the complex systems arising from Maxwell in the 
      frequency domain.
mystring = ml2_0_0_3

    * Added in smoothing of Reitzinger/Schoeberl prolongator.
    * Least squares and smoothed l.s. prolongators in serial for R/S AMG.
    * Enhanced detection of degenerate coarse grid matrices in building
      R/S AMG hierarchy.


mystring = ml2_0_0_2

    * Symmetrize Hiptmair smoother and finished off MLS within Hiptmair. 


    * MLS polynomial smoother
        * matrix does not need to be scaled.
        * Added more print control:
      - "ml_inputfile" now takes an additional argument in the general
      - problem specs section:
      - "Print Level = [an integer]"
      - 0 => minimal output
      - 1 => some output (default)
      - 2,3,... => increasing amounts of output


    * AMG for Maxwell's equations
        * Reitzinger Schoeberl AMG.
        * Hiptmair smoother.

Generated on Thu Sep 18 12:42:34 2008 for ML by doxygen