NAG Library Routine Document

a02abf (abs)

1
Purpose

a02abf returns the value of the modulus of the complex number x=xr,xi.

2
Specification

Fortran Interface
Function a02abf ( xr, xi)
Real (Kind=nag_wp):: a02abf
Real (Kind=nag_wp), Intent (In):: xr, xi
C Header Interface
#include <nagmk26.h>
double  a02abf_ (const double *xr, const double *xi)

3
Description

The function evaluates xr2+xi2 by using a1+ ba 2 where a is the larger of xr and xi, and b is the smaller of xr and xi. This ensures against unnecessary overflow and loss of accuracy when calculating xr2+xi2.

4
References

Wilkinson J H and Reinsch C (1971) Handbook for Automatic Computation II, Linear Algebra Springer–Verlag

5
Arguments

1:     xr – Real (Kind=nag_wp)Input
2:     xi – Real (Kind=nag_wp)Input
On entry: xr and xi, the real and imaginary parts of x, respectively.

6
Error Indicators and Warnings

None.

7
Accuracy

The result should be correct to machine precision.

8
Parallelism and Performance

a02abf is not threaded in any implementation.

9
Further Comments

None.

10
Example

This example finds the modulus of -1.7+2.6i.

10.1
Program Text

Program Text (a02abfe.f90)

10.2
Program Data

Program Data (a02abfe.d)

10.3
Program Results

Program Results (a02abfe.r)