| theta {elliptic} | R Documentation |
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) 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, ...)
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 |
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()
Returns a complex-valued object with the same attributes as either
z, or (m or q), whichever wasn't recycled.
Robin K. S. Hankin
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
derivative(1e-5)-right.hand.side2 #should be zero