Learn R Programming

elliptic (version 1.5-0)

theta: Jacobi theta functions 1-4

Description

Computes Jacobi's four theta functions for complex \(z\) in terms of the parameter \(m\) or \(q\).

Usage

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, ...)

Value

Returns a complex-valued object with the same attributes as either

z, or (m or q), whichever wasn't recycled.

Arguments

z,u

Complex argument of function

ignore

Dummy variable whose intention is to force the user to name the second argument either m or q

m

Does not seem to have a name. The variable is introduced in section 16.1, p569

q

The nome \(q\), defined in section 16.27, p576

give.n

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

maxiter

Maximum number of iterations used. Note that the series generally converge very quickly

miniter

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

Author

Robin K. S. Hankin

Details

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()

References

M. Abramowitz and I. A. Stegun 1965. Handbook of mathematical functions. New York: Dover

See Also

theta.neville

Examples

Run this code

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
derivative(1e-5) - right.hand.side2   # should be zero

Run the code above in your browser using DataLab