```
```

### NAME

```     daxpyi - Compute y := alpha * x + y
```

### SYNOPSIS

```      SUBROUTINE DAXPYI(NZ, A, X, INDX, Y)

DOUBLE PRECISION A
DOUBLE PRECISION X(*), Y(*)
INTEGER NZ
INTEGER INDX(*)

SUBROUTINE DAXPYI_64(NZ, A, X, INDX, Y)

DOUBLE PRECISION A
DOUBLE PRECISION X(*), Y(*)
INTEGER*8 NZ
INTEGER*8 INDX(*)

F95 INTERFACE
SUBROUTINE AXPYI([NZ], [A], X, INDX, Y)

REAL(8) :: A
REAL(8), DIMENSION(:) :: X, Y
INTEGER :: NZ
INTEGER, DIMENSION(:) :: INDX

SUBROUTINE AXPYI_64([NZ], [A], X, INDX, Y)

REAL(8) :: A
REAL(8), DIMENSION(:) :: X, Y
INTEGER(8) :: NZ
INTEGER(8), DIMENSION(:) :: INDX

```

### PURPOSE

```     DAXPYI Compute y := alpha * x + y where alpha is a scalar, x
is a sparse vector, and y is a vector in full storage form

do i = 1, n
y(indx(i)) = alpha * x(i) + y(indx(i))
enddo

```

### ARGUMENTS

```     NZ (input) - INTEGER
Number of elements in the compressed form.
Unchanged on exit.

A (input)
On entry, A(LPHA) specifies the scaling value.
Unchanged on exit.  A is defaulted to 1.0D0 for F95
INTERFACE.
X (input)
Vector containing the values of the compressed form.
Unchanged on exit.

INDX (input) - INTEGER
Vector containing the indices of the compressed
form.  It is assumed that the elements in INDX are
distinct and greater than zero.  Unchanged on exit.

Y (output)
Vector on input which contains the vector Y in full
storage form.  On exit, only the elements
corresponding to the indices in INDX have been
modified.

```