SIRIUS 7.5.0
Electronic structure library and applications
Namespaces | Functions
specfunc.hpp File Reference

Special functions. More...

Go to the source code of this file.

Namespaces

module  sirius
 Namespace of the SIRIUS library.
 
namespace  sirius::sf
 Special functions.
 

Functions

int sirius::sf::lmmax (int lmax)
 Maximum number of \( \ell, m \) combinations for a given \( \ell_{max} \). More...
 
int sirius::sf::lm (int l, int m)
 Get composite lm index by angular index l and azimuthal index m. More...
 
int sirius::sf::lmax (int lmmax__)
 Get maximum orbital quantum number by the maximum lm index. More...
 
std::vector< int > sirius::sf::l_by_lm (int lmax__)
 Get array of orbital quantum numbers for each lm component. More...
 
double sirius::sf::hermiteh (int n, double x)
 
std::vector< double > sirius::sf::hermiteh_array (int n, double x)
 
double sirius::sf::hermiteh_series (int n, double x, const double *a)
 
template<typename T , typename F >
void sirius::sf::legendre_plm (int lmax__, double x__, F &&ilm__, T *plm__)
 Generate associated Legendre polynomials. More...
 
template<typename T , typename F >
void sirius::sf::legendre_plm_aux (int lmax__, double x__, F &&ilm__, T const *plm__, T *p1lm__, T *p2lm__)
 Generate auxiliary Legendre polynomials which are necessary for spherical harmomic derivatives. More...
 
void sirius::sf::spherical_harmonics_ref (int lmax, double theta, double phi, std::complex< double > *ylm)
 Reference implementation of complex spherical harmonics. More...
 
void sirius::sf::spherical_harmonics (int lmax, double theta, double phi, std::complex< double > *ylm)
 Optimized implementation of complex spherical harmonics. More...
 
void sirius::sf::spherical_harmonics_ref (int lmax, double theta, double phi, double *rlm)
 Reference implementation of real spherical harmonics Rlm. More...
 
void sirius::sf::spherical_harmonics (int lmax, double theta, double phi, double *rlm)
 Optimized implementation of real spherical harmonics. More...
 
sddk::mdarray< double, 1 > sirius::sf::cosxn (int n__, double x__)
 Generate \( \cos(m x) \) for m in [1, n] using recursion. More...
 
sddk::mdarray< double, 1 > sirius::sf::sinxn (int n__, double x__)
 Generate \( \sin(m x) \) for m in [1, n] using recursion. More...
 
void sirius::sf::dRlm_dr (int lmax__, r3::vector< double > &r__, sddk::mdarray< double, 2 > &data__, bool divide_by_r__=true)
 Compute the derivatives of real spherical harmonics over the components of cartesian vector. More...
 
void sirius::sf::dRlm_dr_numerical (int lmax__, r3::vector< double > &r__, sddk::mdarray< double, 2 > &data__, bool divide_by_r__=true)
 

Detailed Description

Special functions.

Definition in file specfunc.hpp.