Translation operator which works in real space using interpolating splines. More...
#include <TranslationOperator.h>
Public Types | |
enum | SplineType { Constant, Linear } |
Types of interpolating spline available for translation. More... | |
Public Member Functions | |
TranslationOperatorSpline (const GridInfo &gInfo, SplineType splineType) | |
void | taxpy (const vector3<> &t, double alpha, const ScalarField &x, ScalarField &y) const |
Public Member Functions inherited from TranslationOperator | |
TranslationOperator (const GridInfo &gInfo) | |
Public Attributes | |
enum TranslationOperatorSpline::SplineType | splineType |
Public Attributes inherited from TranslationOperator | |
const GridInfo & | gInfo |
Translation operator which works in real space using interpolating splines.
|
virtual |
Compute \( y += alpha T_t(x) \) , where \( T_t \) is the translation operator \( T_t(x(r)) = x(r+t) \) modulo the lattice vectors T must conserve integral(x) and satisfy \( T^{\dagger}_t = T_{-t} \) exactly for gradient correctness Note that \( T^{-1}_t = T_{-t} \) may only be approximately true for some implementations.
Implements TranslationOperator.