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)