18#include <petscsystypes.h>
40template<
typename MatrixOrVector>
41void copy(MatrixOrVector
const& x, MatrixOrVector& y)
47template <
typename MatrixOrVector>
48void scale(MatrixOrVector& x,
double const a)
54template <
typename MatrixOrVector>
55void aypx(MatrixOrVector& y,
double const a, MatrixOrVector
const& x)
61template <
typename MatrixOrVector>
62void axpy(MatrixOrVector& y,
double const a, MatrixOrVector
const& x)
68template <
typename MatrixOrVector>
69void axpby(MatrixOrVector& y,
double const a,
double const b,
70 MatrixOrVector
const& x)
76template<
typename MatrixOrVector>
78 MatrixOrVector
const& x, MatrixOrVector
const& y);
81template<
typename MatrixOrVector>
82double norm1(MatrixOrVector
const& x);
85template<
typename MatrixOrVector>
86double norm2(MatrixOrVector
const& x);
89template<
typename MatrixOrVector>
92template<
typename MatrixOrVector>
107template <
typename Matrix>
118template<
typename Matrix,
typename Vector>
119void matMult(Matrix
const& A, Vector
const& x, Vector& y)
131template<
typename Matrix,
typename Vector>
132void matMultAdd(Matrix
const& A, Vector
const& v1, Vector
const& v2, Vector& v3)
158void set(PETScVector& x, PetscScalar
const a);
160void copy(PETScVector
const& x, PETScVector& y);
162void scale(PETScVector& x, PetscScalar
const a);
165void aypx(PETScVector& y, PetscScalar
const a, PETScVector
const& x);
168void axpy(PETScVector& y, PetscScalar
const a, PETScVector
const& x);
171void axpby(PETScVector& y, PetscScalar
const a, PetscScalar
const b,
172 PETScVector
const& x);
176void copy(PETScMatrix
const& A, PETScMatrix& B);
179void scale(PETScMatrix& A, PetscScalar
const a);
182void aypx(PETScMatrix& Y, PetscScalar
const a, PETScMatrix
const& X);
185void axpy(PETScMatrix& Y, PetscScalar
const a, PETScMatrix
const& X);
190void matMult(PETScMatrix
const& A, PETScVector
const& x, PETScVector& y);
193void matMultAdd(PETScMatrix
const& A, PETScVector
const& v1,
194 PETScVector
const& v2, PETScVector& v3);
225void set(EigenVector& x,
double const a);
227void copy(EigenVector
const& x, EigenVector& y);
229void scale(EigenVector& x,
double const a);
232void aypx(EigenVector& y,
double const a, EigenVector
const& x);
235void axpy(EigenVector& y,
double const a, EigenVector
const& x);
238void axpby(EigenVector& y,
double const a,
double const b, EigenVector
const& x);
243void copy(EigenMatrix
const& A, EigenMatrix& B);
246void scale(EigenMatrix& A,
double const a);
249void aypx(EigenMatrix& Y,
double const a, EigenMatrix
const& X);
252void axpy(EigenMatrix& Y,
double const a, EigenMatrix
const& X);
258void matMult(EigenMatrix
const& A, EigenVector
const& x, EigenVector& y);
261void matMultAdd(EigenMatrix
const& A, EigenVector
const& v1,
262 EigenVector
const& v2, EigenVector& v3);
double norm(MatrixOrVector const &x, MathLib::VecNormType type)
void finalizeAssembly(PETScMatrix &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 set(PETScVector &x, PetscScalar const a)
void matMult(PETScMatrix const &A, PETScVector const &x, PETScVector &y)
void matMultAdd(PETScMatrix const &A, PETScVector const &v1, PETScVector const &v2, PETScVector &v3)
double norm2(PETScVector const &x)
void scale(PETScVector &x, PetscScalar const a)
void aypx(PETScVector &y, PetscScalar const a, PETScVector const &x)
void axpy(PETScVector &y, PetscScalar const a, PETScVector const &x)
void axpby(PETScVector &y, PetscScalar const a, PetscScalar const b, PETScVector const &x)
VecNormType
Norm type. Not declared as class type in order to use the members as integers.