nag_shifted_log (s01bac) (PDF version)
s Chapter Contents
s Chapter Introduction
NAG Library Manual
Keyword Search:
NAG Library Function Document
nag_shifted_log (s01bac)
▸
▿
Contents
1
Purpose
2
Specification
3
Description
4
References
5
Arguments
6
Error Indicators and Warnings
7
Accuracy
8
Parallelism and Performance
9
Further Comments
▸
▿
10
Example
10.1
Program Text
10.2
Program Data
10.3
Program Results
1
Purpose
nag_shifted_log (s01bac)
returns a value of the shifted logarithmic function,
ln
1
+
x
.
2
Specification
#include <nag.h>
#include <nags.h>
double
nag_shifted_log (
double
x
,
NagError *
fail
)
3
Description
nag_shifted_log (s01bac)
computes values of
ln
1
+
x
, retaining full relative precision even when
x
is small. The function is based on the Chebyshev expansion
ln
1
+
p
2
+
2
p
x
-
1
+
p
2
-
2
p
x
-
=
4
∑
k
=
0
∞
p
2
k
+
1
2
k
+
1
T
2
k
+
1
x
-
.
Setting
x
-
=
x
1
+
p
2
2
p
x
+
2
, and choosing
p
=
q
-
1
q
+
1
,
q
=
2
4
the expansion is valid in the domain
x
∈
1
2
-
1
,
2
-
1
.
Outside this domain,
ln
1
+
x
is computed by the standard logarithmic function.
4
References
Lyusternik L A, Chervonenkis O A and Yanpolskii A R (1965)
Handbook for Computing Elementary Functions
p. 57 Pergamon Press
5
Arguments
1:
x
–
double
Input
On entry
: the argument
x
of the function.
Constraint
:
x
>
-
1.0
.
2:
fail
–
NagError *
Input/Output
The NAG error argument (see
Section 3.7
in How to Use the NAG Library and its Documentation).
6
Error Indicators and Warnings
NE_REAL_ARG_LE
On entry,
x
=
value
.
Constraint:
x
>
-
1.0
.
7
Accuracy
The returned result should be accurate almost to
machine precision
, with a limit of about
20
significant figures due to the precision of internal constants. Note however that if
x
lies very close to
-
1.0
and is not exact (for example if
x
is the result of some previous computation and has been rounded), then precision will be lost in the computation of
1
+
x
, and hence
ln
1
+
x
, in
nag_shifted_log (s01bac)
.
8
Parallelism and Performance
nag_shifted_log (s01bac)
is not threaded in any implementation.
9
Further Comments
Empirical tests show that the time taken for a call of
nag_shifted_log (s01bac)
usually lies between about
1.25
and
2.5
times the time for a call to the standard logarithm function.
10
Example
The example program reads values of the argument
x
from a file, evaluates the function at each value of
x
and prints the results.
10.1
Program Text
Program Text (s01bace.c)
10.2
Program Data
Program Data (s01bace.d)
10.3
Program Results
Program Results (s01bace.r)
nag_shifted_log (s01bac) (PDF version)
s Chapter Contents
s Chapter Introduction
NAG Library Manual
© The Numerical Algorithms Group Ltd, Oxford, UK. 2017