EllipticFunctions.jl documentation

Jacobi theta functions and related functions.

using EllipticFunctions
using Images
# array of complex values.
z = (1:-0.001:-1) .* im .+ (-1:0.001:1)';
# function z->RGB 
function colormap(z)
    if isinf(z) || isnan(z)
        return RGB(0, 0, 0)
    end
    r = mod(abs(z), 1.0)
    g = 2 * mod(angle(z), 0.5)
    b = mod(real(z) * imag(z), 1.0)
    if isnan(b)
        return RGB(0, 0, 0)
    end
    return RGB(
        (1.0 - cos(r-0.5))*8.0,
        (1.0 - cos(g-0.5))*8.0,
        (1.0 - cos(b-0.5))*8.0
    )
end
# function to be plotted
function f(z)
    return EllipticFunctions.wzeta(z; tau = 0.1 + 3im)
end
# raster image
image = colormap.(f(3*z))

Functions

EllipticFunctions.jtheta_abFunction
jtheta_ab(a, b, z, τ)

Jacobi theta function with characteristics. This is a family of functions parameterized by a and b, which contains the opposite of the first Jacobi theta function (a=b=0.5), the second Jacobi theta function (a=0.5,b=0), the third Jacobi theta function (a=b=0), and the fourth Jacobi theta function (a=0,b=0.5).

Arguments

  • a: first characteristic, a real or complex number
  • b: second characteristic, a real or complex number
  • z: real or complex number
  • τ: complex number with positive imaginary part
source
EllipticFunctions.taufromqFunction
taufromq(q)

The tau parameter given the nome q.

Arguments

  • q: A real or complex number with modulus strictly smaller than 1
source
EllipticFunctions.ellipticEFunction
ellipticE(phi, m)

Incomplete elliptic integral of the second kind.

Arguments

  • phi: real or complex number, the amplitude
  • m: real or complex number, the squared modulus
source
ellipticE(m)

Complete elliptic integral of the second kind.

Arguments

  • m: real or complex number, the squared modulus
source
EllipticFunctions.ellipticFFunction
ellipticF(phi, m)

Incomplete elliptic integral of the first kind.

Arguments

  • phi: real or complex number, the amplitude
  • m: real or complex number, the squared modulus
source
EllipticFunctions.ellipticPIFunction
ellipticPI(phi, n, m)

Incomplete elliptic integral of first kind.

Arguments

  • phi: real or complex number, the amplitude
  • n: real or complex number, the characteristic
  • m: real or complex number, the squared modulus
source
EllipticFunctions.ellipticZFunction
ellipticZ(phi, m)

Jacobi Zeta function.

Arguments

  • phi: real or complex number, the amplitude
  • m: real or complex number, the squared modulus
source
EllipticFunctions.ellipticInvariantsFunction
ellipticInvariants(omega1, omega2)

Weierstrass elliptic invariants $g_2$ and $g_3$ from the half-periods.

Arguments

  • omega1,omega2: the Weierstrass half periods, real or complex numbers
source
EllipticFunctions.halfPeriodsFunction
halfPeriods(g2, g3)

Half-periods $\omega_1$ and $\omega_2$ from the elliptic invariants.

Arguments

  • g2,g3: the Weierstrass elliptic invariants, real or complex numbers
source
EllipticFunctions.wpFunction
wp(z; tau, omega, g, derivative=0)

Weierstrass p-function. One and only one of the parameters tau, omega or g must be given.

Arguments

  • z: real or complex number
  • tau: half-periods ratio, complex number with non negative imaginary part
  • omega: half-periods, a pair (tuple) of complex numbers
  • g: elliptic invariants, a pair (tuple) of complex numbers
  • derivative: order of differentiation, 0, 1, 2 or 3
source
EllipticFunctions.wsigmaFunction
wsigma(z; tau, omega, g)

Weierstrass sigma-function. One and only one of the parameters tau, omega or g must be given.

Arguments

  • z: real or complex number
  • tau: half-periods ratio, complex number with non negative imaginary part
  • omega: half-periods, a pair (tuple) of complex numbers
  • g: elliptic invariants, a pair (tuple) of complex numbers
source
EllipticFunctions.wzetaFunction
wzeta(z; tau, omega, g)

Weierstrass zeta-function. One and only one of the parameters tau, omega or g must be given.

Arguments

  • z: real or complex number
  • tau: half-periods ratio, complex number with non negative imaginary part
  • omega: half-periods, a pair of complex numbers
  • g: elliptic invariants, a pair of complex numbers
source
EllipticFunctions.thetaCFunction
thetaC(z; tau, m)

Neville C-theta function. Only one of the parameters tau or m must be supplied.

Arguments

  • z: real or complex number
  • tau: complex number with nonnegative imaginary part
  • m: real or complex number, square of the elliptic modulus
source
EllipticFunctions.thetaDFunction
thetaD(z; tau, m)

Neville D-theta function. Only one of the parameters tau or m must be supplied.

Arguments

  • z: real or complex number
  • tau: complex number with nonnegative imaginary part
  • m: real or complex number, square of the elliptic modulus
source
EllipticFunctions.thetaNFunction
thetaN(z; tau, m)

Neville N-theta function. Only one of the parameters tau or m must be supplied.

Arguments

  • z: real or complex number
  • tau: complex number with nonnegative imaginary part
  • m: real or complex number, square of the elliptic modulus
source
EllipticFunctions.thetaSFunction
thetaS(z; tau, m)

Neville S-theta function. Only one of the parameters tau or m must be supplied.

Arguments

  • z: real or complex number
  • tau: complex number with nonnegative imaginary part
  • m: real or complex number, square of the elliptic modulus
source
EllipticFunctions.jellipFunction
jellip(kind, u; tau, m)

Jacobi elliptic functions. Only one of the parameters tau or m must be supplied.

Arguments

  • kind: a string with two characters among 'c', 'd', 'n' or 's'; this string specifies the function: the two letters respectively denote the basic functions sn, cn, dn and 1, and the string specifies the ratio of two such functions, e.g. ns=1/sn and cd=cn/dn
  • u: a real or complex number
  • tau: complex number with nonnegative imaginary part
  • m: real or complex number, square of the elliptic modulus
source
EllipticFunctions.amFunction
am(u, m)

Amplitude function.

Arguments

  • u: real or complex number
  • m: real or complex number, square of the elliptic modulus
source

Index