## org.jscience.mathematics.analysis.elliptic Class Elliptic

```java.lang.Object
org.jscience.mathematics.analysis.elliptic.Elliptic
```
Direct Known Subclasses:
Jacobi

`public class Ellipticextends java.lang.Object`

Class provides Jacobi's elliptic theta functions.

Method Summary
`static Complex` ```theta(Complex z, Complex tau)```
Computes θ(z,τ).
`static void` ```theta(Complex w, Complex tau, Complex z, Complex logOfC, Complex thetaOfZ)```
Helps to compute θ(w,τ) = c θ(z,τ).
`static Complex` ```theta0(Complex z, Complex tau)```
Computes θ0(z,τ).
`static void` ```theta0(Complex w, Complex tau, Complex z, Complex logOfC, Complex thetaOfZ)```
Helps to compute θ0(w,τ) = c θ(z,τ).
`static Complex` ```theta1(Complex z, Complex tau)```
Computes θ1(z,τ).
`static void` ```theta1(Complex w, Complex tau, Complex z, Complex logOfC, Complex thetaOfZ)```
Helps to compute θ1(w,τ) = c θ(z,τ).
`static Complex` ```theta2(Complex z, Complex tau)```
Computes θ2(z,τ).
`static void` ```theta2(Complex w, Complex tau, Complex z, Complex logOfC, Complex thetaOfZ)```
Helps to compute θ2(w,τ) = c θ(z,τ).
`static Complex` ```theta3(Complex z, Complex tau)```
Computes θ3(z,τ).
`static void` ```theta3(Complex w, Complex tau, Complex z, Complex logOfC, Complex thetaOfZ)```
Helps to compute θ3(w,τ) = c θ(z,τ).
`static Complex` ```theta4(Complex z, Complex tau)```
Computes θ4(w,τ).
`static void` ```theta4(Complex w, Complex tau, Complex z, Complex logOfC, Complex thetaOfZ)```
Helps to compute θ4(w,τ) = c θ(z,τ).
`static Complex[]` `thetaConstants(Complex tau)`
Returns theta constants θ0(0,τ), θ1(0,τ) = 0, θ2(0,τ) = 0, and θ3(0,τ).
`static void` ```thetaConstants(Complex tau, Complex[] c)```
Computes theta constants θ0(0,τ), θ1(0,τ) = 0, θ2(0,τ) = 0, and θ3(0,τ).

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Method Detail

### thetaConstants

```public static void thetaConstants(Complex tau,
Complex[] c)```
Computes theta constants θ0(0,τ), θ1(0,τ) = 0, θ2(0,τ) = 0, and θ3(0,τ). The result is stored in the array c. The array may have null entries, which causes the routine to create instances.

Parameters:
`tau` - lattice paramter τ
`eps` - absoute error for theta functions
`c` - array with the four theta constants (on output)

### thetaConstants

`public static Complex[] thetaConstants(Complex tau)`
Returns theta constants θ0(0,τ), θ1(0,τ) = 0, θ2(0,τ) = 0, and θ3(0,τ). The result is stored in the array c. The array may have null entries, which causes the routine to create instances.

Parameters:
`tau` - lattice paramter τ
Returns:
array with the four theta constants (on output)

### theta

```public static Complex theta(Complex z,
Complex tau)```
Computes θ(z,τ). θ, θ0, θ4 refer to the same function, thus `theta(Complex,Complex)` , `theta0(Complex,Complex)`, and `theta4(Complex,Complex)` are identical.

Parameters:
`z` - argument
`tau` - lattice parameter
Returns:
θ(z,τ)
`theta(Complex,Complex,Complex,Complex,Complex)`

### theta

```public static void theta(Complex w,
Complex tau,
Complex z,
Complex logOfC,
Complex thetaOfZ)```
Helps to compute θ(w,τ) = c θ(z,τ). θ, θ0, θ4 refer to the same function, thus `theta(Complex,Complex,Complex,Complex,Complex)`, `theta0(Complex,Complex,Complex,Complex,Complex)`, and `theta4(Complex,Complex,Complex,Complex,Complex)` are idenical.

Parameters:
`w` - argument
`tau` - lattice parameter
`z` - = x π + y π τ with -0.5 <= x,y <= 0.5 (on output)
`logOfC` - equals log(c) (on output)
`thetaOfZ` - equals θ(z,τ) (on output)
`theta(Complex,Complex)`

### theta0

```public static Complex theta0(Complex z,
Complex tau)```
Computes θ0(z,τ). θ, θ0, θ4 refer to the same function, thus `theta(Complex,Complex)`, `theta0(Complex,Complex)`, and `theta4(Complex,Complex)` are identical.

