MADNESS 0.10.1
madness::VectorSpace< T, NDIM > Class Template Reference

A vector space using MADNESS Vectors. More...

#include <gmres.h>

Inheritance diagram for madness::VectorSpace< T, NDIM >:
Collaboration diagram for madness::VectorSpace< T, NDIM >:

Public Types

typedef TensorTypeData< T >::float_scalar_type real_type
typedef T scalar_type

Public Member Functions

 VectorSpace (World &world)
virtual ~VectorSpace ()
virtual Vector< scalar_type, NDIM > & gaxpy (Vector< scalar_type, NDIM > &x, const scalar_type &a, const Vector< scalar_type, NDIM > &y, const scalar_type &b) const
virtual scalar_type inner (const Vector< scalar_type, NDIM > &l, const Vector< scalar_type, NDIM > &r) const
virtual real_type norm (const Vector< scalar_type, NDIM > &vec) const
virtual Vector< scalar_type, NDIM > & scale (Vector< scalar_type, NDIM > &vec, const scalar_type &c) const
Public Member Functions inherited from madness::AbstractVectorSpace< Vector< T, NDIM >, TensorTypeData< T >::float_scalar_type, T >
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 T &a, const T &y, const T &b) const=0
 Standard bilinear gaxpy.
virtual T inner (const T &, const T &) const=0
 The inner product between two vectors.
virtual TensorTypeData< T >::float_scalar_type norm (const T &) const=0
 The norm of a vector.
virtual T & scale (T &, const T &) const=0
 Scales the vector (in-place) by a constant.

Static Protected Attributes

static const bool iscplx = TensorTypeData<T>::iscomplex

Additional Inherited Members

Public Attributes inherited from madness::AbstractVectorSpace< Vector< T, NDIM >, TensorTypeData< T >::float_scalar_type, T >
World & world
 The world.

Detailed Description

template<typename T, int NDIM>
class madness::VectorSpace< T, NDIM >

A vector space using MADNESS Vectors.

Member Typedef Documentation

◆ real_type

template<typename T, int NDIM>
typedef TensorTypeData<T>::float_scalar_type madness::VectorSpace< T, NDIM >::real_type

◆ scalar_type

template<typename T, int NDIM>
typedef T madness::VectorSpace< T, NDIM >::scalar_type

Constructor & Destructor Documentation

◆ VectorSpace()

◆ ~VectorSpace()

template<typename T, int NDIM>
virtual madness::VectorSpace< T, NDIM >::~VectorSpace ( )
inlinevirtual

Member Function Documentation

◆ gaxpy()

template<typename T, int NDIM>
virtual Vector< scalar_type, NDIM > & madness::VectorSpace< T, NDIM >::gaxpy ( Vector< scalar_type, NDIM > & x,
const scalar_type & a,
const Vector< scalar_type, NDIM > & y,
const scalar_type & b ) const
inlinevirtual

References a, b, and NDIM.

◆ inner()

template<typename T, int NDIM>
virtual scalar_type madness::VectorSpace< T, NDIM >::inner ( const Vector< scalar_type, NDIM > & l,
const Vector< scalar_type, NDIM > & r ) const
inlinevirtual

References madness::conj(), iscplx, and NDIM.

◆ norm()

template<typename T, int NDIM>
virtual real_type madness::VectorSpace< T, NDIM >::norm ( const Vector< scalar_type, NDIM > & vec) const
inlinevirtual

◆ scale()

template<typename T, int NDIM>
virtual Vector< scalar_type, NDIM > & madness::VectorSpace< T, NDIM >::scale ( Vector< scalar_type, NDIM > & vec,
const scalar_type & c ) const
inlinevirtual

References c, and madness::vec().

Member Data Documentation

◆ iscplx

template<typename T, int NDIM>
const bool madness::VectorSpace< T, NDIM >::iscplx = TensorTypeData<T>::iscomplex
staticprotected

Referenced by inner(), and norm().


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