151 SUBROUTINE dsymv(UPLO,N,ALPHA,A,LDA,X,INCX,BETA,Y,INCY)
158 DOUBLE PRECISION ALPHA,BETA
159 INTEGER INCX,INCY,LDA,N
163 DOUBLE PRECISION A(LDA,*),X(*),Y(*)
169 DOUBLE PRECISION ONE,ZERO
170 parameter(one=1.0d+0,zero=0.0d+0)
173 DOUBLE PRECISION TEMP1,TEMP2
174 INTEGER I,INFO,IX,IY,J,JX,JY,KX,KY
190 IF (.NOT.lsame(uplo,
'U') .AND. .NOT.lsame(uplo,
'L'))
THEN
192 ELSE IF (n.LT.0)
THEN
194 ELSE IF (lda.LT.max(1,n))
THEN
196 ELSE IF (incx.EQ.0)
THEN
198 ELSE IF (incy.EQ.0)
THEN
202 CALL xerbla(
'DSYMV ',info)
208 IF ((n.EQ.0) .OR. ((alpha.EQ.zero).AND. (beta.EQ.one)))
RETURN
229 IF (beta.NE.one)
THEN
231 IF (beta.EQ.zero)
THEN
242 IF (beta.EQ.zero)
THEN
255 IF (alpha.EQ.zero)
RETURN
256 IF (lsame(uplo,
'U'))
THEN
260 IF ((incx.EQ.1) .AND. (incy.EQ.1))
THEN
265 y(i) = y(i) + temp1*a(i,j)
266 temp2 = temp2 + a(i,j)*x(i)
268 y(j) = y(j) + temp1*a(j,j) + alpha*temp2
279 y(iy) = y(iy) + temp1*a(i,j)
280 temp2 = temp2 + a(i,j)*x(ix)
284 y(jy) = y(jy) + temp1*a(j,j) + alpha*temp2
293 IF ((incx.EQ.1) .AND. (incy.EQ.1))
THEN
297 y(j) = y(j) + temp1*a(j,j)
299 y(i) = y(i) + temp1*a(i,j)
300 temp2 = temp2 + a(i,j)*x(i)
302 y(j) = y(j) + alpha*temp2
310 y(jy) = y(jy) + temp1*a(j,j)
316 y(iy) = y(iy) + temp1*a(i,j)
317 temp2 = temp2 + a(i,j)*x(ix)
319 y(jy) = y(jy) + alpha*temp2
subroutine xerbla(srname, info)
subroutine dsymv(uplo, n, alpha, a, lda, x, incx, beta, y, incy)
DSYMV