ELWK 3CW "06 March 2010" "mathcw-1.00"

Table of contents


NAME

elwkf, elwk, elwkl, elwkw, elwkq, elwkll, elwkdf, elwkd, elwkdl, elwkdll - Weierstrass elliptic function support routines

SYNOPSIS

cc [ flags ] -I/usr/local/include file(s) -L/usr/local/lib -lmcw [ ... ]

#include <mathcw.h>

extern void elwkf (float *pk, float *pkm1, float e1, float e2);

extern void elwk (double *pk, double *pkm1, double e1, double e2);

extern void elwkl (long double *pk, long double *pkm1, long double e1, long double e2);

extern void elwkw (__float80 *pk, __float80 *pkm1, __float80 e1, __float80 e2);

extern void elwkq (__float128 *pk, __float128 *pkm1, __float128 e1, __float128 e2);

extern void elwkll (long_long_double *pk, long_long_double *pkm1,
                    long_long_double e1, long_long_double e2);

extern void elwkdf (decimal_float *pk, decimal_float *pkm1,
                    decimal_float e1, decimal_float e2);

extern void elwkd (decimal_double *pk, decimal_double *pkm1,
                   decimal_double e1, decimal_double e2);

extern void elwkdl (decimal_long_double *pk, decimal_long_double *pkm1,
                    decimal_long_double e1, decimal_long_double e2);

extern void elwkdll (decimal_long_long_double *pk, decimal_long_long_double *pkm1,
                    decimal_long_long_double e1, decimal_long_long_double e2);

NB: Functions with prototypes containing underscores in type names may be available only with certain extended compilers.


DESCRIPTION

Given e1 and e2, which are any two of the three roots of the Weierstrass cubic polynomial, where the sum of the roots is zero, compute the modulus k and the reduced modulus km1 = k - 1 of the real and imaginary parts of the Weierstrass elliptic functions.

This function is provided so that the smaller of k and km1 is computed accurately first, and the larger is then derived from it. This is important when the modulus is close to one.

See M. Abramowitz & I. A. Stegun, Handbook of Mathematical Functions, Chapter 18, for definitions of the Weierstrass elliptic, sigma, and zeta functions.


RETURN VALUES

Return the periods k and km1 through the pointer arguments, but suppress storage if the corresponding pointer is NULL.

ERRORS

If any argument is a NaN, set errno to EDOM and set the two results to that argument.

SEE ALSO

elk(3CW), elkm1(3CW), elq(3CW), elq1p(3CW), elqc(3CW), elqc1p(3CW), elwdp(3CW), elwe(3CW), elwg(3CW), elwip(3CW), elwo(3CW), elwp(3CW), elws(3CW), elwz(3CW),