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

Background information to multithreading can be found in the Multithreading documentation.
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)