ViennaCL - The Vienna Computing Library  1.5.2
Data Structures | Namespaces | Functions
gmres.hpp File Reference

Implementations of the generalized minimum residual method are in this file. More...

#include <vector>
#include <cmath>
#include <limits>
#include "viennacl/forwards.h"
#include "viennacl/tools/tools.hpp"
#include "viennacl/linalg/norm_2.hpp"
#include "viennacl/linalg/prod.hpp"
#include "viennacl/linalg/inner_prod.hpp"
#include "viennacl/traits/clear.hpp"
#include "viennacl/traits/size.hpp"
#include "viennacl/meta/result_of.hpp"

Go to the source code of this file.

Data Structures

class  gmres_tag
 A tag for the solver GMRES. Used for supplying solver parameters and for dispatching the solve() function. More...
 

Namespaces

 viennacl
 Main namespace in ViennaCL. Holds all the basic types such as vector, matrix, etc. and defines operations upon them.
 
 viennacl::linalg
 Provides all linear algebra operations which are not covered by operator overloads.
 
 viennacl::linalg::detail
 Namespace holding implementation details for linear algebra routines. Usually not of interest for a library user.
 

Functions

template<typename SRC_VECTOR , typename DEST_VECTOR >
void gmres_copy_helper (SRC_VECTOR const &src, DEST_VECTOR &dest, vcl_size_t len, vcl_size_t start=0)
 
template<typename ScalarType , typename DEST_VECTOR >
void gmres_copy_helper (viennacl::vector< ScalarType > const &src, DEST_VECTOR &dest, vcl_size_t len, vcl_size_t start=0)
 
template<typename VectorType , typename ScalarType >
void gmres_setup_householder_vector (VectorType const &input_vec, VectorType &hh_vec, ScalarType &beta, ScalarType &mu, vcl_size_t j)
 Computes the householder vector 'hh_vec' which rotates 'input_vec' such that all entries below the j-th entry of 'v' become zero. More...
 
template<typename VectorType , typename ScalarType >
void gmres_householder_reflect (VectorType &x, VectorType const &h, ScalarType beta)
 
template<typename MatrixType , typename VectorType , typename PreconditionerType >
VectorType solve (const MatrixType &matrix, VectorType const &rhs, gmres_tag const &tag, PreconditionerType const &precond)
 Implementation of the GMRES solver. More...
 
template<typename MatrixType , typename VectorType >
VectorType solve (const MatrixType &matrix, VectorType const &rhs, gmres_tag const &tag)
 Convenience overload of the solve() function using GMRES. Per default, no preconditioner is used. More...
 

Detailed Description

Implementations of the generalized minimum residual method are in this file.