theta.Rd
Computes Jacobi's four theta functions for complex \(z\) in terms of the parameter \(m\) or \(q\).
theta1 (z, ignore=NULL, m=NULL, q=NULL, give.n=FALSE, maxiter=30, miniter=3)
theta2 (z, ignore=NULL, m=NULL, q=NULL, give.n=FALSE, maxiter=30, miniter=3)
theta3 (z, ignore=NULL, m=NULL, q=NULL, give.n=FALSE, maxiter=30, miniter=3)
theta4 (z, ignore=NULL, m=NULL, q=NULL, give.n=FALSE, maxiter=30, miniter=3)
theta.00(z, ignore=NULL, m=NULL, q=NULL, give.n=FALSE, maxiter=30, miniter=3)
theta.01(z, ignore=NULL, m=NULL, q=NULL, give.n=FALSE, maxiter=30, miniter=3)
theta.10(z, ignore=NULL, m=NULL, q=NULL, give.n=FALSE, maxiter=30, miniter=3)
theta.11(z, ignore=NULL, m=NULL, q=NULL, give.n=FALSE, maxiter=30, miniter=3)
Theta (u, m, ...)
Theta1(u, m, ...)
H (u, m, ...)
H1(u, m, ...)
Complex argument of function
Dummy variable whose intention is to force the user to
name the second argument either m
or q
Does not seem to have a name. The variable is introduced in section 16.1, p569
The nome \(q\), defined in section 16.27, p576
Boolean with default FALSE
meaning to return the
function evaluation, and TRUE
meaning to return a two element
list, with first element the function evaluation, and second element
the number of iterations used
Maximum number of iterations used. Note that the series generally converge very quickly
Minimum number of iterations to guard against premature exit if an addend is zero exactly
In functions that take it, extra arguments passed to
theta1()
et seq; notably, maxiter
Functions theta.00()
et seq are just wrappers for
theta1()
et seq, following Whittaker and Watson's terminology
on p487; the notation does not appear in Abramowitz and Stegun.
theta.11() = theta1()
theta.10() = theta2()
theta.00() = theta3()
theta.01() = theta4()
Returns a complex-valued object with the same attributes as either
z
, or (m
or q
), whichever wasn't recycled.
M. Abramowitz and I. A. Stegun 1965. Handbook of mathematical functions. New York: Dover
m <- 0.5
derivative <- function(small){(theta1(small,m=m)-theta1(0,m=m))/small}
right.hand.side1 <- theta2(0,m=m)*theta3(0,m=m)*theta4(0,m=m)
right.hand.side2 <- theta1.dash.zero(m)
derivative(1e-5) - right.hand.side1 # should be zero
#> [1] -1.443168e-11
derivative(1e-5) - right.hand.side2 # should be zero
#> [1] -1.443168e-11