|
MADNESS 0.10.1
|
an N-dimensional real-valued Gaussian function More...


Public Member Functions | |
| GaussianGuess (const coordT &origin, const double alpha, const std::vector< int > ijk=std::vector< int >(NDIM)) | |
| ctor | |
| GaussianGuess (const coordT &origin, const double alpha, const std::vector< int > ijk=std::vector< int >(NDIM)) | |
| ctor | |
| GaussianGuess (const coordT &origin, const double alpha, int l) | |
| ctor | |
| double | operator() (const coordT &xyz) const |
You should implement this to return f(x) | |
| T | operator() (const coordT &xyz) const |
| virtual function cannot be SFINAE'ed | |
| template<class R = T> | |
| std::enable_if< std::is_same< R, std::complex< double > >::value, R >::type | val (const coordT &xyz) const |
| template<class R = T> | |
| std::enable_if< std::is_same< R, double >::value, R >::type | val (const coordT &xyz) const |
Public Member Functions inherited from madness::FunctionFunctorInterface< double, NDIM > | |
| FunctionFunctorInterface () | |
| virtual | ~FunctionFunctorInterface () |
| virtual coeffT | coeff (const keyT &) const |
| virtual void | operator() (const Vector< double *, 1 > &xvals, double *fvals, int npts) const |
| virtual void | operator() (const Vector< double *, 2 > &xvals, double *fvals, int npts) const |
| virtual void | operator() (const Vector< double *, 3 > &xvals, double *fvals, int npts) const |
| virtual void | operator() (const Vector< double *, 4 > &xvals, double *fvals, int npts) const |
| virtual void | operator() (const Vector< double *, 5 > &xvals, double *fvals, int npts) const |
| virtual void | operator() (const Vector< double *, 6 > &xvals, double *fvals, int npts) const |
| virtual bool | provides_coeff () const |
| does this functor directly provide sum coefficients? or only function values? | |
| virtual bool | screened (const Vector< double, NDIM > &c1, const Vector< double, NDIM > &c2) const |
| Can we screen this function based on the bounding box information? | |
| void | set_length_scale (double lo) |
| adapt the special level to resolve the smallest length scale | |
| virtual Level | special_level () const |
| Override this to change the minimum level of refinement at special points (default is 6) | |
| virtual std::vector< Vector< double, NDIM > > | special_points () const |
| Override this to return list of special points to be refined more deeply. | |
| virtual bool | supports_vectorized () const |
| Does the interface support a vectorized operator()? | |
| virtual coeffT | values (const keyT &key, const Tensor< double > &tensor) const |
Public Member Functions inherited from madness::FunctionFunctorInterface< T, NDIM > | |
| FunctionFunctorInterface () | |
| virtual | ~FunctionFunctorInterface () |
| virtual coeffT | coeff (const keyT &) const |
| virtual void | operator() (const Vector< double *, 1 > &xvals, T *fvals, int npts) const |
| virtual void | operator() (const Vector< double *, 2 > &xvals, T *fvals, int npts) const |
| virtual void | operator() (const Vector< double *, 3 > &xvals, T *fvals, int npts) const |
| virtual void | operator() (const Vector< double *, 4 > &xvals, T *fvals, int npts) const |
| virtual void | operator() (const Vector< double *, 5 > &xvals, T *fvals, int npts) const |
| virtual void | operator() (const Vector< double *, 6 > &xvals, T *fvals, int npts) const |
| virtual bool | provides_coeff () const |
| does this functor directly provide sum coefficients? or only function values? | |
| virtual bool | screened (const Vector< double, NDIM > &c1, const Vector< double, NDIM > &c2) const |
| Can we screen this function based on the bounding box information? | |
| void | set_length_scale (double lo) |
| adapt the special level to resolve the smallest length scale | |
| virtual Level | special_level () const |
| Override this to change the minimum level of refinement at special points (default is 6) | |
| virtual std::vector< Vector< double, NDIM > > | special_points () const |
| Override this to return list of special points to be refined more deeply. | |
| virtual bool | supports_vectorized () const |
| Does the interface support a vectorized operator()? | |
| virtual coeffT | values (const keyT &key, const Tensor< double > &tensor) const |
Public Attributes | |
| double | exponent |
| exponent of the guess | |
| std::vector< int > | ijk |
| cartesian exponents | |
| int | l =0 |
| magnetic quantum number (if T=double_complex) | |
| coordT | origin |
| double | phase =double(rand()%1000)/1000.0 |
| complex phase (if applicable) | |
Public Attributes inherited from madness::FunctionFunctorInterface< double, NDIM > | |
| Level | special_level_ |
Public Attributes inherited from madness::FunctionFunctorInterface< T, NDIM > | |
| Level | special_level_ |
Private Types | |
| typedef Vector< double, NDIM > | coordT |
| typedef Vector< double, NDIM > | coordT |
Additional Inherited Members | |
Public Types inherited from madness::FunctionFunctorInterface< double, NDIM > | |
| typedef GenTensor< double > | coeffT |
| typedef Key< NDIM > | keyT |
| typedef double | value_type |
Public Types inherited from madness::FunctionFunctorInterface< T, NDIM > | |
| typedef GenTensor< T > | coeffT |
| typedef Key< NDIM > | keyT |
| typedef T | value_type |
an N-dimensional real-valued Gaussian function
the function looks like [ f(r) = x^i y^j .. z^k exp(-alpha r^2) ]
|
inline |
ctor
| [in] | origin | the origin of the Gauss function |
| [in] | alpha | the exponent exp(-alpha r^2) |
| [in] | ijk | the monomial x^i y^j z^k exp(-alpha r^2) (for NDIM) |
|
inline |
ctor
| [in] | origin | the origin of the Gauss function |
| [in] | alpha | the exponent exp(-alpha r^2) |
| [in] | ijk | the monomial x^i y^j z^k exp(-alpha r^2) (for NDIM) |
References GaussianGuess< NDIM >::ijk, and GaussianGuess< NDIM >::l.
|
inline |
ctor
| [in] | origin | the origin of the Gauss function |
| [in] | alpha | the exponent exp(-alpha r^2) |
| [in] | ijk | the monomial x^i y^j z^k exp(-alpha r^2) (for NDIM) |
References std::abs(), GaussianGuess< NDIM >::ijk, GaussianGuess< NDIM >::l, NDIM, and madness::nonlinear_vector_solver().
|
inlinevirtual |
You should implement this to return f(x)
Implements madness::FunctionFunctorInterface< double, NDIM >.
References madness::arg(), e(), GaussianGuess< NDIM >::exponent, GaussianGuess< NDIM >::ijk, NDIM, madness::nonlinear_vector_solver(), GaussianGuess< NDIM >::origin, and pow().
|
inlinevirtual |
virtual function cannot be SFINAE'ed
Implements madness::FunctionFunctorInterface< double, NDIM >.
References madness::nonlinear_vector_solver(), and GaussianGuess< NDIM >::val().
| double GaussianGuess< NDIM >::exponent |
exponent of the guess
Referenced by GaussianGuess< NDIM >::operator()(), and GaussianGuess< NDIM >::val().
| std::vector< int > GaussianGuess< NDIM >::ijk |
cartesian exponents
Referenced by GaussianGuess< NDIM >::GaussianGuess(), GaussianGuess< NDIM >::GaussianGuess(), GaussianGuess< NDIM >::operator()(), and GaussianGuess< NDIM >::val().
| int GaussianGuess< NDIM >::l =0 |
magnetic quantum number (if T=double_complex)
Referenced by GaussianGuess< NDIM >::GaussianGuess(), and GaussianGuess< NDIM >::GaussianGuess().
| coordT GaussianGuess< NDIM >::origin |
Referenced by GaussianGuess< NDIM >::operator()(), and GaussianGuess< NDIM >::val().
| double GaussianGuess< NDIM >::phase =double(rand()%1000)/1000.0 |
complex phase (if applicable)
Referenced by GaussianGuess< NDIM >::val().