9.2 Jacobi ϑ Functions
127
plus
1 (a, b, c, d) = exp
πi
R(−d, b, c, −a) + 1
4
(9.9f)
2 (a, b, c, d) = exp
πi
−R(a, b, c, d) + 5 + (2 − c)a
4
ct 2 = c, at 2 = a, (9.9g)
3 (a, b, c, d) = exp
πi
−R(a, b, c, d) + 4 + (c − d − 2)(b − a)
4
(9.9h)
ct 3 = c − d , at 3 = a − b,
4 (a, b, c, d) = exp
πi
−R(a, b, c, d) + 3 − 2(2 + d)b
4
ct 4 = d , at 4 = b , (9.9i)
and the integer R(a, b, c, d) is given by
R(a, b, c, d) = 12
a + d
12c
− s(d, c) −
1
4
,
(9.9j)
and finally, s(d, c) is the Dedekind sum [4]
s(d, c) =
c−1
n=1
n
c
dn
c
−
dn
c
−
1
2
.
(9.9k)
Therefore, the general strategy is for (τ ) < 0.5 transform (τ ) to a larger value
and if necessary reduce ˜
z based on Eq. (9.5b).
9.2.2 TheSPECFUNPHYS Class jacobiTheta
The jacobiTheta class serves to evaluate a ϑ i function. The syntax is
[obj,result] = jacobiTheta(wtheta, z, tau)
with the input arguments “wtheta” (integer 1 · · · 4, in which function ϑ i should be
evaluated), “z” complex array, and τ complex number with positive imaginary part,
see Eq. (9.1). The output arguments are the object “obj” with properties “value,” the
corresponding function values, “z” and “tau,” the inputs at which the function will
be evaluated, and “info” with some general information including hints with respect
to the computation. The additional output argument “result” is the function value,
equal, e.g., jacobiTheta(wtheta, z, tau).value.
The following example shows how to evaluate a ϑ function:
wtheta = 3;
% evaluate the theta_3 function
z = 1.25 + 0.75 * i;
tau = pi + 0.1 * i;
[obj,result] = jacobiTheta(wtheta, z, pi+i * 0.1);
127
plus
1 (a, b, c, d) = exp
πi
R(−d, b, c, −a) + 1
4
(9.9f)
2 (a, b, c, d) = exp
πi
−R(a, b, c, d) + 5 + (2 − c)a
4
ct 2 = c, at 2 = a, (9.9g)
3 (a, b, c, d) = exp
πi
−R(a, b, c, d) + 4 + (c − d − 2)(b − a)
4
(9.9h)
ct 3 = c − d , at 3 = a − b,
4 (a, b, c, d) = exp
πi
−R(a, b, c, d) + 3 − 2(2 + d)b
4
ct 4 = d , at 4 = b , (9.9i)
and the integer R(a, b, c, d) is given by
R(a, b, c, d) = 12
a + d
12c
− s(d, c) −
1
4
,
(9.9j)
and finally, s(d, c) is the Dedekind sum [4]
s(d, c) =
c−1
n=1
n
c
dn
c
−
dn
c
−
1
2
.
(9.9k)
Therefore, the general strategy is for (τ ) < 0.5 transform (τ ) to a larger value
and if necessary reduce ˜
z based on Eq. (9.5b).
9.2.2 TheSPECFUNPHYS Class jacobiTheta
The jacobiTheta class serves to evaluate a ϑ i function. The syntax is
[obj,result] = jacobiTheta(wtheta, z, tau)
with the input arguments “wtheta” (integer 1 · · · 4, in which function ϑ i should be
evaluated), “z” complex array, and τ complex number with positive imaginary part,
see Eq. (9.1). The output arguments are the object “obj” with properties “value,” the
corresponding function values, “z” and “tau,” the inputs at which the function will
be evaluated, and “info” with some general information including hints with respect
to the computation. The additional output argument “result” is the function value,
equal, e.g., jacobiTheta(wtheta, z, tau).value.
The following example shows how to evaluate a ϑ function:
wtheta = 3;
% evaluate the theta_3 function
z = 1.25 + 0.75 * i;
tau = pi + 0.1 * i;
[obj,result] = jacobiTheta(wtheta, z, pi+i * 0.1);
