20 #ifndef SELDON_FILE_ITERATIVE_INLINE_CXX
32 #ifdef SELDON_WITH_VIRTUAL
46 ::Solve(
const VirtualMatrix<T>&,
const Vector<T>& r, Vector<T>& z)
57 ::TransSolve(
const VirtualMatrix<T>&,
const Vector<T>& r, Vector<T>& z)
65 inline void Preconditioner_Base<T>
66 ::SetInputPreconditioning(
const string& keyword,
const Vector<string>& param)
73 inline void Preconditioner_Base<T>::CopyParameter(
const Preconditioner_Base<T>&)
85 template<
class T>
template<
class Matrix1,
class Vector1>
87 ::Solve(
const Matrix1& A,
const Vector1& r, Vector1& z)
97 template<
class T>
template<
class Matrix1,
class Vector1>
107 template<
class T>
template<
class T1,
class Matrix1,
class Vector1>
109 ::MltAdd(
const T1& alpha,
const Matrix1& A,
const Vector1& x,
110 const T1& beta, Vector1& y)
112 #ifdef SELDON_WITH_VIRTUAL
113 A.MltAddVector(alpha, x, beta, y);
115 Seldon::MltAdd(alpha, A, x, beta, y);
121 template<
class T>
template<
class Matrix1,
class Vector1>
123 ::Mlt(
const Matrix1& A,
const Vector1& x, Vector1& y)
125 #ifdef SELDON_WITH_VIRTUAL
128 Seldon::Mlt(A, x, y);
134 template<
class T>
template<
class Matrix1,
class Vector1>
137 const Matrix1& A,
const Vector1& x, Vector1& y)
139 #ifdef SELDON_WITH_VIRTUAL
140 A.MltVector(trans, x, y);
142 Seldon::Mlt(trans, A, x, y);
149 #define SELDON_FILE_ITERATIVE_INLINE_CXX