daxpy(3f) - [M_odepack::matrix] Compute a constant times a vector plus a vector.
subroutine daxpy(N,Da,Dx,Incx,Dy,Incy)
integer,intent(in) :: N
real(kind=dp),intent(in) :: Da
real(kind=dp),intent(in) :: Dx(*)
integer,intent(in) :: Incx
real(kind=dp),intent(inout) :: Dy(*)
integer,intent(in) :: Incy
daxpy(3f) computes a constant times a vector plus a vector. It uses unrolled loops for increments equal to one.
Overwrite double precision DY with double precision DADX + DY. For I = 0 to N-1, replace DY(LY+IINCY) with DADX(LX+IINCX) + DY(LY+I*INCY),
where LX = 1 if INCX .GE. 0, else LX = 1+(1-N)*INCX, and LY is defined in a similar way using INCY.
number of elements in input vector(s)
double precision scalar multiplier
double precision vector with N elements
storage spacing between elements of DX
double precision vector with N elements
storage spacing between elements of DY
double precision result (unchanged if N .LE. 0)
C. L. Lawson, R. J. Hanson, D. R. Kincaid and F. T. Krogh, Basic linear algebra subprograms for Fortran usage, Algorithm No. 539, Transactions on Mathematical Software 5, 3 (September 1979), pp. 308-323.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | N | |||
real(kind=dp), | intent(in) | :: | Da | |||
real(kind=dp), | intent(in) | :: | Dx(*) | |||
integer, | intent(in) | :: | Incx | |||
real(kind=dp), | intent(inout) | :: | Dy(*) | |||
integer, | intent(in) | :: | Incy |