Advanced Multi-Physics (AMP)
On-Line Documentation
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
AMP::LinearAlgebra::VectorOperations Class Referenceabstract

A class used to hold vector operations. More...

#include <VectorOperations.h>

Inheritance diagram for AMP::LinearAlgebra::VectorOperations:
Inheritance graph
[legend]

Public Member Functions

virtual void abs (const VectorData &x, VectorData &z)=0
 Set this to the component-wise absolute value of a vector. \(z_i = |x_i|\).
 
virtual void add (const VectorData &x, const VectorData &y, VectorData &z)=0
 Adds two vectors. For Vectors, \(\mathit{this}_i = x_i + y_i\).
 
virtual void addScalar (const VectorData &x, const Scalar &alpha, VectorData &y)=0
 set vector to \(x + \alpha \bar{1}\).
 
virtual void axpby (const Scalar &alpha, const Scalar &beta, const VectorData &x, VectorData &y)=0
 Set this vector alpha * x + this. \(y_i = \alpha x_i + \beta y_i \).
 
virtual void axpy (const Scalar &alpha, const VectorData &x, const VectorData &y, VectorData &z)=0
 Set this vector to alpha * x + y. \(z_i = \alpha x_i + y_i\).
 
virtual std::shared_ptr< VectorOperationscloneOperations () const =0
 Clone the operations.
 
virtual void copy (const VectorData &x, VectorData &z)=0
 Set vector equal to x For Vectors, \(z_i = x_i\).
 
virtual void copyCast (const VectorData &x, VectorData &z)=0
 Set vector equal to x (with different precision) For Vectors, \(z_i = x_i\).
 
virtual void divide (const VectorData &x, const VectorData &y, VectorData &z)=0
 Component-wise divide one vector by another. For Vectors, \(z_i = x_i / y_i\).
 
virtual Scalar dot (const VectorData &x, const VectorData &y) const
 Return the dot product of this vector with the argument vector.
 
virtual bool equals (const VectorData &x, const VectorData &y, const Scalar &tol) const
 Check if two vectors are equal.
 
uint64_t getID () const
 Get a unique id hash for the vector.
 
virtual Scalar L1Norm (const VectorData &x) const
 Return discrete \( L_1 \) -norm of this vector.
 
virtual Scalar L2Norm (const VectorData &x) const
 Return discrete \( L_2 \) -norm of this vector.
 
virtual void linearSum (const Scalar &alpha, const VectorData &x, const Scalar &beta, const VectorData &y, VectorData &z)=0
 Set a vector to be a linear combination of two vectors. \(z_i = \alpha x_i + \beta y_i\).
 
virtual Scalar localDot (const VectorData &x, const VectorData &y) const =0
 Return the local dot product of this vector with the argument vector.
 
virtual bool localEquals (const VectorData &x, const VectorData &y, const Scalar &tol=1e-6) const =0
 Determine if the local portion of two vectors are equal using an absolute tolerance.
 
virtual Scalar localL1Norm (const VectorData &x) const =0
 Return local discrete \( L_1 \) -norm of this vector.
 
virtual Scalar localL2Norm (const VectorData &x) const =0
 Return local discrete \( L_2 \) -norm of this vector.
 
virtual Scalar localMax (const VectorData &x) const =0
 Return the local maximum value of the vector. \(\max_i x_i\).
 
virtual Scalar localMaxNorm (const VectorData &x) const =0
 Return the local \( L_\infty \) -norm of this vector.
 
virtual Scalar localMin (const VectorData &x) const =0
 Return the local minimum value of the vector. \(\min_i x_i\).
 
virtual Scalar localMinQuotient (const VectorData &x, const VectorData &y) const =0
 Returns the local minimum of the quotient of two vectors:
 
virtual Scalar localSum (const VectorData &x) const =0
 Return the local sum of the vector.
 
virtual Scalar localWrmsNorm (const VectorData &x, const VectorData &y) const =0
 Return a weighted norm of a vector.
 
