ERKALE
ERKALE - DFT from Hel
 All Classes Functions Variables Friends Pages
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
FourierPoly_1D Class Reference

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_tpoly
 1-dimensional Fourier polynomial
 

Friends

FourierPoly_1D operator* (std::complex< double > fac, const FourierPoly_1D &rhs)
 Multiply the polynomial with a complex factor.
 

Detailed Description

Computes the 1-dimensional Fourier polynomial needed for the Fourier transforms of Gaussian basis functions.

The polynomial is computed using the recursion relation

$ \mathcal{R}_l (p_i, \zeta) = -i p_i \mathcal{R}_{l-1} (p_i, \zeta) + 2 \zeta (l-1) \mathcal{R}_{l-2} (p_i, \zeta) $

with the initial values

$ \mathcal{R}_0 (p_i, \zeta) = 1 $

$ \mathcal{R}_1 (p_i, \zeta) = -ip_i $

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.

Author
Susi Lehtola
Date
2011/05/10 15:32

Member Function Documentation

FourierPoly_1D FourierPoly_1D::formpoly ( int  l,
double  zeta 
)
private

Helper for the constructor - use recursion formula to compute polynomial without normalization factor, which is only added at the very end.


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