DFT-EFE
 
Loading...
Searching...
No Matches
dftefe::linearAlgebra::OperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace > Class Template Referenceabstract

Abstract class to encapsulate the action of a discrete operator on vectors, matrices, etc. More...

#include <OperatorContext.h>

Inheritance diagram for dftefe::linearAlgebra::OperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace >:

Public Types

using ValueTypeUnion = blasLapack::scalar_type< ValueTypeOperator, ValueTypeOperand >
 

Public Member Functions

 ~OperatorContext ()=default
 Default Destructor. More...
 
virtual void apply (MultiVector< ValueTypeOperand, memorySpace > &X, MultiVector< ValueTypeUnion, memorySpace > &Y) const =0
 

Detailed Description

template<typename ValueTypeOperator, typename ValueTypeOperand, utils::MemorySpace memorySpace>
class dftefe::linearAlgebra::OperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace >

Abstract class to encapsulate the action of a discrete operator on vectors, matrices, etc.

Template Parameters
ValueTypeOperatorThe datatype (float, double, complex<double>, etc.) for the underlying operator
ValueTypeOperandThe datatype (float, double, complex<double>, etc.) of the vector, matrices, etc. on which the operator will act
memorySpaceThe meory sapce (HOST, DEVICE, HOST_PINNES, etc.) in which the data of the operator and its operands reside

Member Typedef Documentation

◆ ValueTypeUnion

template<typename ValueTypeOperator , typename ValueTypeOperand , utils::MemorySpace memorySpace>
using dftefe::linearAlgebra::OperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace >::ValueTypeUnion = blasLapack::scalar_type<ValueTypeOperator, ValueTypeOperand>

Constructor & Destructor Documentation

◆ ~OperatorContext()

template<typename ValueTypeOperator , typename ValueTypeOperand , utils::MemorySpace memorySpace>
dftefe::linearAlgebra::OperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace >::~OperatorContext ( )
default

Default Destructor.

Member Function Documentation

◆ apply()

template<typename ValueTypeOperator , typename ValueTypeOperand , utils::MemorySpace memorySpace>
virtual void dftefe::linearAlgebra::OperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace >::apply ( MultiVector< ValueTypeOperand, memorySpace > &  X,
MultiVector< ValueTypeUnion, memorySpace > &  Y 
) const
pure virtual

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