virtual Scalar localWrmsNormMask (const VectorData &x, const VectorData &mask, const VectorData &y) const =0
 Return a weighted norm of a subset of a vector.
 
virtual Scalar max (const VectorData &x) const
 Return the maximum value of the vector. \(\max_i x_i\).
 
virtual Scalar maxNorm (const VectorData &x) const
 Return the \( L_\infty \) -norm of this vector.
 
Scalar mean (const VectorData &x) const
 Return the mean of the values of the vector.
 
virtual Scalar min (const VectorData &x) const
 Return the minimum value of the vector. \(\min_i x_i\).
 
virtual Scalar minQuotient (const VectorData &x, const VectorData &y) const
 Returns the minimum of the quotient of two vectors:
 
virtual void multiply (const VectorData &x, const VectorData &y, VectorData &z)=0
 Component-wise multiply one vector with another. For Vectors, \(z_i = x_i y_i\).
 
virtual void reciprocal (const VectorData &x, VectorData &y)=0
 Set this to the component-wise reciprocal of a vector. \(y_i = 1/x_i\).
 
virtual void registerChildObjects (AMP::IO::RestartManager *manager) const
 Register any child objects.
 
virtual void scale (const Scalar &alpha, const VectorData &x, VectorData &y)=0
 Set vector equal to scaled input. For Vectors, \(y_i = \alpha x_i\).
 
virtual void scale (const Scalar &alpha, VectorData &x)=0
 Scale a vector. For Vectors, \(x_i = \alpha x_i\).
 
virtual void setMax (const Scalar &val, VectorData &x)=0
 modify vector to set \(x_i = max(x_i, val)\).
 
virtual void setMin (const Scalar &val, VectorData &x)=0
 modify vector to set \(x_i = min(x_i, val)\).
 
virtual void setRandomValues (VectorData &x)=0
 Set data in this vector to random values.
 
virtual void setToScalar (const Scalar &alpha, VectorData &z)=0
 Set all compenents of a vector to a scalar. For Vectors, the components of z are set to \(\alpha\).
 
virtual void subtract (const VectorData &x, const VectorData &y, VectorData &z)=0
 Subtracts one vector from another. For Vectors, \(z_i = x_i - y_i\).
 
virtual Scalar sum (const VectorData &x) const
 Return the sum of the values of the vector.
 
virtual std::string VectorOpName () const =0
 Get the type name.
 
virtual void writeRestart (int64_t fid) const
 Write restart data to file.
 
virtual Scalar wrmsNorm (const VectorData &x, const VectorData &y) const
 Return a weighted norm of a vector.
 
virtual Scalar wrmsNormMask (const VectorData &x, const VectorData &mask, const VectorData &y) const
 Return a weighted norm of a subset of a vector.
 
virtual void zero (VectorData &x)=0
 Set vector entries (including ghosts) to zero.
 
virtual ~VectorOperations ()
 Destructor.
 

Protected Member Functions

 VectorOperations ()
 

Protected Attributes

uint64_t d_hash = 0
 

Detailed Description

A class used to hold vector operations.

VectorOperations is a class used to perform vector operations such as dot product, norms, etc.

Definition at line 26 of file VectorOperations.h.

Constructor & Destructor Documentation

◆ ~VectorOperations()

virtual AMP::LinearAlgebra::VectorOperations::~VectorOperations ( )
inlinevirtual

Destructor.

Definition at line 30 of file VectorOperations.h.

◆ VectorOperations()

AMP::LinearAlgebra::VectorOperations::VectorOperations ( )
protected

Member Function Documentation

◆ abs()

virtual void AMP::LinearAlgebra::VectorOperations::abs ( const VectorData x,
VectorData z 
)
pure virtual

◆ add()

virtual void AMP::LinearAlgebra::VectorOperations::add ( const VectorData x,
const VectorData y,
VectorData z 
)
pure virtual

◆ addScalar()

virtual void AMP::LinearAlgebra::VectorOperations::addScalar ( const VectorData x,
const Scalar alpha,
VectorData y 
)
pure virtual

◆ axpby()

