This function evaluates the first derivative of the Weierstrass' ℘ function in the lemniscatic case for complex argument with unit period parallelogram.
CWPLD — Complex function value. (Output)
Z — Complex argument for which the function value is desired. (Input)
Generic: CWPLD (Z)
Specific: The specific interface names are C_CWPLD and Z_CWPLD.
Complex: CWPLD (Z)
Double complex: The double complex name is ZWPLD.
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).
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
CWPLD( 0.250, 0.250) = (36.054,36.054)
PHONE: 713.784.3131 FAX:713.781.9260 |