Epstein Zeta Library 0.6.2
Calculates the Epstein Zeta function
Loading...
Searching...
No Matches
Functions
crandall.h File Reference

Calculates the summand function G and related functions in Crandall's formula. More...

#include <complex.h>
Include dependency graph for crandall.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

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)
 Calculates the upper Crandall function.
 
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 s, const double *z, double prefactor)
 Calculates the regularization of the zero summand in the second sum in Crandall's formula.
 
double crandall_gReg_harmonic (int k, int n, 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 for the harmonic method.
 
double complex crandall_g_lower (unsigned int dim, double nu, const double *z, double prefactor)
 Calculates the lower Crandall function.
 
double polynomial_y_der (unsigned int k, unsigned int dim, const double *z, const unsigned int *alpha, unsigned int alphaAbs, unsigned int n)
 Calculates the derivatives of Y_k(z) / n! = (pi * z**2)**k / n! where n <= k.
 
double complex crandall_gReg_nuequalsdimplus2k (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.
 

Detailed Description

Calculates the summand function G and related functions in Crandall's formula.

Function Documentation

◆ 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]nuexponent 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).

calculates bounds on when to use asymptotic expansion of the upper incomplete gamma function, depending on the value of nu.

Parameters
[in]nuexponent 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 )

Calculates the upper Crandall function.

Parameters
[in]dimdimension of the input vectors.
[in]nuexponent of the regularized Epstein zeta function.
[in]zinput vector of the function.
[in]prefactorprefactor of the vector, e. g. lambda or 1/lambda in Crandall's formula
[in]zArgBoundminimum value of pi * z**2, when to use the fast asymptotic expansion in the calculation of the Crandall function.
Returns
upperGamma(nu / 2,pi prefactor * z**2) / (pi * prefactor z**2)^(nu / 2) if |z| > 0 and - 2 / nu otherwise.

◆ crandall_g_lower()

double complex crandall_g_lower ( unsigned int dim,
double nu,
const double * z,
double prefactor )

Calculates the lower Crandall function.

Parameters
[in]dimdimension of the input vectors.
[in]nuexponent of the regularized Epstein zeta function.
[in]zinput vector of the function.
[in]prefactorprefactor of the vector, e. g. lambda or 1/lambda in Crandall's formula
Returns
lowerGamma(nu / 2,pi prefactor * z**2) / (pi * prefactor z**2)^(nu / 2) if |z| > 0 and 2 / nu otherwise.
Parameters
[in]dimdimension of the input vectors.
[in]nuexponent of the regularized Epstein zeta function.
[in]zinput vector of the function.
[in]prefactorprefactor of the vector, e. g. lambda or 1/lambda in Crandall's formula
[in]zArgBoundminimum value of pi * z**2, when to use the fast asymptotic expansion in the calculation of the Crandall function.
Returns
lowerGamma(nu / 2,pi prefactor * z**2) / (pi * prefactor z**2)^(nu / 2) if |z| > 0 and 2 / nu otherwise.

◆ 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]dimdimension of the input vectors
[in]sdimension minus exponent of the regularized Epstein zeta function, that is d - nu
[in]zinput vector of the function
[in]prefactorprefactor 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
Parameters
[in]dimdimension of the input vectors.
[in]sdimension minus exponent of the regularized Epstein zeta function, that is d - nu.
[in]zinput vector of the function.
[in]prefactorprefactor 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_harmonic()

double crandall_gReg_harmonic ( int k,
int n,
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 for the harmonic method.

Parameters
[in]kspecifies degree |alpha| - 2k.
[in]n|alpha|.
[in]sdimension minus exponent of the regularized Epstein zeta function, that is d - nu.
[in]dimdimension of the input vectors.
[in]zinput vector of the function.
[in]prefactorprefactor 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 and the special definition if s is equal to - 2k for non negative natural number k <= l.

◆ 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]sdimension minus exponent of the regularized Epstein zeta function.
[in]arginput of the function
[in]kk = - s / 2 = (nu - d) / 2 as an integer
[in]lambdascaling parameter of crandalls formula
Returns
arg ** (- s / 2) * (gamma(s / 2, arg) + ((-1)^k / k! ) * (log(arg) - log(lambda ** 2))

◆ crandall_gReg_nuequalsdimplus2k()

double complex crandall_gReg_nuequalsdimplus2k ( 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]sdimension minus exponent of the regularized Epstein zeta function.
[in]arginput of the function.
[in]kk = - s / 2 = (nu - d) / 2 as an integer.
[in]lambdascaling parameter of crandalls formula.
Returns
arg ** (- s / 2) * (gamma(s / 2, arg) + ((-1)^k / k! ) * (log(arg) - log(lambda ** 2)).

◆ polynomial_y_der()

double polynomial_y_der ( unsigned int k,
unsigned int dim,
const double * z,
const unsigned int * alpha,
unsigned int alphaAbs,
unsigned int n )

Calculates the derivatives of Y_k(z) / n! = (pi * z**2)**k / n! where n <= k.

Parameters
[in]kinteger power.
[in]dimdimension of z.
[in]yvector of the polynomial. @parma[in] alpha: multi-index for the derivative.
[in]nfactorial divisor smaller than k.
Returns
partial derivative of Y_k(z) / n!.