virtual void AMP::LinearAlgebra::VectorOperations::axpby ( const Scalar alpha,
const Scalar beta,
const VectorData x,
VectorData y 
)
pure virtual

◆ axpy()

virtual void AMP::LinearAlgebra::VectorOperations::axpy ( const Scalar alpha,
const VectorData x,
const VectorData y,
VectorData z 
)
pure virtual

◆ cloneOperations()

virtual std::shared_ptr< VectorOperations > AMP::LinearAlgebra::VectorOperations::cloneOperations ( ) const
pure virtual

◆ copy()

virtual void AMP::LinearAlgebra::VectorOperations::copy ( const VectorData x,
VectorData z 
)
pure virtual

◆ copyCast()

virtual void AMP::LinearAlgebra::VectorOperations::copyCast ( const VectorData x,
VectorData z 
)
pure virtual

◆ divide()

virtual void AMP::LinearAlgebra::VectorOperations::divide ( const VectorData x,
const VectorData y,
VectorData z 
)
pure virtual

◆ dot()

virtual Scalar AMP::LinearAlgebra::VectorOperations::dot ( const VectorData x,
const VectorData y 
) const
virtual

◆ equals()

virtual bool AMP::LinearAlgebra::VectorOperations::equals ( const VectorData x,
const VectorData y,
const Scalar tol 
) const
virtual

◆ getID()

uint64_t AMP::LinearAlgebra::VectorOperations::getID ( ) const

Get a unique id hash for the vector.

◆ L1Norm()

virtual Scalar AMP::LinearAlgebra::VectorOperations::L1Norm ( const VectorData x) const
virtual

◆ L2Norm()

virtual Scalar AMP::LinearAlgebra::VectorOperations::L2Norm ( const VectorData x) const
virtual

◆ linearSum()

virtual void AMP::LinearAlgebra::VectorOperations::linearSum ( const Scalar alpha,
const VectorData x,
const Scalar beta,
const VectorData y,
VectorData z 
)
pure virtual

◆ localDot()

virtual Scalar AMP::LinearAlgebra::VectorOperations::localDot ( const VectorData x,
const VectorData y 
) const
pure virtual

◆ localEquals()

virtual bool AMP::LinearAlgebra::VectorOperations::localEquals ( const VectorData x,
const VectorData y,
const Scalar tol = 1e-6 
) const
pure virtual

◆ localL1Norm()

virtual Scalar AMP::LinearAlgebra::VectorOperations::localL1Norm ( const VectorData x) const
pure virtual

◆ localL2Norm()

virtual Scalar AMP::LinearAlgebra::VectorOperations::localL2Norm ( const VectorData x) const
pure virtual

◆ localMax()

virtual Scalar AMP::LinearAlgebra::VectorOperations::localMax ( const VectorData x) const
pure virtual

◆ localMaxNorm()

virtual Scalar AMP::LinearAlgebra::VectorOperations::localMaxNorm ( const VectorData x) const
pure virtual

◆ localMin()

virtual Scalar AMP::LinearAlgebra::VectorOperations::localMin ( const VectorData x) const
pure virtual

◆ localMinQuotient()

virtual Scalar AMP::LinearAlgebra::VectorOperations::localMinQuotient ( const VectorData x,
const VectorData y 
) const
pure virtual

◆ localSum()

virtual Scalar AMP::LinearAlgebra::VectorOperations::localSum ( const VectorData x) const
pure virtual

◆ localWrmsNorm()

virtual Scalar AMP::LinearAlgebra::VectorOperations::localWrmsNorm ( const VectorData x,
const VectorData y 
) const
pure virtual

◆ localWrmsNormMask()

virtual Scalar AMP::LinearAlgebra::VectorOperations::localWrmsNormMask ( const VectorData x,
const VectorData mask,
const VectorData y 
) const
pure virtual

◆ max()

virtual Scalar AMP::LinearAlgebra::VectorOperations::max ( const VectorData x) const
virtual

◆ maxNorm()

