NAG Library Function Documentnag_elliptic_integral_complete_K (s21bhc)

1  Purpose

nag_elliptic_integral_complete_K (s21bhc) returns a value of the classical (Legendre) form of the complete elliptic integral of the first kind.

2  Specification

#include <nag.h>
#include <nags.h>

double  nag_elliptic_integral_complete_K (double dm,  NagError *fail)

3  Description

nag_elliptic_integral_complete_K (s21bhc) calculates an approximation to the integral

$Km = ∫0 π2 1-m sin2⁡θ -12 dθ ,$
where $m<1$.
The integral is computed using the symmetrised elliptic integrals of Carlson (Carlson (1979) and Carlson (1988)). The relevant identity is

$Km = RF 0,1-m,1 ,$
where ${R}_{F}$ is the Carlson symmetrised incomplete elliptic integral of the first kind (see nag_elliptic_integral_rf (s21bbc)).

4  References

Abramowitz M and Stegun I A (1972) Handbook of Mathematical Functions (3rd Edition) Dover Publications
Carlson B C (1979) Computing elliptic integrals by duplication Numerische Mathematik 33 1–16
Carlson B C (1988) A table of elliptic integrals of the third kind Math. Comput. 51 267–280

5  Arguments

1:     dm – doubleInput
On entry: the argument $m$ of the function.
Constraint: ${\mathbf{dm}}<1.0$.
2:     fail – NagError *Input/Output
The NAG error argument (see Section 3.6 in the Essential Introduction).

6  Error Indicators and Warnings

NE_INTERNAL_ERROR
An internal error has occurred in this function. Check the function call and any array sizes. If the call is correct then please contact NAG for assistance.
NE_REAL
On entry, ${\mathbf{dm}}=〈\mathit{\text{value}}〉$; the integral is undefined.
Constraint: ${\mathbf{dm}}<1.0$.
On failure, the function returns zero.
NW_INTEGRAL_INFINITE
On entry, ${\mathbf{dm}}=1.0$; the integral is infinite.
On failure, the function returns the largest machine number (see nag_real_largest_number (X02ALC)).

7  Accuracy

In principle nag_elliptic_integral_complete_K (s21bhc) is capable of producing full machine precision. However round-off errors in internal arithmetic will result in slight loss of accuracy. This loss should never be excessive as the algorithm does not involve any significant amplification of round-off error. It is reasonable to assume that the result is accurate to within a small multiple of the machine precision.

8  Further Comments

You should consult the s Chapter Introduction, which shows the relationship between this function and the Carlson definitions of the elliptic integrals. In particular, the relationship between the argument-constraints for both forms becomes clear.
For more information on the algorithm used to compute ${R}_{F}$, see the function document for nag_elliptic_integral_rf (s21bbc).

9  Example

This example simply generates a small set of nonextreme arguments that are used with the function to produce the table of results.

9.1  Program Text

Program Text (s21bhce.c)

None.

9.3  Program Results

Program Results (s21bhce.r)
{"extraction_info": {"found_math": true, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 10, "mathjax_tag": 0, "mathjax_inline_tex": 0, "mathjax_display_tex": 0, "mathjax_asciimath": 0, "img_math": 0, "codecogs_latex": 0, "wp_latex": 0, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0}, "config": {"markdown_headings": false, "markdown_code": true, "boilerplate_config": {"ratio_threshold": 0.18, "absolute_threshold": 10, "end_threshold": 15, "enable": true}, "remove_buttons": true, "remove_image_figures": true, "remove_link_clusters": true, "table_config": {"min_rows": 2, "min_cols": 3, "format": "github"}, "remove_chinese": true, "remove_edit_buttons": true, "extract_latex": true}, "english_confidence": 0.6676052808761597, "perplexity_flag": "middle"}