﻿ s21bj Method
s21bj returns a value of the classical (Legendre) form of the complete elliptic integral of the second kind.

Syntax

C#
```public static double s21bj(
double dm,
out int ifail
)```
Visual Basic
```Public Shared Function s21bj ( _
dm As Double, _
<OutAttribute> ByRef ifail As Integer _
) As Double```
Visual C++
```public:
static double s21bj(
double dm,
[OutAttribute] int% ifail
)```
F#
```static member s21bj :
dm : float *
ifail : int byref -> float
```

Parameters

dm
Type: System..::..Double
On entry: the argument $m$ of the function.
Constraint: ${\mathbf{dm}}\le 1.0$.
ifail
Type: System..::..Int32%
On exit: ${\mathbf{ifail}}={0}$ unless the method detects an error or a warning has been flagged (see [Error Indicators and Warnings]).

Return Value

s21bj returns a value of the classical (Legendre) form of the complete elliptic integral of the second kind.

Description

s21bj calculates an approximation to the integral
 $Em=∫0π21-msin2 θ12dθ,$
where $m\le 1$.
The integral is computed using the symmetrised elliptic integrals of Carlson (Carlson (1979) and Carlson (1988)). The relevant identity is
 $Em=RF0,1-m,1-13mRD0,1-m,1,$
where ${R}_{F}$ is the Carlson symmetrised incomplete elliptic integral of the first kind (see s21bb) and ${R}_{D}$ is the Carlson symmetrised incomplete elliptic integral of the second kind (see s21bc).

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

Error Indicators and Warnings

Errors or warnings detected by the method:
${\mathbf{ifail}}=1$
On entry, ${\mathbf{dm}}>1.0$; the function is undefined. On failure, the method returns zero.
${\mathbf{ifail}}=-9000$
An error occured, see message report.

Accuracy

In principle s21bj 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.

Parallelism and Performance

None.

For more information on the algorithms used to compute ${R}_{F}$ and ${R}_{D}$, see the method documents for s21bb and s21bc, respectively.