Computes the 1-dimensional Fourier polynomial needed for the Fourier transforms of Gaussian basis functions. More...
#include <gto_fourier.h>
Public Member Functions | |
FourierPoly_1D () | |
Dummy constructor. | |
FourierPoly_1D (int l, double zeta) | |
Compute polynomial, with the proper normalization factor. | |
~FourierPoly_1D () | |
Destructor. | |
void | addterm (const poly1d_t &term) |
Add a term in the contraction. | |
FourierPoly_1D | operator+ (const FourierPoly_1D &rhs) const |
Addition operator. | |
size_t | getN () const |
Get number of terms in the polynomial. | |
std::complex< double > | getc (size_t i) const |
Get the i:th contraction coefficient. | |
int | getl (size_t i) const |
Get the exponent of p in the i:th term. | |
void | print () const |
Print polynomial. | |
Private Member Functions | |
FourierPoly_1D | formpoly (int l, double zeta) |
Private Attributes | |
std::vector< poly1d_t > | poly |
1-dimensional Fourier polynomial | |
Friends | |
FourierPoly_1D | operator* (std::complex< double > fac, const FourierPoly_1D &rhs) |
Multiply the polynomial with a complex factor. | |
Computes the 1-dimensional Fourier polynomial needed for the Fourier transforms of Gaussian basis functions.
The polynomial is computed using the recursion relation
with the initial values
The recursion formula is given in the article
L. C. Snyder and T. A. Weber, "The Compton profile of water: Computed from an SCF–MO wavefunction in a double-zeta Gaussian basis set", J. Chem. Phys. 63 (1975), pp. 113 - 114.
|
private |
Helper for the constructor - use recursion formula to compute polynomial without normalization factor, which is only added at the very end.