org.jscience.mathematics.analysis.elliptic
Class Jacobi

java.lang.Object
  extended by org.jscience.mathematics.analysis.elliptic.Elliptic
      extended by org.jscience.mathematics.analysis.elliptic.Jacobi

public class Jacobi
extends Elliptic

Implementation for Jacobi's elliptic functions.

Attention! This class is not thread save. This is usually no problem, when you do numerics.


Method Summary
static Complex cn(Complex u, Complex k)
          Returns cn(u,k).
static void cn(Complex u, Complex tau, Complex[] thetaConstants, Complex cnOfU)
          Computes cn(u,k(τ)) for given latiuce paramter τ, and theta constants.
static double cn(double u, double k)
          Returns cn(u,k).
static Complex dn(Complex u, Complex k)
          Returns dn(u,k).
static void dn(Complex u, Complex tau, Complex[] thetaConstants, Complex dnOfU)
          Computes dn(u,k(τ)) for given latiuce paramter τ, and theta constants.
static double dn(double u, double k)
          Returns dn(u,k).
static Complex K_from_k(Complex k)
          Returns quarter period K as function of the modulus k.
static void K_from_k(Complex k, Complex K)
          Computes quarter period K as function of the modulus k.
static Complex K_from_KPrime_and_tau(Complex KPrime, Complex tau)
          Returns quarter period K as function of complementary quarter period K' and lattice parameter τ.
static void K_from_KPrime_and_tau(Complex KPrime, Complex tau, Complex K)
          Computes quarter period K as function of complementary quarter period K' and lattice parameter τ.
static Complex k_from_thetaConstants(Complex[] thetaConstants)
          Returns modulus k as function of theta constants.
static Complex K_from_thetaConstants(Complex[] thetaConstants)
          Returns quarter period K as function of theta constants.
static void k_from_thetaConstants(Complex[] thetaConstants, Complex k)
          Computes modulus k as function of theta constants
static void K_from_thetaConstants(Complex[] thetaConstants, Complex K)
          Computes quarter period K as function of theta constants.
static Complex KPrime_from_K_and_tau(Complex K, Complex tau)
          Returns complementary quarter period K' as function of quarter period K and lattice parameter τ.
static void KPrime_from_K_and_tau(Complex K, Complex tau, Complex KPrime)
          Computes complementary quarter period K' as function of quarter period K and lattice parameter τ.
static Complex kPrime_from_k(Complex k)
          Returns complementary modulus k' as function of the modulus.
static Complex KPrime_from_k(Complex k)
          Returns complementary quarter Period K' as function of the modulus k.
static void kPrime_from_k(Complex k, Complex kPrime)
          Computes complementary modulus k' as function of the modulus.
static void KPrime_from_k(Complex k, Complex KPrime)
          Computes cmplementary quarter period K' as function of the modulus k.
static double kPrime_from_k(double k)
          Returns complementary modulus k' as function of the modulus.
static Complex kPrime_from_thetaConstants(Complex[] thetaConstants)
          Returns complementary modulus k' as function of theta constants.
static void kPrime_from_thetaConstants(Complex[] thetaConstants, Complex kPrime)
          Computes complementary modulus k' as function theta constants.
static Complex sn(Complex u, Complex k)
          Returns sn(u,k).
static void sn(Complex u, Complex tau, Complex[] thetaConstants, Complex snOfU)
          Computes sn(u,k(τ)) for given latiuce paramter τ, and theta constants.
static double sn(double u, double k)
          Returns sn(u,k).
static Complex tau_from_k(Complex k)
          Computes lattice parameter τ as function of modulus k.
static void tau_from_k(Complex k, Complex tau)
          Computes lattice parameter τ as function of modulus k.
static Complex tauPrime_from_tau(Complex tau)
          Returns complementary lattice paramter τ' = -1/τ for lattice parameter τ.
static void tauPrime_from_tau(Complex tau, Complex tauPrime)
          Computes complementary lattice paramter τ' = -1/τ for lattice parameter τ.
 
Methods inherited from class org.jscience.mathematics.analysis.elliptic.Elliptic
theta, theta, theta0, theta0, theta1, theta1, theta2, theta2, theta3, theta3, theta4, theta4, thetaConstants, thetaConstants
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

sn

public static void sn(Complex u,
                      Complex tau,
                      Complex[] thetaConstants,
                      Complex snOfU)
Computes sn(u,k(τ)) for given latiuce paramter τ, and theta constants.

Parameters:
u - argument
tau - lattice parameter
thetaConstants - theta constants
snOfU - sn(u,k(τ)) (on output)
See Also:
Elliptic.thetaConstants(Complex), tau_from_k(Complex), sn(Complex,Complex), sn(double,double)

sn

public static Complex sn(Complex u,
                         Complex k)
Returns sn(u,k). It computes the lattice paramter τ as function of k, and further the @theta;-constants. Therefore in most cases it is more efficient to hash these values and call sn(Complex,Complex,Complex[],Complex).

