# elliptic-package

##### elliptic

elliptic

- Keywords
- package

##### Details

The DESCRIPTION file: elliptic elliptic

The primary function in package elliptic is `P()`

: this
calculates the Weierstrass \(\wp\) function, and may take named
arguments that specify either the invariants `g`

or half
periods `Omega`

. The derivative is given by function `Pdash`

and the Weierstrass sigma and zeta functions are given by functions
`sigma()`

and `zeta()`

respectively; these are documented in
`?P`

. Jacobi forms are documented under `?sn`

and modular
forms under `?J`

.

Notation follows Abramowitz and Stegun (1965) where possible, although
there only real invariants are considered; `?e1e2e3`

and
`?parameters`

give a more detailed discussion. Various equations
from AMS-55 are implemented (for fun); the functions are named after
their equation numbers in AMS-55; all references are to this work unless
otherwise indicated.

The package uses Jacobi's theta functions (`?theta`

and
`?theta.neville`

) where possible: they converge very quickly.

Various number-theoretic functions that are required for (eg) converting
a period pair to primitive form (`?as.primitive`

) are implemented;
see `?divisor`

for a list.

The package also provides some tools for numerical verification of
complex analysis such as contour integration (`?myintegrate`

) and
Newton-Raphson iteration for complex functions
(`?newton_raphson`

).

Complex functions may be visualized using `view()`

; this is
customizable but has an extensive set of built-in colourmaps.

##### References

R. K. S. Hankin.

*Introducing Elliptic, an R package for Elliptic and Modular Functions*. Journal of Statistical Software, Volume 15, Issue 7. February 2006.M. Abramowitz and I. A. Stegun 1965.

*Handbook of Mathematical Functions.*New York, Dover.K. Chandrasekharan 1985.

*Elliptic functions*, Springer-Verlag.E. T. Whittaker and G. N. Watson 1952.

*A Course of Modern Analysis*, Cambridge University Press (fourth edition)G. H. Hardy and E. M. Wright 1985.

*An introduction to the theory of numbers*, Oxford University Press (fifth edition)S. D. Panteliou and A. D. Dimarogonas and I. N .Katz 1996.

*Direct and inverse interpolation for Jacobian elliptic functions, zeta function of Jacobi and complete elliptic integrals of the second kind*. Computers and Mathematics with Applications, volume 32, number 8, pp51-57E. L. Wachspress 2000.

*Evaluating Elliptic functions and their inverses*. Computers and Mathematics with Applications, volume 29, pp131-136D. G. Vyridis and S. D. Panteliou and I. N. Katz 1999.

*An inverse convergence approach for arguments of Jacobian elliptic functions*. Computers and Mathematics with Applications, volume 37, pp21-26S. Paszkowski 1997.

*Fast convergent quasipower series for some elementary and special functions*. Computers and Mathematics with Applications, volume 33, number 1/2, pp181-191B. Thaller 1998.

*Visualization of complex functions*, The Mathematica Journal, 7(2):163--180J. Kotus and M. Urb\'anski 2003.

*Hausdorff dimension and Hausdorff measures of Julia sets of elliptic functions*. Bulletin of the London Mathematical Society, volume 35, pp269-275

##### Examples

```
# NOT RUN {
## Example 8, p666, RHS:
P(z=0.07 + 0.1i, g=c(10,2))
## Now a nice little plot of the zeta function:
x <- seq(from=-4,to=4,len=100)
z <- outer(x,1i*x,"+")
par(pty="s")
view(x,x,limit(zeta(z,c(1+1i,2-3i))),nlevels=3,scheme=1)
view(x,x,P(z*3,params=equianharmonic()),real=FALSE)
## Some number theory:
mobius(1:10)
plot(divisor(1:300,k=1),type="s",xlab="n",ylab="divisor(n,1)")
## Primitive periods:
as.primitive(c(3+4.01i , 7+10i))
as.primitive(c(3+4.01i , 7+10i),n=10) # Note difference
## Now some contour integration:
f <- function(z){1/z}
u <- function(x){exp(2i*pi*x)}
udash <- function(x){2i*pi*exp(2i*pi*x)}
integrate.contour(f,u,udash) - 2*pi*1i
x <- seq(from=-10,to=10,len=200)
z <- outer(x,1i*x,"+")
view(x,x,P(z,params=lemniscatic()),real=FALSE)
view(x,x,P(z,params=pseudolemniscatic()),real=FALSE)
view(x,x,P(z,params=equianharmonic()),real=FALSE)
# }
```

*Documentation reproduced from package elliptic, version 1.4-0, License: GPL-2*