as.primitive: Converts basic periods to a primitive pair In elliptic: Weierstrass and Jacobi Elliptic Functions

Description

Given a pair of basic periods, returns a primitive pair and (optionally) the unimodular transformation used.

Usage

 ```1 2``` ```as.primitive(p, n = 3, tol = 1e-05, give.answers = FALSE) is.primitive(p, n = 3, tol = 1e-05) ```

Arguments

 `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 `TRUE` meaning to return extra information (unimodular matrix and the magnitudes of the primitive periods) and default `FALSE` meaning to return just the primitive periods

Details

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.

Value

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

Note

Here, “unimodular” includes the case of determinant minus one.

Author(s)

Robin K. S. Hankin

References

K. Chandrasekharan 1985. Elliptic functions, Springer-Verlag

Examples

 ```1 2 3 4 5 6 7 8``` ```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)) ```

elliptic documentation built on May 2, 2019, 9:37 a.m.