## Example 1 - Cholesky Decomposition

This example computes the cholesky decomposition L of a symmetric positive matrix A: LLT = A

The example shows the use of dense, triangular and banded matrices and corresponding adapters.

 cholesky.hpp header file: defines templates doing the decomposition. cholesky_test.cpp main file: containes test methods and helper functions.

## Example 2 - Solve a System of Linear Equations

This example computes the solution x of the system Ax=b of linear equations using the iterative method of conjugate gradients. The influence of different preconditioners can be seen. The numer of iterations of the original CG, a diagonal preconditioner, a cholesky preconditioner and an incomplete cholesky preconditioner can be compared.

Note:The structure of the matrix is chosen such that the incomplete cholesky is equivalent to the comlete cholesky decomposition.

This example shows the usage of sparse matrices and demonstrates some template programming techniques.

 cholesky.hpp header file: defines templates doing the decomposition. precond.hpp header file: defines template classes defining the preconditioners. pcg.hpp header file: defines template functions of the conjugate gradient iteration. pcg_test.cpp main file: defines templates doing the decomposition.

This example implements a (minimal) read only array adaptor which can be used to create ublas data structures using a prepared chunk of memory as underlying storage.

## Example 4 - reading and writing sparse matrices

This example implements a method to read and write sparse matrices as triplets.

 sparse_io.cpp example for sparse matrix i/o. sparse_matrices.zip some sparse matrices in triplet form. (see README inside)

## Example 5 - scatter and gather

This example provides simple scatter/gather and AXPY operations for sparse vectors. The code needs some clean up and it should be optimized much more.

 scatter-gather.hpp Scatter/gather operations and working_row class. scatter_main.cpp Sample application an benchmark using scatter/gather operations.

## Example 6 - Solve a System of Linear Equations using GMRES

This example computes the solution x of the system Ax=b of linear equations using the iterative method of generalized minimal residuals.

This example shows the usage of sparse matrices and demonstrates some template programming techniques.

 orthogonal.hpp header file: GMRES implementation, orthogonalization of vectors. lin_op.hpp header file: linear operator wrapper for ublas matrices. precond.hpp header file: defines template classes defining the preconditioners. cholesky.hpp header file: defines templates doing the decomposition. (not used, but included from precond.hpp) main_gmres.cpp main file: example of calling GMRES.