Parameters:
u - argument
k - modulus
Returns:
sn(u,k)
See Also:
Elliptic.thetaConstants(Complex), tau_from_k(Complex), sn(Complex,Complex,Complex[],Complex), sn(double,double)

sn

public static double sn(double u,
                        double k)
Returns sn(u,k). It computes the lattice paramter τ as function of k, and further the @theta;-constants. Therefore in most cases it is more efficient to hash these values and call sn(Complex,Complex,Complex[],Complex).

Parameters:
u - argument
k - modulus
Returns:
sn(u,k)
See Also:
Elliptic.thetaConstants(Complex), tau_from_k(Complex), sn(Complex,Complex,Complex[],Complex), sn(Complex,Complex)

cn

public static void cn(Complex u,
                      Complex tau,
                      Complex[] thetaConstants,
                      Complex cnOfU)
Computes cn(u,k(τ)) for given latiuce paramter τ, and theta constants.

Parameters:
u - argument
tau - lattice parameter
thetaConstants - theta constants
cnOfU - sn(u,k(τ)) (on output)
See Also:
Elliptic.thetaConstants(Complex), tau_from_k(Complex), cn(Complex,Complex)

cn

public static Complex cn(Complex u,
                         Complex k)
Returns cn(u,k). It computes the lattice paramter τ as function of k, and further the @theta;-constants. Therefore in most cases it is more efficient to hash these values and call cn(Complex,Complex,Complex[],Complex).

Parameters:
u - argument
k - modulus
Returns:
cn(u,k)
See Also:
Elliptic.thetaConstants(Complex), tau_from_k(Complex), cn(Complex,Complex,Complex[],Complex)

cn

public static double cn(double u,
                        double k)
Returns cn(u,k). It computes the lattice paramter τ as function of k, and further the @theta;-constants. Therefore in most cases it is more efficient to hash these values and call cn(Complex,Complex,Complex[],Complex).

Parameters:
u - argument
k - modulus
Returns:
cn(u,k)
See Also:
Elliptic.thetaConstants(Complex), tau_from_k(Complex), cn(Complex,Complex,Complex[],Complex), cn(Complex,Complex)

dn

public static void dn(Complex u,
                      Complex tau,
                      Complex[] thetaConstants,
                      Complex dnOfU)
Computes dn(u,k(τ)) for given latiuce paramter τ, and theta constants.

Parameters:
u - argument
tau - lattice parameter
thetaConstants - theta constants
dnOfU - sn(u,k(τ)) (on output)
See Also:
Elliptic.thetaConstants(Complex), tau_from_k(Complex), dn(Complex,Complex)

dn

public static Complex dn(Complex u,
                         Complex k)
Returns dn(u,k). It computes the lattice paramter τ as function of k, and further the @theta;-constants. Therefore in most cases it is more efficient to hash these values and call dn(Complex,Complex,Complex[],Complex).

Parameters:
u - argument
k - modulus
Returns:
dn(u,k)
See Also:
Elliptic.thetaConstants(Complex), tau_from_k(Complex), dn(Complex,Complex,Complex[],Complex)

dn

public static double dn(double u,
                        double k)
Returns dn(u,k). It computes the lattice paramter τ as function of k, and further the @theta;-constants. Therefore in most cases it is more efficient to hash these values and call dn(Complex,Complex,Complex[],Complex).

Parameters:
u - argument
k - modulus
Returns:
dn(u,k)
See Also:
Elliptic.thetaConstants(Complex), tau_from_k(Complex), dn(Complex,Complex,Complex[],Complex), dn(Complex,Complex)

kPrime_from_k

public static void kPrime_from_k(Complex k,
                                 Complex kPrime)
Computes complementary modulus k' as function of the modulus.

Parameters:
k - modulus
kPrime - complementary modulus k'= sqrt( 1-k*k ) (on output)
See Also:
kPrime_from_k(Complex)

kPrime_from_k

public static Complex kPrime_from_k(Complex k)
Returns complementary modulus k' as function of the modulus.

Parameters:
k - modulus
Returns:
complementary modulus k'= sqrt( 1-k*k )
See Also:
kPrime_from_k(Complex,Complex)

kPrime_from_k

public static double kPrime_from_k(double k)
Returns complementary modulus k' as function of the modulus.

Parameters:
k - modulus
Returns:
complementary modulus k'= sqrt( 1-k*k )
See Also:
kPrime_from_k(Complex,Complex)

K_from_k

public static void K_from_k(Complex k,
                            Complex K)
Computes quarter period K as function of the modulus k.

Parameters:
k - modulus
K - quarter period K (on output) #see K_from_k(Complex)

K_from_k

public static Complex K_from_k(Complex k)
Returns quarter period K as function of the modulus k.

Parameters:
k - modulus
Returns:
quarter period #see K_from_k(Complex,Complex)

KPrime_from_k

public static void KPrime_from_k(Complex k,
                                 Complex KPrime)
Computes cmplementary quarter period K' as function of the modulus k.

Parameters:
k - modulus
KPrime - complementary quarter period K' (on output)
See Also:
KPrime_from_k(Complex)

