148 SUBROUTINE strmv(UPLO,TRANS,DIAG,N,A,LDA,X,INCX)
157 CHARACTER DIAG,TRANS,UPLO
167 parameter(zero=0.0e+0)
171 INTEGER I,INFO,IX,J,JX,KX
188 IF (.NOT.lsame(uplo,
'U') .AND. .NOT.lsame(uplo,
'L'))
THEN 190 ELSE IF (.NOT.lsame(trans,
'N') .AND. .NOT.lsame(trans,
'T') .AND.
191 + .NOT.lsame(trans,
'C'))
THEN 193 ELSE IF (.NOT.lsame(diag,
'U') .AND. .NOT.lsame(diag,
'N'))
THEN 195 ELSE IF (n.LT.0)
THEN 197 ELSE IF (lda.LT.max(1,n))
THEN 199 ELSE IF (incx.EQ.0)
THEN 203 CALL xerbla(
'STRMV ',info)
211 nounit = lsame(diag,
'N')
218 ELSE IF (incx.NE.1)
THEN 225 IF (lsame(trans,
'N'))
THEN 229 IF (lsame(uplo,
'U'))
THEN 232 IF (x(j).NE.zero)
THEN 235 x(i) = x(i) + temp*a(i,j)
237 IF (nounit) x(j) = x(j)*a(j,j)
243 IF (x(jx).NE.zero)
THEN 247 x(ix) = x(ix) + temp*a(i,j)
250 IF (nounit) x(jx) = x(jx)*a(j,j)
258 IF (x(j).NE.zero)
THEN 261 x(i) = x(i) + temp*a(i,j)
263 IF (nounit) x(j) = x(j)*a(j,j)
270 IF (x(jx).NE.zero)
THEN 274 x(ix) = x(ix) + temp*a(i,j)
277 IF (nounit) x(jx) = x(jx)*a(j,j)
287 IF (lsame(uplo,
'U'))
THEN 291 IF (nounit) temp = temp*a(j,j)
293 temp = temp + a(i,j)*x(i)
302 IF (nounit) temp = temp*a(j,j)
303 DO 110 i = j - 1,1,-1
305 temp = temp + a(i,j)*x(ix)
315 IF (nounit) temp = temp*a(j,j)
317 temp = temp + a(i,j)*x(i)
326 IF (nounit) temp = temp*a(j,j)
329 temp = temp + a(i,j)*x(ix)
subroutine strmv(UPLO, TRANS, DIAG, N, A, LDA, X, INCX)
STRMV
subroutine xerbla(SRNAME, INFO)
XERBLA