half.periods.Rd
Calculates half periods in terms of \(e\)
half.periods(ignore=NULL, e=NULL, g=NULL, primitive)
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\).
Returns a pair of primitive half periods
M. Abramowitz and I. A. Stegun 1965. Handbook of Mathematical Functions. New York, Dover.
Function parameters()
uses function half.periods()
internally, so do not use parameters()
to determine e
.
half.periods(g=c(8,4)) ## Example 6, p665, LHS
#> [1] 1.009453+0.000000i 0.000000+1.484412i
#> attr(,"class")
#> [1] "primitive"
u <- half.periods(g=c(-10,2))
massage(c(u[1]-u[2] , u[1]+u[2])) ## Example 6, p665, RHS
#> [1] 0.000000-1.52561i 1.402395+0.00000i
half.periods(g=c(10,2)) ## Example 7, p665, LHS
#> [1] 1.003847+0.00000i 0.000000+1.09797i
#> attr(,"class")
#> [1] "primitive"
u <- half.periods(g=c(7,6))
massage(c(u[1],2*u[2]+u[1])) ## Example 7, p665, RHS
#> [1] 0.9957998+0.000000i 0.0000000+2.332418i
half.periods(g=c(1,1i, 1.1+1.4i))
#> [1] 0.3004954-1.4486012i 1.4486012-0.3004954i
#> attr(,"class")
#> [1] "primitive"
half.periods(e=c(1,1i, 2, 1.1+1.4i))
#> [1] 0.3561185-1.1207477i 1.2654855+0.1622369i
#> attr(,"class")
#> [1] "primitive"
g.fun(half.periods(g=c(8,4))) ## should be c(8,4)
#> g2 g3
#> 8+0i 4+0i