This manual relates to an old release of the Library.
The documentation for the current release is also available on this site.

NAG FL Interface
a02abf (abs)

Settings help

FL Name Style:


FL Specification Language:


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 <nag.h>
double  a02abf_ (const double *xr, const double *xi)
The routine may be called by the names a02abf or nagf_complex_abs.

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)