Calculates the summand function G and related functions in Crandall's formula.
More...
#include <complex.h>
Go to the source code of this file.
|
double complex | crandall_gReg_nuequalsdim (double s, double arg, double k, double lambda) |
| Calculates the regularization of the zero summand in the second sum in Crandall's formula in the special case of nu = dim + 2k for some natural number k.
|
|
double complex | crandall_gReg (unsigned int dim, double nu, const double *z, double prefactor) |
| Calculates the regularization of the zero summand in the second sum in Crandall's formula.
|
|
double | assignzArgBound (double nu) |
| calculates bounds on when to use asymptotic expansion of the upper incomplete gamma function, depending on the value of nu.
|
|
double complex | crandall_g (unsigned int dim, double nu, const double *z, double prefactor, double zArgBound) |
| Assumes x and y to be in the respective elementary lattice cell. Multiply with exp(2 * PI * i * x * y) to get the second sum in Crandall's.
|
|
Calculates the summand function G and related functions in Crandall's formula.
◆ assignzArgBound()
double assignzArgBound |
( |
double | nu | ) |
|
calculates bounds on when to use asymptotic expansion of the upper incomplete gamma function, depending on the value of nu.
- Parameters
-
[in] | nu | exponent of the regularized Epstein zeta function. |
- Returns
- minimum value of z, when to use the fast asymptotic expansion in the calculation of the incomplete upper gamma function upperGamma(nu, z).
◆ crandall_g()
double complex crandall_g |
( |
unsigned int | dim, |
|
|
double | nu, |
|
|
const double * | z, |
|
|
double | prefactor, |
|
|
double | zArgBound ) |
Assumes x and y to be in the respective elementary lattice cell. Multiply with exp(2 * PI * i * x * y) to get the second sum in Crandall's.
- Parameters
-
[in] | dim | dimension of the input vectors. |
[in] | nu | exponent of the regularized Epstein zeta function. |
[in] | z | input vector of the function |
[in] | prefactor | prefactor of the vector, e. g. lambda or 1/lambda in Crandall's formula |
- Returns
- upperGamma(nu/2,pi prefactor * z**2) / (pi * prefactor z**2)^(nu / 2) in
◆ crandall_gReg()
double complex crandall_gReg |
( |
unsigned int | dim, |
|
|
double | s, |
|
|
const double * | z, |
|
|
double | prefactor ) |
Calculates the regularization of the zero summand in the second sum in Crandall's formula.
- Parameters
-
[in] | dim | dimension of the input vectors |
[in] | s | dimension minus exponent of the regularized Epstein zeta function, that is d - nu |
[in] | z | input vector of the function |
[in] | prefactor | prefactor of the vector, e. g. lambda |
- Returns
- - gamma(s/2) * gammaStar(s/2, pi * prefactor * z**2), where gammaStar is the twice regularized lower incomplete gamma function if s is not equal to - 2k and (pi * prefactor * y ** 2) ** (- s / 2) (gamma(s / 2, pi * prefactor * z ** 2) + ((-1)^k / k! ) * (log(pi * y ** 2) - log(prefactor ** 2))) if s is equal to - 2k for non negative natural number k
◆ crandall_gReg_nuequalsdim()
double complex crandall_gReg_nuequalsdim |
( |
double | s, |
|
|
double | arg, |
|
|
double | k, |
|
|
double | lambda ) |
Calculates the regularization of the zero summand in the second sum in Crandall's formula in the special case of nu = dim + 2k for some natural number k.
- Parameters
-
[in] | s | dimension minus exponent of the regularized Epstein zeta function. |
[in] | arg | input of the function |
[in] | k | k = - s / 2 = (nu - d) / 2 as an integer |
[in] | lambda | scaling parameter of crandalls formula |
- Returns
- arg ** (- s / 2) * (gamma(s / 2, arg) + ((-1)^k / k! ) * (log(arg) - log(lambda ** 2))