Chapter 9: Special Functions

elliptic_integral_RD

Evaluates Carlson’s elliptic integral of the second kind RD(x, y, z).

Synopsis

#include <imsl.h>

float imsl_f_elliptic_integral_RD (float x, float y, float z)

The type double function is imsl_d_elliptic_integral_RD.

Required Arguments

float x   (Input)
First variable of the incomplete elliptic integral. It must be nonnegative.

float y   (Input)
Second variable of the incomplete elliptic integral. It must be nonnegative.

float z   (Input)
Third variable of the incomplete elliptic integral. It must be positive.

Return Value

The complete elliptic integral RD(x, y, z)

Description

Carlson’s elliptic integral of the first kind is define to be

The arguments must be nonnegative and less than or equal to 0.69(-lne)1/9s-2/3 where
e = imsl_f_machine(4) is the machine precision, s = imsl_f_machine(1) is the smallest repre­sentable positive number. Furthermore, x + y and z must be greater than max{3s2/3, 3/b2/3}, where b = imsl_f_machine(2) is the largest floating point number. If any of these conditions are false, then imsl_f_elliptic_integral_RD returns b.

The function imsl_f_elliptic_integral_RD is based on the code by Carlson and No­tis (1981) and the work of Carlson (1979).

Example

The integral RD(0, 2, 1) is computed.

#include <imsl.h>


main()

{

        float   x = 0.0;

        float   y = 2.0;

        float   z = 1.0;

        float   ans;


        x = imsl_f_elliptic_integral_RD (x, y, z);


        printf ("RD(0, 2, 1) = %f\n", x);

}

Output

RD(0, 2, 1) = 1.797210


Visual Numerics, Inc.
Visual Numerics - Developers of IMSL and PV-WAVE
http://www.vni.com/
PHONE: 713.784.3131
FAX:713.781.9260