MADNESS 0.10.1
Public Types | Public Member Functions | Static Protected Attributes | List of all members
madness::VectorSpace< T, NDIM > Class Template Reference

A vector space using MADNESS Vectors. More...

#include <gmres.h>

Inheritance diagram for madness::VectorSpace< T, NDIM >:
Inheritance graph
[legend]
Collaboration diagram for madness::VectorSpace< T, NDIM >:
Collaboration graph
[legend]

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
 Standard bilinear gaxpy.
 
virtual scalar_type inner (const Vector< scalar_type, NDIM > &l, const Vector< scalar_type, NDIM > &r) const
 The inner product between two vectors.
 
virtual real_type norm (const Vector< scalar_type, NDIM > &vec) const
 The norm of a vector.
 
virtual Vector< scalar_type, NDIM > & scale (Vector< scalar_type, NDIM > &vec, const scalar_type &c) const
 Scales the vector (in-place) by a constant.
 
- Public Member Functions inherited from madness::AbstractVectorSpace< Vector< T, NDIM >, TensorTypeData< T >::float_scalar_type, T >
 AbstractVectorSpace (World &world)
 Make a vector space.
 
virtual ~AbstractVectorSpace ()
 
virtual void destroy (Vector< T, NDIM > &) const
 Any special instructions to be executed when a vector is no longer needed.
 

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 >
Worldworld
 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()

template<typename T , int NDIM>
madness::VectorSpace< T, NDIM >::VectorSpace ( World world)
inline

◆ ~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

Standard bilinear gaxpy.

\[ \vec{x} \leftarrow a \vec{x} + b \vec{y} \]

Returns
The new vector, $\vec{x}$

Implements madness::AbstractVectorSpace< Vector< T, NDIM >, TensorTypeData< T >::float_scalar_type, T >.

References a, b, and NDIM.

◆ inner()

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

◆ norm()

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

◆ scale()

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

Scales the vector (in-place) by a constant.

\[ \vec{x} \leftarrow c \vec{x} \]

Returns
The scaled vector

Implements madness::AbstractVectorSpace< Vector< T, NDIM >, TensorTypeData< T >::float_scalar_type, T >.

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

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