I need to calculate the following integral (please see the attached pdf file). The integrand contains gamma functions of complex variable. There are 2D integration and 2D summation. Free parameters are \alpha_i, \beta_i (i=1,2).
I need to obtain a numerical value of this integral at some values of \alpha_i and \beta_i.
Is there any possibility to integrate such an integrand?
One more question. Are math. functions could be used with complex variable? For example: Cos(1+2i), Gamma(1-5i), e.t.c. If it is not straightforward, how it could be implemented?
Is there any possible way to perform integration and return a complex number?
(Here is a short code of desired integral)
In other words, can I pass :
complex<double> integrand(double *var, double *par)
{
complex<double> c1(var[0], par[0]); // integration runs over the real variable (double) and imag. part
// remains unchanged.
return TMath::Exp(-c1); // The result is also complex number.
}
to the integrator (for example, TF1,simple one dim integral)
TF1 *func = new TF1("qqq",integrand, 0,10,2); // integration from 0 to 10
func->SetParameters(par1, par2); //whatever parameters
complex<double> res = (func->Integral(0,10)); // the result is a complex number
Complex mathematical function and also their integration in the complex space is not currently supported in ROOT. You might need to use a software package like Mathematica,
“Advanced” complex functions (like “gamma”) are not implemented (in ROOT 5).
You need to (pre)compile your code and use an external library which provides them (e.g. CERNLIB).