36 template<
typename MatrixOrVector>
37 void copy(MatrixOrVector
const& x, MatrixOrVector& y)
43 template<
typename MatrixOrVector>
44 void scale(MatrixOrVector& x,
double const a)
50 template<
typename MatrixOrVector>
51 void aypx(MatrixOrVector& y,
double const a, MatrixOrVector
const& x)
57 template<
typename MatrixOrVector>
58 void axpy(MatrixOrVector& y,
double const a, MatrixOrVector
const& x)
64 template<
typename MatrixOrVector>
65 void axpby(MatrixOrVector& y,
double const a,
double const b, MatrixOrVector
const& x)
71 template<
typename MatrixOrVector>
73 MatrixOrVector
const& x, MatrixOrVector
const& y);
76 template<
typename MatrixOrVector>
77 double norm1(MatrixOrVector
const& x);
80 template<
typename MatrixOrVector>
81 double norm2(MatrixOrVector
const& x);
84 template<
typename MatrixOrVector>
87 template<
typename MatrixOrVector>
102 template <
typename Matrix>
113 template<
typename Matrix,
typename Vector>
126 template<
typename Matrix,
typename Vector>
153 void set(PETScVector& x,
double const a);
155 void copy(PETScVector
const& x, PETScVector& y);
157 void scale(PETScVector& x,
double const a);
160 void aypx(PETScVector& y,
double const a, PETScVector
const& x);
163 void axpy(PETScVector& y,
double const a, PETScVector
const& x);
166 void axpby(PETScVector& y,
double const a,
double const b, PETScVector
const& x);
171 void copy(PETScMatrix
const& A, PETScMatrix& B);
174 void scale(PETScMatrix& A,
double const a);
177 void aypx(PETScMatrix& Y,
double const a, PETScMatrix
const& X);
180 void axpy(PETScMatrix& Y,
double const a, PETScMatrix
const& X);
186 void matMult(PETScMatrix
const& A, PETScVector
const& x, PETScVector& y);
189 void matMultAdd(PETScMatrix
const& A, PETScVector
const& v1,
190 PETScVector
const& v2, PETScVector& v3);
221 void set(EigenVector& x,
double const a);
223 void copy(EigenVector
const& x, EigenVector& y);
225 void scale(EigenVector& x,
double const a);
228 void aypx(EigenVector& y,
double const a, EigenVector
const& x);
231 void axpy(EigenVector& y,
double const a, EigenVector
const& x);
234 void axpby(EigenVector& y,
double const a,
double const b, EigenVector
const& x);
239 void copy(EigenMatrix
const& A, EigenMatrix& B);
242 void scale(EigenMatrix& A,
double const a);
245 void aypx(EigenMatrix& Y,
double const a, EigenMatrix
const& X);
248 void axpy(EigenMatrix& Y,
double const a, EigenMatrix
const& X);
254 void matMult(EigenMatrix
const& A, EigenVector
const& x, EigenVector& y);
257 void matMultAdd(EigenMatrix
const& A, EigenVector
const& v1,
258 EigenVector
const& v2, EigenVector& v3);
std::array< double, 3 > Vector
double norm(MatrixOrVector const &x, MathLib::VecNormType type)
void axpy(PETScVector &y, double const a, PETScVector const &x)
void finalizeAssembly(PETScMatrix &A)
void scale(PETScVector &x, double const a)
double norm1(PETScVector const &x)
double normMax(PETScVector const &x)
void copy(PETScVector const &x, PETScVector &y)
void componentwiseDivide(PETScVector &w, PETScVector const &x, PETScVector const &y)
void setLocalAccessibleVector(PETScVector const &x)
void matMult(PETScMatrix const &A, PETScVector const &x, PETScVector &y)
void set(PETScVector &x, double const a)
void matMultAdd(PETScMatrix const &A, PETScVector const &v1, PETScVector const &v2, PETScVector &v3)
double norm2(PETScVector const &x)
void axpby(PETScVector &y, double const a, double const b, PETScVector const &x)
void aypx(PETScVector &y, double const a, PETScVector const &x)
VecNormType
Norm type. Not declared as class type in order to use the members as integers.