IMSL Fortran Math Special Functions Library
CWPLD
This function evaluates the first derivative of the Weierstrass’ function in the lemniscatic case for complex argument with unit period parallelogram.
Function Return Value
CWPLD — Complex function value. (Output)
Required Arguments
Z — Complex argument for which the function value is desired. (Input)
FORTRAN 90 Interface
Generic: CWPLD (Z)
Specific: The specific interface names are C_CWPLD and Z_CWPLD.
FORTRAN 77 Interface
Complex:     CWPLD (Z)
Double complex:   The double complex name is ZWPLD.
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. CWPLD(Z) computes the derivative of (z  ωωʹ) with 2 ω = 1 and 2 ωʹ = i. CWPL computes (z  ωωʹ).
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.
Function CWPLD is based on code by Eckhardt (1980). Also, see Eckhardt (1977).
Example
In this example, (0.25 + 0.25i) is computed and printed.
 
USE CWPLD_INT
USE UMACH_INT
 
IMPLICIT NONE
! Declare variables
INTEGER NOUT
COMPLEX VALUE, Z
! Compute
Z = (0.25, 0.25)
VALUE = CWPLD(Z)
! Print the results
CALL UMACH (2, NOUT)
WRITE (NOUT,99999) Z, VALUE
99999 FORMAT (' CWPLD(', F6.3, ',', F6.3, ') = (', &
F6.3, ',', F6.3, ')')
END
Output
 
CWPLD( 0.250, 0.250) = (36.054,36.054)