The conjugate gradient method is implemented here. More...
#include <vector>
#include <map>
#include <cmath>
#include "viennacl/forwards.h"
#include "viennacl/tools/tools.hpp"
#include "viennacl/linalg/ilu.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 | cg_tag |
A tag for the conjugate gradient Used for supplying solver parameters and for dispatching the solve() function. More... | |
Namespaces | |
namespace | viennacl |
namespace | viennacl::linalg |
Functions | |
template<typename MatrixType , typename VectorType > | |
VectorType | solve (const MatrixType &matrix, VectorType const &rhs, cg_tag const &tag) |
Implementation of the conjugate gradient solver without preconditioner. | |
template<typename MatrixType , typename VectorType > | |
VectorType | solve (const MatrixType &matrix, VectorType const &rhs, cg_tag const &tag, viennacl::linalg::no_precond) |
template<typename MatrixType , typename VectorType , typename PreconditionerType > | |
VectorType | solve (const MatrixType &matrix, VectorType const &rhs, cg_tag const &tag, PreconditionerType const &precond) |
Implementation of the preconditioned conjugate gradient solver. |
The conjugate gradient method is implemented here.