98
6 Confluent Hypergeometric Function
of the functions in quest. In case of “0F1” ( 0 F 1 (; b; z)) only one parameter
value is necessary. Therefore, the class could be called via [obj,result] =
conhyp(’0F1’,b,z), or [obj,result] = conhyp(’0F1’,[],b,z)
or [obj,result] = conhyp(’0F1’,a,b,z). In the last case, the entry “a”
will be ignored. The function value “z” could be an arbitrary complex array. The
return values are the object “obj” with properties “value”, the function values, “z”
at which the functions will be evaluated, the parameters “a”, “b” and info with
some hints about the computation. In addition the function values “result”, which is
equal obj.value or conhyp(· · · ).value. The following example shows how
to compute the confluent hypergeometric limit function:
b = pi + i;
% parameter
alpha = linspace(-pi,pi);
z = 12.5 * exp(i * alpha);
% function arguments
[obj, result] = conhyp(’0F1’,b,z); % and evaluation
obj.value is identical to “result”. In case only the function values are of
interest, there are the following alternatives:
[˜ , result] = conhyp(’0F1’,b,z); or
y = conhyp(’0F1’,b,z).value;.
Example
As an example we will plot the absolute function values of the confluent hypergeometric function 1 F 1 (a; b; z) and the imaginary, respectively, real function
values of the Whittaker function M a,b (z). The selected parameters are typical
for Coulomb scattering, a topic discussed in more detail in the next chapter. The
results are shown in Fig. 6.2.
rho = [linspace(0,10,50),linspace(10.2,12,20),...
linspace(12.2,14.8,12),linspace(14.9,15.2,7),...
linspace(15.2,18,14),linspace(18,20,20)];
% radial coordinate
z = 2 * i * rho;
% function argument
eta = 3;
% parameter (Coulomb pot.)
l = 0;
% angular momentum
a = l + 1 - i * eta;
% function parameter
b = 2 * (l+1);
% function parameter
obj0 = conhyp(’1F1’,a,b,z); % evaluation: confluent
%
hypergeometric fct
figure,plot(rho,abs(obj0.value)) shg, hold on
% visualisation of the absolute value
...
objM0 = conhyp(’M’,i * eta,l+1/2,z); % eval Whittaker fct
figure,plot(rho,imag(objM0.value)) shg, hold on
% visualisation of the imaginary part
6 Confluent Hypergeometric Function
of the functions in quest. In case of “0F1” ( 0 F 1 (; b; z)) only one parameter
value is necessary. Therefore, the class could be called via [obj,result] =
conhyp(’0F1’,b,z), or [obj,result] = conhyp(’0F1’,[],b,z)
or [obj,result] = conhyp(’0F1’,a,b,z). In the last case, the entry “a”
will be ignored. The function value “z” could be an arbitrary complex array. The
return values are the object “obj” with properties “value”, the function values, “z”
at which the functions will be evaluated, the parameters “a”, “b” and info with
some hints about the computation. In addition the function values “result”, which is
equal obj.value or conhyp(· · · ).value. The following example shows how
to compute the confluent hypergeometric limit function:
b = pi + i;
% parameter
alpha = linspace(-pi,pi);
z = 12.5 * exp(i * alpha);
% function arguments
[obj, result] = conhyp(’0F1’,b,z); % and evaluation
obj.value is identical to “result”. In case only the function values are of
interest, there are the following alternatives:
[˜ , result] = conhyp(’0F1’,b,z); or
y = conhyp(’0F1’,b,z).value;.
Example
As an example we will plot the absolute function values of the confluent hypergeometric function 1 F 1 (a; b; z) and the imaginary, respectively, real function
values of the Whittaker function M a,b (z). The selected parameters are typical
for Coulomb scattering, a topic discussed in more detail in the next chapter. The
results are shown in Fig. 6.2.
rho = [linspace(0,10,50),linspace(10.2,12,20),...
linspace(12.2,14.8,12),linspace(14.9,15.2,7),...
linspace(15.2,18,14),linspace(18,20,20)];
% radial coordinate
z = 2 * i * rho;
% function argument
eta = 3;
% parameter (Coulomb pot.)
l = 0;
% angular momentum
a = l + 1 - i * eta;
% function parameter
b = 2 * (l+1);
% function parameter
obj0 = conhyp(’1F1’,a,b,z); % evaluation: confluent
%
hypergeometric fct
figure,plot(rho,abs(obj0.value)) shg, hold on
% visualisation of the absolute value
...
objM0 = conhyp(’M’,i * eta,l+1/2,z); % eval Whittaker fct
figure,plot(rho,imag(objM0.value)) shg, hold on
% visualisation of the imaginary part
