Public Shared Function s09aa ( _ x As Double, _ <OutAttribute> ByRef ifail As Integer _ ) As Double
public: static double s09aa( double x, [OutAttribute] int% ifail )
- Type: System..::..DoubleOn entry: the argument of the function.Constraint: .
s09aa calculates an approximate value for the inverse circular sine, . It is based on the Chebyshev expansion
where and .
For is undefined and the method fails.
Abramowitz M and Stegun I A (1972) Handbook of Mathematical Functions (3rd Edition) Dover Publications
Errors or warnings detected by the method:
- The method has been called with an argument greater than in absolute value; is undefined and the method returns zero.
If and are the relative errors in the argument and result, respectively, then in principle
That is, a relative error in the argument is amplified by at least a factor 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 where its behaviour is shown in the following graph.
For close to unity, , the above analysis is no longer applicable owing to the fact that both argument and result are subject to finite bounds, ( and ). In this region ; that is the result will have approximately half as many correct significant figures as the argument.
For the result will be correct to full machine precision.
This example reads values of the argument from a file, evaluates the function at each value of and prints the results.