# theta: Jacobi theta functions 1-4 In elliptic: Weierstrass and Jacobi Elliptic Functions

## Description

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

## Usage

 ``` 1 2 3 4 5 6 7 8 9 10 11 12``` ```theta1 (z, ignore=NULL, m=NULL, q=NULL, give.n=FALSE, maxiter=30) theta2 (z, ignore=NULL, m=NULL, q=NULL, give.n=FALSE, maxiter=30) theta3 (z, ignore=NULL, m=NULL, q=NULL, give.n=FALSE, maxiter=30) theta4 (z, ignore=NULL, m=NULL, q=NULL, give.n=FALSE, maxiter=30) theta.00(z, ignore=NULL, m=NULL, q=NULL, give.n=FALSE, maxiter=30) theta.01(z, ignore=NULL, m=NULL, q=NULL, give.n=FALSE, maxiter=30) theta.10(z, ignore=NULL, m=NULL, q=NULL, give.n=FALSE, maxiter=30) theta.11(z, ignore=NULL, m=NULL, q=NULL, give.n=FALSE, maxiter=30) Theta (u, m, ...) Theta1(u, m, ...) H (u, m, ...) H1(u, m, ...) ```

## 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 `...` In functions that take it, extra arguments passed to `theta1()` et seq; notably, `maxiter`

## Details

Should have a `tol` argument.

Functions `theta.00()` eq 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()`

## Value

Returns a complex-valued object with the same attributes as either `z`, or (`m` or `q`), whichever wasn't recycled.

## Author(s)

Robin K. S. Hankin

## References

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

`theta.neville`
 ```1 2 3 4 5 6 7``` ```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 ```