ampsci
c++ program for high-precision atomic structure calculations of single-valence systems
Enumerations | Functions | Variables
NumCalc Namespace Reference

Numerical integration and differentiation. Bit of a mess right now.. More...

Enumerations

enum  Direction { zero_to_r , r_to_inf }
 
enum  t_grid { linear , logarithmic }
 

Functions

template<typename C , typename... Args>
double integrate (const double dt, std::size_t beg, std::size_t end, const C &f1, const Args &...rest)
 
template<typename T >
std::vector< T > derivative (const std::vector< T > &f, const std::vector< T > &drdt, const T dt, const int order=1)
 
template<Direction direction, typename Real >
void additivePIntegral (std::vector< Real > &answer, const std::vector< Real > &f, const std::vector< Real > &g, const std::vector< Real > &h, const Grid &gr, std::size_t pinf=0)
 
template<Direction direction, typename Real >
void additivePIntegral (std::vector< Real > &answer, const std::vector< Real > &f, const std::vector< Real > &g, const Grid &gr, std::size_t pinf=0)
 
template<Direction direction, typename Real >
std::vector< Real > partialIntegral (const std::vector< Real > &f, const std::vector< Real > &g, const std::vector< Real > &h, const Grid &gr, std::size_t pinf=0)
 
std::function< double(long unsigned)> linx (double a, double dt)
 
std::function< double(long unsigned)> one ()
 
std::function< double(long unsigned)> logx (double a, double dt)
 
double num_integrate (const std::function< double(double)> &f, double a, double b, long unsigned n_pts, t_grid type=linear)
 

Variables

constexpr std::size_t Nquad = 13
 
constexpr QintCoefs< Nquad > quintcoef
 
constexpr auto cq = quintcoef.cq
 
constexpr auto dq_inv = quintcoef.dq_inv
 

Detailed Description

Numerical integration and differentiation. Bit of a mess right now..

Function Documentation

◆ additivePIntegral()

template<Direction direction, typename Real >
void NumCalc::additivePIntegral ( std::vector< Real > &  answer,
const std::vector< Real > &  f,
const std::vector< Real > &  g,
const std::vector< Real > &  h,
const Grid gr,
std::size_t  pinf = 0 
)
inline

Wquad(im)

Wquad(i2)