MADNESS 0.10.1
|
A generic vector space which provides common operations needed by linear algebra routines (norm, inner product, etc.) More...
#include <gmres.h>
Public Member Functions | |
AbstractVectorSpace (World &world) | |
Make a vector space. | |
virtual | ~AbstractVectorSpace () |
virtual void | destroy (T &) const |
Any special instructions to be executed when a vector is no longer needed. | |
virtual T & | gaxpy (T &x, const scalar_type &a, const T &y, const scalar_type &b) const =0 |
Standard bilinear gaxpy. | |
virtual scalar_type | inner (const T &, const T &) const =0 |
The inner product between two vectors. | |
virtual real_type | norm (const T &) const =0 |
The norm of a vector. | |
virtual T & | scale (T &, const scalar_type &) const =0 |
Scales the vector (in-place) by a constant. | |
Public Attributes | |
World & | world |
The world. | |
Private Member Functions | |
AbstractVectorSpace () | |
Bury the default constructor to prevent its use. | |
A generic vector space which provides common operations needed by linear algebra routines (norm, inner product, etc.)
Most of these routines will presumedly be defined, but the names may not be the same (i.e. madness:Function uses norm2, madness::Tensor uses normf)
T
is the vector typereal_type
the real type used for norms, etc.scalar_type
is the type used for inner products and gaxpy coefficients, etc.When implementing a child class, real_type and scalar_type will probably be obtained from TensorTypeData<T> (see the VectorSpace and FunctionSpace classes below).
|
private |
Bury the default constructor to prevent its use.
|
inline |
Make a vector space.
The World is needed to limit output, and may be needed for spaces working with MADNESS functions.
[in] | world | The world. |
|
inlinevirtual |
|
inlinevirtual |
Any special instructions to be executed when a vector is no longer needed.
Unless otherwise specified, do nothing.
Reimplemented in madness::FunctionSpace< T, NDIM >, and madness::VectorOfFunctionsSpace< T, VDIM, FDIM >.
Referenced by madness::GMRES().
|
pure virtual |
Standard bilinear gaxpy.
Implemented in madness::FunctionSpace< T, NDIM >, madness::VectorOfFunctionsSpace< T, VDIM, FDIM >, and madness::VectorSpace< T, NDIM >.
Referenced by madness::GMRES().
|
pure virtual |
The inner product between two vectors.
Implemented in madness::FunctionSpace< T, NDIM >, madness::VectorOfFunctionsSpace< T, VDIM, FDIM >, and madness::VectorSpace< T, NDIM >.
Referenced by madness::GMRES().
|
pure virtual |
The norm of a vector.
Implemented in madness::FunctionSpace< T, NDIM >, madness::VectorOfFunctionsSpace< T, VDIM, FDIM >, and madness::VectorSpace< T, NDIM >.
Referenced by madness::GMRES().
|
pure virtual |
Scales the vector (in-place) by a constant.
Implemented in madness::FunctionSpace< T, NDIM >, madness::VectorOfFunctionsSpace< T, VDIM, FDIM >, and madness::VectorSpace< T, NDIM >.
Referenced by madness::GMRES().
World& madness::AbstractVectorSpace< T, real_type, scalar_type >::world |
The world.
Referenced by madness::GMRES().