virtual Scalar AMP::LinearAlgebra::VectorOperations::maxNorm ( const VectorData x) const
virtual

◆ mean()

Scalar AMP::LinearAlgebra::VectorOperations::mean ( const VectorData x) const

Return the mean of the values of the vector.

Parameters
[in]xa vector

◆ min()

virtual Scalar AMP::LinearAlgebra::VectorOperations::min ( const VectorData x) const
virtual

◆ minQuotient()

virtual Scalar AMP::LinearAlgebra::VectorOperations::minQuotient ( const VectorData x,
const VectorData y 
) const
virtual

◆ multiply()

virtual void AMP::LinearAlgebra::VectorOperations::multiply ( const VectorData x,
const VectorData y,
VectorData z 
)
pure virtual

◆ reciprocal()

virtual void AMP::LinearAlgebra::VectorOperations::reciprocal ( const VectorData x,
VectorData y 
)
pure virtual

◆ registerChildObjects()

virtual void AMP::LinearAlgebra::VectorOperations::registerChildObjects ( AMP::IO::RestartManager manager) const
virtual

Register any child objects.

This function will register child objects with the manager

Parameters
managerRestart manager

Reimplemented in AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, and AMP::LinearAlgebra::MultiVectorOperations.

◆ scale() [1/2]

virtual void AMP::LinearAlgebra::VectorOperations::scale ( const Scalar alpha,
const VectorData x,
VectorData y 
)
pure virtual

◆ scale() [2/2]

virtual void AMP::LinearAlgebra::VectorOperations::scale ( const Scalar alpha,
VectorData x 
)
pure virtual

◆ setMax()

virtual void AMP::LinearAlgebra::VectorOperations::setMax ( const Scalar val,
VectorData x 
)
pure virtual

◆ setMin()

virtual void AMP::LinearAlgebra::VectorOperations::setMin ( const Scalar val,
VectorData x 
)
pure virtual

◆ setRandomValues()

virtual void AMP::LinearAlgebra::VectorOperations::setRandomValues ( VectorData x)
pure virtual

◆ setToScalar()

virtual void AMP::LinearAlgebra::VectorOperations::setToScalar ( const Scalar alpha,
VectorData z 
)
pure virtual

◆ subtract()

virtual void AMP::LinearAlgebra::VectorOperations::subtract ( const VectorData x,
const VectorData y,
VectorData z 
)
pure virtual

◆ sum()

virtual Scalar AMP::LinearAlgebra::VectorOperations::sum ( const VectorData x) const
virtual

Return the sum of the values of the vector.

Parameters
[in]xa vector

◆ VectorOpName()

virtual std::string AMP::LinearAlgebra::VectorOperations::VectorOpName ( ) const
pure virtual

◆ writeRestart()

virtual void AMP::LinearAlgebra::VectorOperations::writeRestart ( int64_t  fid) const
virtual

Write restart data to file.

This function will write the mesh to an HDF5 file

Parameters
fidFile identifier to write

Reimplemented in AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, and AMP::LinearAlgebra::MultiVectorOperations.

◆ wrmsNorm()

virtual Scalar AMP::LinearAlgebra::VectorOperations::wrmsNorm ( const VectorData x,
const VectorData y 
) const
virtual

◆ wrmsNormMask()

virtual Scalar AMP::LinearAlgebra::VectorOperations::wrmsNormMask ( const VectorData x,
const VectorData mask,
const VectorData y 
) const
virtual

◆ zero()

virtual void AMP::LinearAlgebra::VectorOperations::zero ( VectorData x)
pure virtual

Member Data Documentation

◆ d_hash

uint64_t AMP::LinearAlgebra::VectorOperations::d_hash = 0
protected

Definition at line 399 of file VectorOperations.h.


The documentation for this class was generated from the following file:



Advanced Multi-Physics (AMP)
Oak Ridge National Laboratory
Idaho National Laboratory
Los Alamos National Laboratory
This page automatically produced from the
source code by doxygen
Last updated: Tue Mar 10 2026 13:06:43.
Comments on this page