ddg.datastructures.nets.net_generators.jacobi_elliptic_curve module
- ddg.datastructures.nets.net_generators.jacobi_elliptic_curve.jacobi_elliptic_curve(k)[source]
Returns the elliptic curve [cn, sn, dn] for a parameter k.
More precisely, returns the collection of curves obtained by first taking the curve
u -> [cn(u, k), sn(u, k), dn(u, k)]
and adding the reflection of this about the plane z = 0. In the case where k = 1, we also have to reflect about the planes x = 0 and x + z = 0.
This curve (collection) is the intersection of the two cylinders
x^2 + y^2 = 1, k^2 * y^2 + z^2 = 1
Homogenizing in the last component, to [cn, sn, dn, 1], gives the intersection curve of any two quadrics in the pencil
u1 * diag([1, 1, 0, -1]) + u2 * diag([0, k, 1, -1])
in homogeneous coordinates.
- Parameters:
- kfloat
Parameter in the interval [0, 1]. It is best to avoid values close (about 1e-9) but not equal to 1 because the scipy.ellipj functions do not work well for those values.
- Returns:
- NetCollection