# 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.