CWPL
This function evaluates the Weierstrass’ function in the lemniscatic case for complex argument with unit period parallelogram.
Function Return Value
CWPL — Complex function value. (Output)
Required Arguments
Z — Complex argument for which the function value is desired. (Input)
FORTRAN 90 Interface
Generic: CWPL (Z)
Specific: The specific interface names are C_CWPL and Z_CWPL.
FORTRAN 77 Interface
Complex:      CWPL (Z)
Double complex:    The double complex name is ZWPL.
Description
The Weierstrass’ function, (z) = (z  ωωʹ), is an elliptic function of order two with periods 2 ω and 2 ωʹ and a double pole at z = 0. CWPL(Z) computes (z  ωωʹ) with 2  ω = 1 and 2 ωʹ = i.
The input argument is first reduced to the fundamental parallelogram of all z satisfying –1/2  z  1/2 and –1/2   z  1/2. Then, a rational approximation is used.
All arguments are valid with the exception of the lattice points z = m + ni, which are the poles of CWPL. If the argument is a lattice point, then b = AMACH(2), the largest floating‑point number, is returned. If the argument has modulus greater than 10ɛ1, then NaN (not a number) is returned. Here, ɛ = AMACH(4) is the machine precision.
Function CWPL is based on code by Eckhardt (1980). Also, see Eckhardt (1977).
Example
In this example, (0.25 + 0.25i) is computed and printed.
 
USE CWPL_INT
USE UMACH_INT
 
IMPLICIT NONE
! Declare variables
INTEGER NOUT
COMPLEX VALUE, Z
! Compute
Z = (0.25, 0.25)
VALUE = CWPL(Z)
! Print the results
CALL UMACH (2, NOUT)
WRITE (NOUT,99999) Z, VALUE
99999 FORMAT (' CWPL(', F6.3, ',', F6.3, ') = (', &
F6.3, ',', F6.3, ')')
END
Output
 
CWPL( 0.250, 0.250) = ( 0.000,-6.875)