ViennaCL - The Vienna Computing Library  1.7.1
Free open-source GPU-accelerated linear algebra and solver library.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
mixed_precision_cg.hpp File Reference

The conjugate gradient method using mixed precision is implemented here. Experimental. 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"
#include "viennacl/backend/memory.hpp"
#include "viennacl/vector_proxy.hpp"

Go to the source code of this file.

Classes

class  viennacl::linalg::mixed_precision_cg_tag
 A tag for the conjugate gradient 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.
 

Functions

template<typename MatrixType , typename VectorType >
VectorType viennacl::linalg::solve (const MatrixType &matrix, VectorType const &rhs, mixed_precision_cg_tag const &tag)
 Implementation of the conjugate gradient solver without preconditioner. More...
 
template<typename MatrixType , typename VectorType >
VectorType viennacl::linalg::solve (const MatrixType &matrix, VectorType const &rhs, mixed_precision_cg_tag const &tag, viennacl::linalg::no_precond)
 

Detailed Description

The conjugate gradient method using mixed precision is implemented here. Experimental.

Definition in file mixed_precision_cg.hpp.