Examples of IFPACK
==================

New users might want to look through the examples in the following
order:

- Ifpack_ex_Factory.cpp     shows how to use Ifpack factory to create
                            a variety of IFPACK preconditioners.
			    This is the simplest way to use IFPACK.
			    The example details all the phases of
			    IFPACK. Difficulty = beginners.

- Ifpack_ex_Amesos.cpp      shows how to use exact LU solvers on
                            each subdomain, using Amesos. This example
			    is very similar to the previous one.
			    Difficulty = beginners.

- Ifpack_ex_ICT.cpp         shows how to define incomplete Cholesky 
                            factorizations and tune parameters. Although
			    an ICT factorization can be constructed using
			    the Factory (as done in file
			    Ifpack_ex_Factory.cpp), this example tells
			    the real story: how to define an 
			    Ifpack_AdditiveSchwar which uses ICT on
			    each subdomain.
			    Difficulty: intermediate.

- Ifpack_ex_BlockRelaxation.cpp  shows the usage of block relaxation
                                 preconditioners, like Jacobi or
                                 Gauss-Seidel.
			         Difficulty: intermediate.

The examples require Galeri (--enable-galeri) to generate the linear
system matrix, and AztecOO (--enable-aztecoo) to solve the corresponding
linear system. Ifpack_ex_Amesos.cpp requires Amesos (--enable-amesos).


Other examples are reported to explain internally used tools. These
examples are meant to be read by developers, or users that will
need to hack the IFPACK source code.

- Ifpack_ex_Filtering.cpp   shows the use of Ifpack_DropFilter,
                            Ifpack_SparsityFilter, and 
                            Ifpack_SingletonFilter.
			    Difficulty: for developers.

- Ifpack_ex_Reordering.cpp  shows how to reorder a matrix.
			    Difficulty: for developers.


Finally, the following examples should be used by users interested in the
finite element code of Galeri (PFEM):

- Ifpack_ScalarLaplacian_FEM.cpp  shows the definition of an unstructured
                                  parallel FE code for a scalar Laplacian.

- Ifpack_VectorLaplacian_FEM.cpp  shows the definition of an unstructured
                                  parallel FE code for a vector Laplacian.


