hide long namesshow long names
hide short namesshow short names
Integer type:  int32  int64  nag_int  show int32  show int32  show int64  show int64  show nag_int  show nag_int

PDF version (NAG web site, 64-bit version, 64-bit version)
Chapter Contents
Chapter Introduction
NAG Toolbox

NAG Toolbox: nag_specfun_arcsin (s09aa)

 Contents

    1  Purpose
    2  Syntax
    7  Accuracy
    9  Example

Purpose

nag_specfun_arcsin (s09aa) returns the value of the inverse circular sine, arcsinx, via the function name. The value is in the principal range -π/2,π/2.

Syntax

[result, ifail] = s09aa(x)
[result, ifail] = nag_specfun_arcsin(x)

Description

nag_specfun_arcsin (s09aa) calculates an approximate value for the inverse circular sine, arcsinx. It is based on the Chebyshev expansion
arcsinx=x×yx=xr=0arTrt  
where - 12x 12  and t=4x2-1.
For x2 12,  arcsinx=x×yx.
For 12<x21,  arcsinx=signx π2-arcsin1-x2 .
For x2>1,  arcsinx is undefined and the function fails.

References

Abramowitz M and Stegun I A (1972) Handbook of Mathematical Functions (3rd Edition) Dover Publications

Parameters

Compulsory Input Parameters

1:     x – double scalar
The argument x of the function.
Constraint: x1.0.

Optional Input Parameters

None.

Output Parameters

1:     result – double scalar
The result of the function.
2:     ifail int64int32nag_int scalar
ifail=0 unless the function detects an error (see Error Indicators and Warnings).

Error Indicators and Warnings

Errors or warnings detected by the function:
   ifail=1
The function has been called with an argument greater than 1.0 in absolute value; arcsinx is undefined and the function returns zero.
   ifail=-99
An unexpected error has been triggered by this routine. Please contact NAG.
   ifail=-399
Your licence key may have expired or may not have been installed correctly.
   ifail=-999
Dynamic memory allocation failed.

Accuracy

If δ and ε are the relative errors in the argument and result, respectively, then in principle
ε x arcsinx 1-x2 ×δ .  
That is, a relative error in the argument x is amplified by at least a factor xarcsinx1-x2  in the result.
The equality should hold if δ is greater than the machine precision (δ is a result of data errors etc.) but if δ is produced simply by round-off error in the machine it is possible that rounding in internal calculations may lose an extra figure in the result.
This factor stays close to one except near x=1 where its behaviour is shown in the following graph.
Figure 1
Figure 1
For x close to unity, 1-xδ, the above analysis is no longer applicable owing to the fact that both argument and result are subject to finite bounds, (x1 and arcsinx12π). In this region εδ; that is the result will have approximately half as many correct significant figures as the argument.
For x=1 the result will be correct to full machine precision.

Further Comments

None.

Example

This example reads values of the argument x from a file, evaluates the function at each value of x and prints the results.
function s09aa_example


fprintf('s09aa example results\n\n');

x = [ -0.5    0.1     0.9];
n = size(x,2);
result = x;

for j=1:n
  [result(j), ifail] = s09aa(x(j));
end

disp('      x        arcsin(x)');
fprintf('%12.3e%12.3e\n',[x; result]);


s09aa example results

      x        arcsin(x)
  -5.000e-01  -5.236e-01
   1.000e-01   1.002e-01
   9.000e-01   1.120e+00

PDF version (NAG web site, 64-bit version, 64-bit version)
Chapter Contents
Chapter Introduction
NAG Toolbox

© The Numerical Algorithms Group Ltd, Oxford, UK. 2009–2015