OGS
|
Definition in file LinAlg.h.
#include <cassert>
#include "BaseLib/Error.h"
#include "LinAlgEnums.h"
#include <petscsystypes.h>
#include "PETSc/PETScVector.h"
Go to the source code of this file.
Namespaces | |
namespace | MathLib |
namespace | MathLib::LinAlg |
Functions | |
template<typename MatrixOrVector > | |
void | MathLib::LinAlg::copy (MatrixOrVector const &x, MatrixOrVector &y) |
Copies x to y . | |
template<typename MatrixOrVector > | |
void | MathLib::LinAlg::scale (MatrixOrVector &x, double const a) |
Scales x by a . | |
template<typename MatrixOrVector > | |
void | MathLib::LinAlg::aypx (MatrixOrVector &y, double const a, MatrixOrVector const &x) |
Computes \( y = a \cdot y + x \). | |
template<typename MatrixOrVector > | |
void | MathLib::LinAlg::axpy (MatrixOrVector &y, double const a, MatrixOrVector const &x) |
Computes \( y = a \cdot x + y \). | |
template<typename MatrixOrVector > | |
void | MathLib::LinAlg::axpby (MatrixOrVector &y, double const a, double const b, MatrixOrVector const &x) |
Computes \( y = a \cdot x + b \cdot y \). | |
template<typename MatrixOrVector > | |
void | MathLib::LinAlg::componentwiseDivide (MatrixOrVector &w, MatrixOrVector const &x, MatrixOrVector const &y) |
Computes \(w = x/y\) componentwise. | |
template<typename MatrixOrVector > | |
double | MathLib::LinAlg::norm1 (MatrixOrVector const &x) |
Computes the Manhattan norm of x . | |
template<typename MatrixOrVector > | |
double | MathLib::LinAlg::norm2 (MatrixOrVector const &x) |
Computes the Euclidean norm of x . | |
template<typename MatrixOrVector > | |
double | MathLib::LinAlg::normMax (MatrixOrVector const &x) |
Computes the maximum norm of x . | |
template<typename MatrixOrVector > | |
double | MathLib::LinAlg::norm (MatrixOrVector const &x, MathLib::VecNormType type) |
template<typename Matrix > | |
void | MathLib::LinAlg::finalizeAssembly (Matrix &) |
template<typename Matrix , typename Vector > | |
void | MathLib::LinAlg::matMult (Matrix const &A, Vector const &x, Vector &y) |
template<typename Matrix , typename Vector > | |
void | MathLib::LinAlg::matMultAdd (Matrix const &A, Vector const &v1, Vector const &v2, Vector &v3) |
void | MathLib::LinAlg::setLocalAccessibleVector (PETScVector const &x) |
void | MathLib::LinAlg::set (PETScVector &x, PetscScalar const a) |
void | MathLib::LinAlg::copy (PETScVector const &x, PETScVector &y) |
void | MathLib::LinAlg::scale (PETScVector &x, PetscScalar const a) |
void | MathLib::LinAlg::aypx (PETScVector &y, PetscScalar const a, PETScVector const &x) |
void | MathLib::LinAlg::axpy (PETScVector &y, PetscScalar const a, PETScVector const &x) |
void | MathLib::LinAlg::axpby (PETScVector &y, PetscScalar const a, PetscScalar const b, PETScVector const &x) |
void | MathLib::LinAlg::copy (PETScMatrix const &A, PETScMatrix &B) |
void | MathLib::LinAlg::scale (PETScMatrix &A, PetscScalar const a) |
void | MathLib::LinAlg::aypx (PETScMatrix &Y, PetscScalar const a, PETScMatrix const &X) |
void | MathLib::LinAlg::axpy (PETScMatrix &Y, PetscScalar const a, PETScMatrix const &X) |
void | MathLib::LinAlg::matMult (PETScMatrix const &A, PETScVector const &x, PETScVector &y) |
void | MathLib::LinAlg::matMultAdd (PETScMatrix const &A, PETScVector const &v1, PETScVector const &v2, PETScVector &v3) |
void | MathLib::LinAlg::linearSysNormalize (PETScMatrix const &, PETScMatrix &, PETScVector const &, PETScVector &) |
void | MathLib::LinAlg::finalizeAssembly (PETScMatrix &A) |
void | MathLib::LinAlg::finalizeAssembly (PETScVector &x) |
template<typename VectorType > | |
double | MathLib::LinAlg::computeRelativeNorm (VectorType const &x, VectorType const &y, MathLib::VecNormType norm_type) |