A class used to hold vector operations. More...
#include <VectorOperations.h>

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< VectorOperations > | cloneOperations () 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 |
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.
|
inlinevirtual |
Destructor.
Definition at line 30 of file VectorOperations.h.
|
protected |
|
pure virtual |
Set this to the component-wise absolute value of a vector. \(z_i = |x_i|\).
| [in] | x | a vector |
| [out] | z | Output vector z |
Implemented in AMP::LinearAlgebra::MultiVectorOperations, AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::VectorOperationsDevice< TYPE >, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, AMP::LinearAlgebra::NativeThyraVectorOperations, AMP::LinearAlgebra::NativeThyraVectorOperations, AMP::LinearAlgebra::TpetraVectorOperations< ST, LO, GO, NT >, AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::VectorOperationsDevice< TYPE >, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::MultiVectorOperations, AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, and AMP::LinearAlgebra::NativeThyraVectorOperations.
|
pure virtual |
Adds two vectors. For Vectors, \(\mathit{this}_i = x_i + y_i\).
| [in] | x | Input vector x |
| [in] | y | Input vector y |
| [out] | z | Output vector z |
Implemented in AMP::LinearAlgebra::MultiVectorOperations, AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::VectorOperationsDevice< TYPE >, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, AMP::LinearAlgebra::NativeThyraVectorOperations, AMP::LinearAlgebra::NativeThyraVectorOperations, AMP::LinearAlgebra::TpetraVectorOperations< ST, LO, GO, NT >, AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::VectorOperationsDevice< TYPE >, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::MultiVectorOperations, AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, and AMP::LinearAlgebra::NativeThyraVectorOperations.
|
pure virtual |
set vector to \(x + \alpha \bar{1}\).
for vectors, \(y_i = x_i + \alpha\).
| [in] | x | a vector |
| [in] | alpha | a scalar |
| [out] | y | Output vector y |
Implemented in AMP::LinearAlgebra::MultiVectorOperations, AMP::LinearAlgebra::TpetraVectorOperations< ST, LO, GO, NT >, AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::VectorOperationsDevice< TYPE >, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::MultiVectorOperations, AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >, AMP::LinearAlgebra::VectorOperationsDevice< TYPE >, and AMP::LinearAlgebra::NativePetscVectorOperations.
|
pure virtual |
Set this vector alpha * x + this. \(y_i = \alpha x_i + \beta y_i \).
| [in] | alpha | a scalar |
| [in] | beta | a scalar |
| [in] | x | a vector |
| [in,out] | y | Output vector z |
Implemented in AMP::LinearAlgebra::MultiVectorOperations, AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::VectorOperationsDevice< TYPE >, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, AMP::LinearAlgebra::NativeThyraVectorOperations, AMP::LinearAlgebra::NativeThyraVectorOperations, AMP::LinearAlgebra::TpetraVectorOperations< ST, LO, GO, NT >, AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::VectorOperationsDevice< TYPE >, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::MultiVectorOperations, AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, and AMP::LinearAlgebra::NativeThyraVectorOperations.
|
pure virtual |
Set this vector to alpha * x + y. \(z_i = \alpha x_i + y_i\).
| [in] | alpha | a scalar |
| [in] | x | a vector |
| [in] | y | a vector |
| [out] | z | Output vector z |
Implemented in AMP::LinearAlgebra::MultiVectorOperations, AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::VectorOperationsDevice< TYPE >, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, AMP::LinearAlgebra::NativeThyraVectorOperations, AMP::LinearAlgebra::NativeThyraVectorOperations, AMP::LinearAlgebra::TpetraVectorOperations< ST, LO, GO, NT >, AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::VectorOperationsDevice< TYPE >, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::MultiVectorOperations, AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, and AMP::LinearAlgebra::NativeThyraVectorOperations.
|
pure virtual |
Clone the operations.
Implemented in AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::VectorOperationsDevice< TYPE >, AMP::LinearAlgebra::MultiVectorOperations, AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >, and AMP::LinearAlgebra::TpetraVectorOperations< ST, LO, GO, NT >.
|
pure virtual |
Set vector equal to x For Vectors, \(z_i = x_i\).
| [in] | x | a vector |
| [out] | z | a vector |
Implemented in AMP::LinearAlgebra::MultiVectorOperations, AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::VectorOperationsDevice< TYPE >, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::NativeThyraVectorOperations, and AMP::LinearAlgebra::TpetraVectorOperations< ST, LO, GO, NT >.
|
pure virtual |
Set vector equal to x (with different precision) For Vectors, \(z_i = x_i\).
| [in] | x | a vector |
| [out] | z | a vector |
Implemented in AMP::LinearAlgebra::TpetraVectorOperations< ST, LO, GO, NT >, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::VectorOperationsDevice< TYPE >, AMP::LinearAlgebra::MultiVectorOperations, and AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >.
|
pure virtual |
Component-wise divide one vector by another. For Vectors, \(z_i = x_i / y_i\).
| [in] | x | Input vector x |
| [in] | y | Input vector y |
| [out] | z | Output vector z |
Implemented in AMP::LinearAlgebra::MultiVectorOperations, AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::VectorOperationsDevice< TYPE >, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, AMP::LinearAlgebra::NativeThyraVectorOperations, AMP::LinearAlgebra::NativeThyraVectorOperations, AMP::LinearAlgebra::TpetraVectorOperations< ST, LO, GO, NT >, AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::VectorOperationsDevice< TYPE >, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::MultiVectorOperations, AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, and AMP::LinearAlgebra::NativeThyraVectorOperations.
|
virtual |
Return the dot product of this vector with the argument vector.
Returns
\[\sum_i x_i y_i\]
| [in] | x | a vector |
| [in,out] | y | a vector |
Reimplemented in AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::VectorOperationsDevice< TYPE >, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::MultiVectorOperations, AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, AMP::LinearAlgebra::NativeThyraVectorOperations, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, AMP::LinearAlgebra::NativeThyraVectorOperations, and AMP::LinearAlgebra::TpetraVectorOperations< ST, LO, GO, NT >.
|
virtual |
Check if two vectors are equal.
Returns true if all values are equal within tolerance
| [in] | x | a vector |
| [in] | y | a vector |
| [in] | tol | tolerance to use |
Reimplemented in AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::VectorOperationsDevice< TYPE >, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::MultiVectorOperations, and AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >.
| uint64_t AMP::LinearAlgebra::VectorOperations::getID | ( | ) | const |
Get a unique id hash for the vector.
|
virtual |
Return discrete \( L_1 \) -norm of this vector.
Returns
\[\sum_i |x_i|\]
| [in] | x | a vector |
Reimplemented in AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, AMP::LinearAlgebra::NativeThyraVectorOperations, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, AMP::LinearAlgebra::NativeThyraVectorOperations, and AMP::LinearAlgebra::TpetraVectorOperations< ST, LO, GO, NT >.
|
virtual |
Return discrete \( L_2 \) -norm of this vector.
Returns
\[\sqrt{\sum_i x_i^2}\]
| [in] | x | a vector |
Reimplemented in AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, AMP::LinearAlgebra::NativeThyraVectorOperations, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, AMP::LinearAlgebra::NativeThyraVectorOperations, and AMP::LinearAlgebra::TpetraVectorOperations< ST, LO, GO, NT >.
|
pure virtual |
Set a vector to be a linear combination of two vectors. \(z_i = \alpha x_i + \beta y_i\).
| [in] | alpha | a scalar |
| [in] | x | a vector |
| [in] | beta | a scalar |
| [in] | y | a vector |
| [out] | z | Output vector z |
Implemented in AMP::LinearAlgebra::MultiVectorOperations, AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::VectorOperationsDevice< TYPE >, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, AMP::LinearAlgebra::NativeThyraVectorOperations, AMP::LinearAlgebra::NativeThyraVectorOperations, AMP::LinearAlgebra::TpetraVectorOperations< ST, LO, GO, NT >, AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::VectorOperationsDevice< TYPE >, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::MultiVectorOperations, AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, and AMP::LinearAlgebra::NativeThyraVectorOperations.
|
pure virtual |
Return the local dot product of this vector with the argument vector.
Returns
\[\sum_i x_i y_i\]
| [in] | x | a vector |
| [in] | y | a vector |
Implemented in AMP::LinearAlgebra::TpetraVectorOperations< ST, LO, GO, NT >, AMP::LinearAlgebra::MultiVectorOperations, AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::VectorOperationsDevice< TYPE >, AMP::LinearAlgebra::NativePetscVectorOperations, and AMP::LinearAlgebra::EpetraVectorOperations.
|
pure virtual |
Determine if the local portion of two vectors are equal using an absolute tolerance.
| [in] | x | a vector |
| [in] | y | a vector |
| [in] | tol | Tolerance of comparison |
Implemented in AMP::LinearAlgebra::TpetraVectorOperations< ST, LO, GO, NT >, AMP::LinearAlgebra::MultiVectorOperations, AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, and AMP::LinearAlgebra::VectorOperationsDevice< TYPE >.
|
pure virtual |
Return local discrete \( L_1 \) -norm of this vector.
Returns
\[\sum_i |x_i|\]
| [in] | x | a vector |
Implemented in AMP::LinearAlgebra::TpetraVectorOperations< ST, LO, GO, NT >, AMP::LinearAlgebra::VectorOperationsDevice< TYPE >, AMP::LinearAlgebra::MultiVectorOperations, AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::EpetraVectorOperations, AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, and AMP::LinearAlgebra::VectorOperationsDefault< TYPE >.
|
pure virtual |
Return local discrete \( L_2 \) -norm of this vector.
Returns
\[\sqrt{\sum_i x_i^2}\]
| [in] | x | a vector |
Implemented in AMP::LinearAlgebra::TpetraVectorOperations< ST, LO, GO, NT >, AMP::LinearAlgebra::VectorOperationsDevice< TYPE >, AMP::LinearAlgebra::MultiVectorOperations, AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::EpetraVectorOperations, AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, and AMP::LinearAlgebra::VectorOperationsDefault< TYPE >.
|
pure virtual |
Return the local maximum value of the vector. \(\max_i x_i\).
| [in] | x | a vector |
Implemented in AMP::LinearAlgebra::TpetraVectorOperations< ST, LO, GO, NT >, AMP::LinearAlgebra::VectorOperationsDevice< TYPE >, AMP::LinearAlgebra::MultiVectorOperations, AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, and AMP::LinearAlgebra::EpetraVectorOperations.
|
pure virtual |
Return the local \( L_\infty \) -norm of this vector.
Returns
\[\max_i |x_i|\]
| [in] | x | a vector |
Implemented in AMP::LinearAlgebra::TpetraVectorOperations< ST, LO, GO, NT >, AMP::LinearAlgebra::VectorOperationsDevice< TYPE >, AMP::LinearAlgebra::MultiVectorOperations, AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::EpetraVectorOperations, AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, and AMP::LinearAlgebra::VectorOperationsDefault< TYPE >.
|
pure virtual |
Return the local minimum value of the vector. \(\min_i x_i\).
| [in] | x | a vector |
Implemented in AMP::LinearAlgebra::TpetraVectorOperations< ST, LO, GO, NT >, AMP::LinearAlgebra::VectorOperationsDevice< TYPE >, AMP::LinearAlgebra::MultiVectorOperations, AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, and AMP::LinearAlgebra::EpetraVectorOperations.
|
pure virtual |
Returns the local minimum of the quotient of two vectors:
\[\min_{i,y_i\neq0} x_i/y_i\]
| [in] | x | a vector |
| [in] | y | a vector |
\[\min_{i,y_i\neq0} x_i/y_i\]
Implemented in AMP::LinearAlgebra::TpetraVectorOperations< ST, LO, GO, NT >, AMP::LinearAlgebra::MultiVectorOperations, AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, and AMP::LinearAlgebra::VectorOperationsDevice< TYPE >.
|
pure virtual |
Return the local sum of the vector.
Implemented in AMP::LinearAlgebra::TpetraVectorOperations< ST, LO, GO, NT >, AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::VectorOperationsDevice< TYPE >, AMP::LinearAlgebra::MultiVectorOperations, and AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >.
|
pure virtual |
Return a weighted norm of a vector.
| [in] | x | a vector |
| [in] | y | a vector |
\[\sqrt{\frac{\displaystyle \sum_i x^2_i y^2_i}{n}}\]
Implemented in AMP::LinearAlgebra::TpetraVectorOperations< ST, LO, GO, NT >, AMP::LinearAlgebra::MultiVectorOperations, AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, and AMP::LinearAlgebra::VectorOperationsDevice< TYPE >.
|
pure virtual |
Return a weighted norm of a subset of a vector.
| [in] | x | a vector |
| [in] | y | a vector |
| [in] | mask | a vector |
\[\sqrt{\frac{\displaystyle \sum_{i,\mathit{mask}_i>0} y^2_iy^2_i}{n}}\]
Implemented in AMP::LinearAlgebra::TpetraVectorOperations< ST, LO, GO, NT >, AMP::LinearAlgebra::MultiVectorOperations, AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, and AMP::LinearAlgebra::VectorOperationsDevice< TYPE >.
|
virtual |
Return the maximum value of the vector. \(\max_i x_i\).
| [in] | x | a vector |
Reimplemented in AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, AMP::LinearAlgebra::NativeThyraVectorOperations, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, AMP::LinearAlgebra::NativeThyraVectorOperations, and AMP::LinearAlgebra::TpetraVectorOperations< ST, LO, GO, NT >.
|
virtual |
Return the \( L_\infty \) -norm of this vector.
Returns
\[\max_i |x_i|\]
| [in] | x | a vector |
Reimplemented in AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, AMP::LinearAlgebra::NativeThyraVectorOperations, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, AMP::LinearAlgebra::NativeThyraVectorOperations, and AMP::LinearAlgebra::TpetraVectorOperations< ST, LO, GO, NT >.
| Scalar AMP::LinearAlgebra::VectorOperations::mean | ( | const VectorData & | x | ) | const |
Return the mean of the values of the vector.
| [in] | x | a vector |
|
virtual |
Return the minimum value of the vector. \(\min_i x_i\).
| [in] | x | a vector |
Reimplemented in AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, AMP::LinearAlgebra::NativeThyraVectorOperations, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, AMP::LinearAlgebra::NativeThyraVectorOperations, and AMP::LinearAlgebra::TpetraVectorOperations< ST, LO, GO, NT >.
|
virtual |
Returns the minimum of the quotient of two vectors:
\[\min_{i,y_i\neq0} x_i/x_i\]
| [in] | x | a vector |
| [in] | y | a vector |
\[\min_{i,y_i\neq0} x_i/y_i\]
Reimplemented in AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::VectorOperationsDevice< TYPE >, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::MultiVectorOperations, AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, and AMP::LinearAlgebra::NativeThyraVectorOperations.
|
pure virtual |
Component-wise multiply one vector with another. For Vectors, \(z_i = x_i y_i\).
| [in] | x | Input vector x |
| [in] | y | Input vector y |
| [out] | z | Output vector z |
Implemented in AMP::LinearAlgebra::MultiVectorOperations, AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::VectorOperationsDevice< TYPE >, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, AMP::LinearAlgebra::NativeThyraVectorOperations, AMP::LinearAlgebra::NativeThyraVectorOperations, AMP::LinearAlgebra::TpetraVectorOperations< ST, LO, GO, NT >, AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::VectorOperationsDevice< TYPE >, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::MultiVectorOperations, AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, and AMP::LinearAlgebra::NativeThyraVectorOperations.
|
pure virtual |
Set this to the component-wise reciprocal of a vector. \(y_i = 1/x_i\).
| x | a vector |
| y | a vector |
Implemented in AMP::LinearAlgebra::MultiVectorOperations, AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::VectorOperationsDevice< TYPE >, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, AMP::LinearAlgebra::NativeThyraVectorOperations, AMP::LinearAlgebra::NativeThyraVectorOperations, AMP::LinearAlgebra::TpetraVectorOperations< ST, LO, GO, NT >, AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::VectorOperationsDevice< TYPE >, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::MultiVectorOperations, AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, and AMP::LinearAlgebra::NativeThyraVectorOperations.
|
virtual |
Register any child objects.
This function will register child objects with the manager
| manager | Restart manager |
Reimplemented in AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, and AMP::LinearAlgebra::MultiVectorOperations.
|
pure virtual |
Set vector equal to scaled input. For Vectors, \(y_i = \alpha x_i\).
| [in] | alpha | a scalar |
| [in] | x | a vector |
| [out] | y | a vector |
Implemented in AMP::LinearAlgebra::MultiVectorOperations, AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::VectorOperationsDevice< TYPE >, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, AMP::LinearAlgebra::NativeThyraVectorOperations, AMP::LinearAlgebra::NativeThyraVectorOperations, AMP::LinearAlgebra::TpetraVectorOperations< ST, LO, GO, NT >, AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::VectorOperationsDevice< TYPE >, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::MultiVectorOperations, AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, and AMP::LinearAlgebra::NativeThyraVectorOperations.
|
pure virtual |
Scale a vector. For Vectors, \(x_i = \alpha x_i\).
| [in] | alpha | a scalar |
| [in,out] | x | a vector |
Implemented in AMP::LinearAlgebra::MultiVectorOperations, AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::VectorOperationsDevice< TYPE >, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, AMP::LinearAlgebra::NativeThyraVectorOperations, AMP::LinearAlgebra::NativeThyraVectorOperations, AMP::LinearAlgebra::TpetraVectorOperations< ST, LO, GO, NT >, AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::VectorOperationsDevice< TYPE >, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::MultiVectorOperations, AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, and AMP::LinearAlgebra::NativeThyraVectorOperations.
|
pure virtual |
modify vector to set \(x_i = max(x_i, val)\).
| [in] | x | a vector |
| [in] | val | a scalar |
Implemented in AMP::LinearAlgebra::TpetraVectorOperations< ST, LO, GO, NT >, AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::VectorOperationsDevice< TYPE >, AMP::LinearAlgebra::MultiVectorOperations, AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::MultiVectorOperations, and AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >.
|
pure virtual |
modify vector to set \(x_i = min(x_i, val)\).
| [in] | x | a vector |
| [in] | val | a scalar |
Implemented in AMP::LinearAlgebra::TpetraVectorOperations< ST, LO, GO, NT >, AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::VectorOperationsDevice< TYPE >, AMP::LinearAlgebra::MultiVectorOperations, AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::MultiVectorOperations, and AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >.
|
pure virtual |
Set data in this vector to random values.
| [out] | x | a vector |
Implemented in AMP::LinearAlgebra::MultiVectorOperations, AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::VectorOperationsDevice< TYPE >, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, AMP::LinearAlgebra::NativeThyraVectorOperations, AMP::LinearAlgebra::NativeThyraVectorOperations, AMP::LinearAlgebra::TpetraVectorOperations< ST, LO, GO, NT >, AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::VectorOperationsDevice< TYPE >, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::MultiVectorOperations, AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, and AMP::LinearAlgebra::NativeThyraVectorOperations.
|
pure virtual |
Set all compenents of a vector to a scalar. For Vectors, the components of z are set to \(\alpha\).
| [in] | alpha | scalar value |
| [out] | z | a vector |
Implemented in AMP::LinearAlgebra::MultiVectorOperations, AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::VectorOperationsDevice< TYPE >, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, AMP::LinearAlgebra::NativeThyraVectorOperations, and AMP::LinearAlgebra::TpetraVectorOperations< ST, LO, GO, NT >.
|
pure virtual |
Subtracts one vector from another. For Vectors, \(z_i = x_i - y_i\).
| [in] | x | Input vector x |
| [in] | y | Input vector y |
| [out] | z | Output vector z |
Implemented in AMP::LinearAlgebra::MultiVectorOperations, AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::VectorOperationsDevice< TYPE >, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, AMP::LinearAlgebra::NativeThyraVectorOperations, AMP::LinearAlgebra::NativeThyraVectorOperations, AMP::LinearAlgebra::TpetraVectorOperations< ST, LO, GO, NT >, AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::VectorOperationsDevice< TYPE >, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::MultiVectorOperations, AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, and AMP::LinearAlgebra::NativeThyraVectorOperations.
|
virtual |
Return the sum of the values of the vector.
| [in] | x | a vector |
|
pure virtual |
Get the type name.
Implemented in AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::VectorOperationsDevice< TYPE >, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::MultiVectorOperations, AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >, and AMP::LinearAlgebra::TpetraVectorOperations< ST, LO, GO, NT >.
|
virtual |
Write restart data to file.
This function will write the mesh to an HDF5 file
| fid | File identifier to write |
Reimplemented in AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, and AMP::LinearAlgebra::MultiVectorOperations.
|
virtual |
Return a weighted norm of a vector.
| [in] | x | a vector |
| [in] | y | a vector |
\[\sqrt{\frac{\displaystyle \sum_i x^2_iy^2_i}{n}}\]
Reimplemented in AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::VectorOperationsDevice< TYPE >, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::MultiVectorOperations, AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, and AMP::LinearAlgebra::NativeThyraVectorOperations.
|
virtual |
Return a weighted norm of a subset of a vector.
| [in] | x | a vector |
| [in] | y | a vector |
| [in] | mask | a vector |
\[\sqrt{\frac{\displaystyle \sum_{i,\mathit{mask}_i>0} x^2_iy^2_i}{n}}\]
Reimplemented in AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::VectorOperationsDevice< TYPE >, AMP::LinearAlgebra::ManagedVectorOperations, AMP::LinearAlgebra::MultiVectorOperations, AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::EpetraVectorOperations, and AMP::LinearAlgebra::NativeThyraVectorOperations.
|
pure virtual |
Set vector entries (including ghosts) to zero.
This is equivalent (but more efficient) to calling setToScalar ( 0.0 ) followed by a makeConsistent(SET)
Implemented in AMP::LinearAlgebra::MultiVectorOperations, AMP::LinearAlgebra::VectorOperationsOpenMP< TYPE >, AMP::LinearAlgebra::NativePetscVectorOperations, AMP::LinearAlgebra::TpetraVectorOperations< ST, LO, GO, NT >, AMP::LinearAlgebra::VectorOperationsDefault< TYPE >, AMP::LinearAlgebra::VectorOperationsDefault< double >, AMP::LinearAlgebra::VectorOperationsDefault< PetscScalar >, AMP::LinearAlgebra::VectorOperationsDevice< TYPE >, and AMP::LinearAlgebra::ManagedVectorOperations.
|
protected |
Definition at line 399 of file VectorOperations.h.
|
Advanced Multi-Physics (AMP) Oak Ridge National Laboratory Idaho National Laboratory Los Alamos National Laboratory |
This page automatically produced from the source code by Last updated: Tue Mar 10 2026 13:06:43. Comments on this page |