KPrime_from_k

public static Complex KPrime_from_k(Complex k)
Returns complementary quarter Period K' as function of the modulus k.

Parameters:
k - modulus
Returns:
complementary quarter Period K'
See Also:
KPrime_from_k(Complex,Complex)

k_from_thetaConstants

public static void k_from_thetaConstants(Complex[] thetaConstants,
                                         Complex k)
Computes modulus k as function of theta constants

Parameters:
thetaConstants - theta constants
k - modulus (on output)
See Also:
Elliptic.thetaConstants(Complex), k_from_thetaConstants(Complex[])

k_from_thetaConstants

public static Complex k_from_thetaConstants(Complex[] thetaConstants)
Returns modulus k as function of theta constants.

Parameters:
thetaConstants - theta constants
Returns:
modulus
See Also:
Elliptic.thetaConstants(Complex), k_from_thetaConstants(Complex[],Complex)

kPrime_from_thetaConstants

public static void kPrime_from_thetaConstants(Complex[] thetaConstants,
                                              Complex kPrime)
Computes complementary modulus k' as function theta constants.

Parameters:
thetaConstants - theta constants
kPrime - complementary modulus k' (on output)
See Also:
Elliptic.thetaConstants(Complex), kPrime_from_thetaConstants(Complex[])

kPrime_from_thetaConstants

public static Complex kPrime_from_thetaConstants(Complex[] thetaConstants)
Returns complementary modulus k' as function of theta constants.

Parameters:
thetaConstants - theta constants
Returns:
complementary modulus
See Also:
Elliptic.thetaConstants(Complex), kPrime_from_thetaConstants(Complex[],Complex)

K_from_thetaConstants

public static void K_from_thetaConstants(Complex[] thetaConstants,
                                         Complex K)
Computes quarter period K as function of theta constants.

Parameters:
thetaConstants - theta constants
K - quarter period (on output)
See Also:
Elliptic.thetaConstants(Complex), K_from_thetaConstants(Complex[])

K_from_thetaConstants

public static Complex K_from_thetaConstants(Complex[] thetaConstants)
Returns quarter period K as function of theta constants.

Parameters:
thetaConstants - theta constants
Returns:
quarter period
See Also:
Elliptic.thetaConstants(Complex), K_from_thetaConstants(Complex[],Complex)

KPrime_from_K_and_tau

public static void KPrime_from_K_and_tau(Complex K,
                                         Complex tau,
                                         Complex KPrime)
Computes complementary quarter period K' as function of quarter period K and lattice parameter τ.

Parameters:
K - quarter period
tau - lattice parameter
KPrime - complementary quarter period (on output)
See Also:
KPrime_from_K_and_tau(Complex,Complex)

KPrime_from_K_and_tau

public static Complex KPrime_from_K_and_tau(Complex K,
                                            Complex tau)
Returns complementary quarter period K' as function of quarter period K and lattice parameter τ.

Parameters:
K - quarter period
tau - lattice parameter
Returns:
complementary quarter period
See Also:
KPrime_from_K_and_tau(Complex,Complex,Complex)

K_from_KPrime_and_tau

public static void K_from_KPrime_and_tau(Complex KPrime,
                                         Complex tau,
                                         Complex K)
Computes quarter period K as function of complementary quarter period K' and lattice parameter τ.

Parameters:
KPrime - complementary quarter period
tau - lattice parameter
K - quarter period (on output)
See Also:
K_from_KPrime_and_tau(Complex,Complex)

K_from_KPrime_and_tau

public static Complex K_from_KPrime_and_tau(Complex KPrime,
                                            Complex tau)
Returns quarter period K as function of complementary quarter period K' and lattice parameter τ.

Parameters:
KPrime - complementary quarter period
tau - lattice parameter
Returns:
quarter period (on output)
See Also:
K_from_KPrime_and_tau(Complex,Complex,Complex)

tauPrime_from_tau

public static void tauPrime_from_tau(Complex tau,
                                     Complex tauPrime)
Computes complementary lattice paramter τ' = -1/τ for lattice parameter τ. tau and tauPrime may coinside.

Parameters:
tau - lattice paramter τ
tauPrime - complementary lattice paramter τ'(on output)
See Also:
tauPrime_from_tau(Complex)

tauPrime_from_tau

public static Complex tauPrime_from_tau(Complex tau)
Returns complementary lattice paramter τ' = -1/τ for lattice parameter τ.

Parameters:
tau - lattice paramter τ
Returns:
complementary lattice paramter τ'
See Also:
tauPrime_from_tau(Complex,Complex)

tau_from_k

public static void tau_from_k(Complex k,
                              Complex tau)
Computes lattice parameter τ as function of modulus k.

Parameters:
k - modulus
tau - lattice paramter τ
See Also:
tau_from_k(Complex)

tau_from_k

public static Complex tau_from_k(Complex k)
Computes lattice parameter τ as function of modulus k.

Parameters:
k - modulus
Returns:
lattice paramter
See Also:
tau_from_k(Complex,Complex)