84 PetscScalar
norm = 0.;
94 PetscScalar
norm = 0.;
104 PetscScalar
norm = 0.;
190 void set(EigenVector& x,
double const a)
192 x.getRawVector().setConstant(a);
195 void copy(EigenVector
const& x, EigenVector& y)
200 void scale(EigenVector& x,
double const a)
202 x.getRawVector() *= a;
206 void aypx(EigenVector& y,
double const a, EigenVector
const& x)
209 y.getRawVector() = a * y.getRawVector() + x.getRawVector();
213 void axpy(EigenVector& y,
double const a, EigenVector
const& x)
216 y.getRawVector() += a * x.getRawVector();
220 void axpby(EigenVector& y,
double const a,
double const b, EigenVector
const& x)
223 y.getRawVector() = a * x.getRawVector() + b * y.getRawVector();
230 EigenVector
const& y)
232 w.getRawVector().noalias() =
233 x.getRawVector().cwiseQuotient(y.getRawVector());
239 double norm1(EigenVector
const& x)
241 return x.getRawVector().lpNorm<1>();
247 double norm2(EigenVector
const& x)
249 return x.getRawVector().norm();
255 double normMax(EigenVector
const& x)
257 return x.getRawVector().lpNorm<Eigen::Infinity>();
262 void copy(EigenMatrix
const& A, EigenMatrix& B)
268 void scale(EigenMatrix& A,
double const a)
271 A.getRawMatrix() *= a;
275 void aypx(EigenMatrix& Y,
double const a, EigenMatrix
const& X)
278 Y.getRawMatrix() = a * Y.getRawMatrix() + X.getRawMatrix();
282 void axpy(EigenMatrix& Y,
double const a, EigenMatrix
const& X)
285 Y.getRawMatrix() = a * X.getRawMatrix() + Y.getRawMatrix();
291 void matMult(EigenMatrix
const& A, EigenVector
const& x, EigenVector& y)
294 y.getRawVector() = A.getRawMatrix() * x.getRawVector();
298 void matMultAdd(EigenMatrix
const& A, EigenVector
const& v1,
299 EigenVector
const& v2, EigenVector& v3)
304 v2.getRawVector() + A.getRawMatrix() * v1.getRawVector();
309 x.getRawMatrix().makeCompressed();
Declaration of class PETScMatrix, which provides an interface to PETSc matrix routines.
Declaration of class PETScVector, which provides an interface to PETSc vector routines.
Wrapper class for PETSc matrix routines for matrix.
Mat & getRawMatrix()
Get matrix reference.
void finalizeAssembly(const MatAssemblyType asm_type=MAT_FINAL_ASSEMBLY)
Perform MPI collection of assembled entries in buffer.
Wrapper class for PETSc vector.
void finalizeAssembly()
Perform MPI collection of assembled entries in buffer.
void setLocalAccessibleVector() const
void shallowCopy(const PETScVector &v)
PETSc_Vec & getRawVector()
Exposes the underlying PETSc 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)