# ?asum

Computes the sum of magnitudes of the vector elements.

## Syntax

FORTRAN 77:

res = sasum(n, x, incx)

res = scasum(n, x, incx)

res = dasum(n, x, incx)

res = dzasum(n, x, incx)

Fortran 95:

res = asum(x)

## Description

The function ?asum function computes the sum of the magnitudes of elements of a real vector, or the sum of magnitudes of the real and imaginary parts of elements of a complex vector:
`res = |Re x(1)| + |Im x(1)| + |Re x(2)| + |Im x(2)|+ ... + |Re x(n)| + |Im x(n)|,`

where x is a vector of order n.

## Input Parameters

n

  INTEGER. Specifies the number of elements in vector x.

x

  REAL for sasum

  DOUBLE PRECISION for dasum

  COMPLEX for scasum

  DOUBLE COMPLEX for dzasum

  Array, DIMENSION at least `(1 + (n-1)*abs(incx))`.

incx

  INTEGER. Specifies the increment for indexing vector x.

## Output Parameters

res

  REAL for sasum

  DOUBLE PRECISION for dasum

  REAL for scasum

  DOUBLE PRECISION for dzasum

  Contains the sum of magnitudes of real and imaginary parts of all elements of the vector.

## Fortran 95 Interface Notes

Routines in Fortran 95 interface have fewer arguments in the calling sequence than their FORTRAN 77 counterparts. For general conventions applied to skip redundant or reconstructible arguments, see Fortran 95 Interface Conventions.

Specific details for the routine asum interface are the following:

x

  Holds the array of size(n).

Parent topic: BLAS Level 1 Routines