Parameters:
`z` - argument
`tau` - lattice parameter
Returns:
θ0(z,τ)
`theta0(Complex,Complex,Complex,Complex,Complex)`

### theta0

```public static void theta0(Complex w,
Complex tau,
Complex z,
Complex logOfC,
Complex thetaOfZ)```
Helps to compute θ0(w,τ) = c θ(z,τ). θ, θ0, θ4 refer to the same function, thus `theta(Complex,Complex,Complex,Complex,Complex)`, `theta0(Complex,Complex,Complex,Complex,Complex)`, and `theta4(Complex,Complex,Complex,Complex,Complex)` are identical.

Parameters:
`w` - argument
`tau` - lattice parameter
`z` - = x π + y π τ with -0.5 <= x,y <= 0.5 (on output)
`logOfC` - equals log(c) (on output)
`thetaOfZ` - equals θ(z,τ) (on output)
`theta0(Complex,Complex)`

### theta1

```public static Complex theta1(Complex z,
Complex tau)```
Computes θ1(z,τ).

Parameters:
`z` - argument
`tau` - lattice parameter
Returns:
θ1(z,τ)
`theta1(Complex,Complex,Complex,Complex,Complex)`

### theta1

```public static void theta1(Complex w,
Complex tau,
Complex z,
Complex logOfC,
Complex thetaOfZ)```
Helps to compute θ1(w,τ) = c θ(z,τ).

Parameters:
`w` - argument
`tau` - lattice parameter
`z` - equals x π + y π τ with -0.5 <= x,y <= 0.5 (on output)
`logOfC` - equals log(c) (on output)
`thetaOfZ` - equals θ(z,τ) (on output)
`theta1(Complex,Complex)`

### theta2

```public static Complex theta2(Complex z,
Complex tau)```
Computes θ2(z,τ).

Parameters:
`z` - argument
`tau` - lattice parameter
Returns:
θ2(z,τ)
`theta2(Complex,Complex,Complex,Complex,Complex)`

### theta2

```public static void theta2(Complex w,
Complex tau,
Complex z,
Complex logOfC,
Complex thetaOfZ)```
Helps to compute θ2(w,τ) = c θ(z,τ).

Parameters:
`w` - argument
`tau` - lattice parameter
`z` - equals x π + y π τ with -0.5 <= x,y <= 0.5 (on output)
`logOfC` - equals log(c) (on output)
`thetaOfZ` - equals θ(z,τ) (on output)
`theta2(Complex,Complex)`

### theta3

```public static Complex theta3(Complex z,
Complex tau)```
Computes θ3(z,τ).

Parameters:
`z` - argument
`tau` - lattice parameter
Returns:
θ3(z,τ)
`theta3(Complex,Complex,Complex,Complex,Complex)`

### theta3

```public static void theta3(Complex w,
Complex tau,
Complex z,
Complex logOfC,
Complex thetaOfZ)```
Helps to compute θ3(w,τ) = c θ(z,τ).

Parameters:
`w` - argument
`tau` - lattice parameter
`z` - equals x π + y π τ with -0.5 <= x,y <= 0.5 (on output)
`logOfC` - equals log(c) (on output)
`thetaOfZ` - equals θ(z,τ) (on output)
`theta3(Complex,Complex)`

### theta4

```public static Complex theta4(Complex z,
Complex tau)```
Computes θ4(w,τ). θ, θ0, θ4 refer to the same function, thus `theta(Complex,Complex)`, `theta0(Complex,Complex)`, and `theta4(Complex,Complex)` are identical.

Parameters:
`z` - argument
`tau` - lattice parameter
`theta4(Complex,Complex,Complex,Complex,Complex)`

### theta4

```public static void theta4(Complex w,
Complex tau,
Complex z,
Complex logOfC,
Complex thetaOfZ)```
Helps to compute θ4(w,τ) = c θ(z,τ). θ, θ0, θ4 refer to the same function, thus `theta(Complex,Complex,Complex,Complex,Complex)`, `theta0(Complex,Complex,Complex,Complex,Complex)`, and `theta4(Complex,Complex,Complex,Complex,Complex)` are identical.

Parameters:
`w` - argument
`tau` - lattice parameter
`z` - = x π + y π τ with -0.5 <= x,y <= 0.5 (on output)
`logOfC` - =log(c) (on output)
`theta3OfZ` - = θ4(z,τ) (on output)
`theta4(Complex,Complex)`