Converts basic periods to a primitive pair
Given a pair of basic periods, returns a primitive pair and (optionally) the unimodular transformation used.
as.primitive(p, n = 3, tol = 1e-05, give.answers = FALSE) is.primitive(p, n = 3, tol = 1e-05)
p |
Two element vector containing the two basic periods |
n |
Maximum magnitude of matrix entries considered |
tol |
Numerical tolerance used to determine reality of period ratios |
give.answers |
Boolean, with |
Primitive periods are not unique. This function follows
Chandrasekharan and others (but not, of course, Abramowitz and Stegun)
in demanding that the real part of p1
, and the
imaginary part of p2
, are nonnegative.
If give.answers
is TRUE
, return a list with components
M |
The unimodular matrix used |
p |
The pair of primitive periods |
mags |
The magnitudes of the primitive periods |
Here, “unimodular” includes the case of determinant minus one.
Robin K. S. Hankin
K. Chandrasekharan 1985. Elliptic functions, Springer-Verlag
as.primitive(c(3+5i,2+3i)) as.primitive(c(3+5i,2+3i),n=5) ##Rounding error: is.primitive(c(1,1i)) ## Try is.primitive(c(1,1.001i))
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.