Learn R Programming

elliptic (version 1.5-0)

half.periods: Calculates half periods in terms of e

Description

Calculates half periods in terms of \(e\)

Usage

half.periods(ignore=NULL, e=NULL, g=NULL, primitive)

Value

Returns a pair of primitive half periods

Arguments

e

e

g

g

ignore

Formal argument present to ensure that e or g is named (ignored)

primitive

Boolean, with default TRUE meaning to return primitive periods and FALSE to return the direct result of Legendre's iterative scheme

Author

Robin K. S. Hankin

Details

Parameter e=c(e1, e2, e3) are the values of the Weierstrass \(\wp\) function at the half periods: $$e_1=\wp(\omega_1)\qquad e_2=\wp(\omega_2)\qquad e_3= \wp(\omega_3)$$ where $$\omega_1+\omega_2+\omega_3=0.$$

Also, \(e\) is given by the roots of the cubic equation \(x^3-g_2x-g_3=0\), but the problem is finding which root corresponds to which of the three elements of \(e\).

References

M. Abramowitz and I. A. Stegun 1965. Handbook of Mathematical Functions. New York, Dover.

Examples

Run this code

half.periods(g=c(8,4))                ## Example 6, p665, LHS

u <- half.periods(g=c(-10,2))
massage(c(u[1]-u[2] , u[1]+u[2]))     ## Example 6, p665, RHS

half.periods(g=c(10,2))               ## Example 7, p665, LHS

u <- half.periods(g=c(7,6))
massage(c(u[1],2*u[2]+u[1]))          ## Example 7, p665, RHS


half.periods(g=c(1, 1i, 1.1+1.4i))
half.periods(e=c(1, 1i, 2, 1.1+1.4i))


g.fun(half.periods(g=c(8,4)))         ##  should be c(8,4)


Run the code above in your browser using DataLab