Chapter 9: Special Functions > elliptic_integral_RF

elliptic_integral_RF

Evaluates Carlson’s elliptic integral of the first kind RF(xyz).

Synopsis

#include <imsl.h>

float imsl_f_elliptic_integral_RF (float x, float y, float z)

The type double function is imsl_d_elliptic_integral_RF.

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 nonnegative.

Return Value

The complete elliptic integral RF(xyz)

Description

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

The arguments must be nonnegative and less than or equal to b/5. In addition, x + y, x + z, and y + z must be greater than or equal to 5s. Should any of these conditions fail, imsl_f_elliptic_integral_RF is set to b. Here, b = imsl_f_machine(2) is the largest and s = imsl_f_machine(1) is the smallest representable number.

The function imsl_f_elliptic_integral_RF is based on the code by Carlson and Notis (1981) and the work of Carlson (1979).

Example

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

#include <imsl.h>

 

int main()

{

        float   x = 0.0;

        float   y = 1.0;

        float   z = 2.0;

        float   ans;

 

        x = imsl_f_elliptic_integral_RF (x, y, z);

 

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

}

Output

RF(0, 1, 2) = 1.311029


RW_logo.jpg
Contact Support