18 #ifndef ERKALE_FOURIERPROD
19 #define ERKALE_FOURIERPROD
23 #include "../global.h"
36 std::complex<double>
c;
57 std::vector<prod_fourier_contr_t>
c;
67 std::vector<prod_fourier_t>
p;
88 std::vector<prod_fourier_t>
get()
const;
91 std::complex<double>
eval(
double px,
double py,
double pz)
const;
98 std::vector<prod_fourier> fourier_transform(
const std::vector<prod_gaussian_3d> & prod);
101 arma::cx_mat momentum_transfer(
const std::vector<prod_fourier> & fprod,
size_t Nbf,
const arma::vec & q);
std::vector< prod_fourier_t > p
Product Gaussians.
Definition: fourierprod.h:67
Definition: fourierprod.h:65
Structure for contraction in transform.
Definition: fourierprod.h:27
prod_fourier conjugate() const
Get complex conjugate.
Definition: fourierprod.cpp:140
std::complex< double > c
Contraction coefficient.
Definition: fourierprod.h:36
prod_fourier & operator+=(const prod_fourier &rhs)
Addition operator.
Definition: fourierprod.cpp:214
Three dimensional product.
Definition: bfprod.h:112
int m
py exponent
Definition: fourierprod.h:31
void print() const
Print out expansion.
Definition: fourierprod.cpp:132
int l
px exponent
Definition: fourierprod.h:29
std::vector< prod_fourier_contr_t > c
Contraction.
Definition: fourierprod.h:57
double xp
x coordinate of center (phase factor)
Definition: fourierprod.h:47
int n
pz exponent
Definition: fourierprod.h:33
double zeta
Exponent.
Definition: fourierprod.h:54
double zp
z coordinate of center (phase factor)
Definition: fourierprod.h:51
double yp
y coordinate of center (phase factor)
Definition: fourierprod.h:49
Structure for Fourier transform of product of basis functions.
Definition: fourierprod.h:45
std::complex< double > eval(double px, double py, double pz) const
Evaluate at p=(px,py,pz)
Definition: fourierprod.cpp:266
prod_fourier operator*(const prod_fourier &rhs) const
Multiplication operator.
Definition: fourierprod.cpp:160