parameters.Rd
Calculates the invariants \(g_2\) and \(g_3\), the e-values \(e_1,e_2,e_3\), and the half periods \(\omega_1,\omega_2\), from any one of them.
parameters(Omega=NULL, g=NULL, description=NULL)
Returns a list with the following items:
A complex vector of length 2 giving the fundamental half periods \(\omega_1\) and \(\omega_2\). Notation follows Chandrasekharan: half period \(\omega_1\) is 0.5 times a (nontrivial) period of minimal modulus, and \(\omega_2\) is 0.5 times a period of smallest modulus having the property \(\omega_2/\omega_1\) not real.
The relevant periods are made unique by the further requirement that \(\mathrm{Re}(\omega_1)>0\), and \(\mathrm{Im}(\omega_2)>0\); but note that this often results in sign changes when considering cases on boundaries (such as real \(g_2\) and \(g_3\)).
Note Different definitions exist for \(\omega_3\)! A and S use \(\omega_3=\omega_2-\omega_1\), while Whittaker and Watson (eg, page 443), and Mathematica, have \(\omega_1+\omega_2+\omega_3=0\)
The nome. Here, \(q=e^{\pi i\omega_2/\omega_1}\).
Complex vector of length 2 holding the invariants
Complex vector of length 3. Here \(e_1\), \(e_2\), and \(e_3\) are defined by $$e_1=\wp(\omega_1/2)m\qquad e_2=\wp(\omega_2/2),\qquad e_3=\wp(\omega_3/2)$$ where \(\omega_3\) is defined by \(\omega_1+\omega_2+\omega_3=0\).
Note that the \(e\)s are also defined as the three roots of \(x^3-g_2x-g_3=0\); but this method cannot be used in isolation because the roots may be returned in the wrong order.
The quantity \(g_2^3-27g_3^2\), often denoted \(\Delta\)
Complex vector of length 3 often denoted \(\eta\). Here \(\eta=(\eta_1,\eta_2,\eta_3)\) are defined in terms of the Weierstrass zeta function with \(\eta_i=\zeta(\omega_i)\) for \(i=1,2,3\).
Note that the name of this element is capitalized to avoid confusion
with function eta()
Boolean, with TRUE
corresponding to real
invariants, as per Abramowitz and Stegun
character string indicating which parameter was supplied.
Currently, one of “o
” (omega), or “g
”
(invariants)
## Example 6, p665, LHS
parameters(g=c(10,2))
#> $Omega
#> [1] 1.003847+0.00000i 0.000000+1.09797i
#> attr(,"class")
#> [1] "primitive"
#>
#> $q
#> [1] 0.03218824+0i
#>
#> $e
#> e1 e2 e3
#> 1.6729816 -0.2033642 -1.4696174
#>
#> $g
#> [1] 10 2
#>
#> $Delta
#> [1] 892
#>
#> $Eta
#> [1] 0.7988783+0.0000000i 0.0000000-0.6909934i -0.7988783+0.6909934i
#>
#> $is.AnS
#> [1] FALSE
#>
#> $given
#> [1] "g"
#>
#> attr(,"class")
#> [1] "parameters"
## Not clear to me how AMS-55 justify 7 sig figs
## Example 7, p665, RHS
a <- parameters(g=c(7,6)) ; attach(a)
c(omega2=Omega[1],omega2dash=Omega[1]+Omega[2]*2)
#> omega2 omega2dash
#> 9.957998e-01+2.220446e-16i 1.110223e-16+2.332418e+00i
## verify 18.3.37:
Eta[2]*Omega[1]-Eta[1]*Omega[2] #should be close to pi*1i/2
#> [1] 0-1.570796i
## from Omega to g and and back;
## following should be equivalent to c(1,1i):
parameters(g=parameters(Omega=c(1,1i))$g)$Omega
#> [1] 1.83518e-30-1.000000e+00i 1.00000e+00+1.840095e-30i
#> attr(,"class")
#> [1] "primitive"