# ?axpyi

Adds a scalar multiple of compressed sparse vector to a full-storage vector.

## Syntax

FORTRAN 77:

call saxpyi(nz, a, x, indx, y)

call daxpyi(nz, a, x, indx, y)

call caxpyi(nz, a, x, indx, y)

call zaxpyi(nz, a, x, indx, y)

Fortran 95:

call axpyi(x, indx, y [, a])

## Description

The ?axpyi routines perform a vector-vector operation defined as
`y := a*x + y`

where:

a is a scalar,

x is a sparse vector stored in compressed form,

y is a vector in full storage form.

The ?axpyi routines reference or modify only the elements of y whose indices are listed in the array indx.

The values in indx must be distinct.

## Input Parameters

nz

  INTEGER. The number of elements in x and indx.

a

  REAL for saxpyi

  DOUBLE PRECISION for daxpyi

  COMPLEX for caxpyi

  DOUBLE COMPLEX for zaxpyi

  Specifies the scalar a.

x

  REAL for saxpyi

  DOUBLE PRECISION for daxpyi

  COMPLEX for caxpyi

  DOUBLE COMPLEX for zaxpyi

  Array, DIMENSION at least nz.

indx

  INTEGER. Specifies the indices for the elements of x.

  Array, DIMENSION at least nz.

y

  REAL for saxpyi

  DOUBLE PRECISION for daxpyi

  COMPLEX for caxpyi

  DOUBLE COMPLEX for zaxpyi

  Array, DIMENSION at least `max(indx(i))`.

## Output Parameters

y

  Contains the updated vector y.

## 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 axpyi interface are the following:

x

  Holds the vector of length (nz).

indx

  Holds the vector of length (nz).

y

  Holds the vector of length (nz).

a

  The default value is 1.

Parent topic: Sparse BLAS Level 1 Routines