Class template jcd_left_preconditioner
ietl::jcd_left_preconditioner
Synopsis
template<typename MATRIX, typename VS>
class jcd_left_preconditioner {
public:
typedef vectorspace_traits< VS >::vector_type vector_type;
typedef vectorspace_traits< VS >::scalar_type scalar_type;
typedef ietl::number_traits< scalar_type >::magnitude_type magnitude_type;
jcd_left_preconditioner(const MATRIX &, const VS &, const int &);
void operator()(const vector_type &, const magnitude_type &,
const vector_type &, vector_type &, const magnitude_type &);
void sysv(const char &, fortran_int_t, fortran_int_t, double, fortran_int_t,
fortran_int_t, double, fortran_int_t, double, fortran_int_t,
fortran_int_t &);
void sysv(const char &, fortran_int_t, fortran_int_t,
std::complex< double >, fortran_int_t, fortran_int_t,
std::complex< double >, fortran_int_t, std::complex< double >,
fortran_int_t, fortran_int_t &);
};
Description
jcd_left_preconditioner
public
construct/copy/destruct
jcd_left_preconditioner(const MATRIX & matrix, const VS & vec,
const int & max_iter);
jcd_left_preconditioner
public member functions
void operator()(const vector_type & u, const magnitude_type & theta,
const vector_type & r, vector_type & t,
const magnitude_type & rel_tol);
jcd_left_preconditioner
private member functions
void sysv(const char & uplo, fortran_int_t n, fortran_int_t nrhs, double a,
fortran_int_t lda, fortran_int_t ipiv, double b, fortran_int_t ldb,
double work, fortran_int_t lwork, fortran_int_t & info);
void sysv(const char & uplo, fortran_int_t n, fortran_int_t nrhs,
std::complex< double > a, fortran_int_t lda, fortran_int_t ipiv,
std::complex< double > b, fortran_int_t ldb,
std::complex< double > work, fortran_int_t lwork,
fortran_int_t & info);