SIRIUS 7.5.0
Electronic structure library and applications
|
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) |
Special functions.
Definition in file specfunc.hpp.