134 SUBROUTINE zher(UPLO,N,ALPHA,X,INCX,A,LDA)
141 DOUBLE PRECISION ALPHA
146 COMPLEX*16 A(LDA,*),X(*)
153 parameter(zero= (0.0d+0,0.0d+0))
157 INTEGER I,INFO,IX,J,JX,KX
167 INTRINSIC dble,dconjg,max
173 IF (.NOT.lsame(uplo,
'U') .AND. .NOT.lsame(uplo,
'L'))
THEN
175 ELSE IF (n.LT.0)
THEN
177 ELSE IF (incx.EQ.0)
THEN
179 ELSE IF (lda.LT.max(1,n))
THEN
189 IF ((n.EQ.0) .OR. (alpha.EQ.dble(zero)))
RETURN
195 ELSE IF (incx.NE.1)
THEN
203 IF (lsame(uplo,
'U'))
THEN
209 IF (x(j).NE.zero)
THEN
210 temp = alpha*dconjg(x(j))
212 a(i,j) = a(i,j) + x(i)*temp
214 a(j,j) = dble(a(j,j)) + dble(x(j)*temp)
216 a(j,j) = dble(a(j,j))
222 IF (x(jx).NE.zero)
THEN
223 temp = alpha*dconjg(x(jx))
226 a(i,j) = a(i,j) + x(ix)*temp
229 a(j,j) = dble(a(j,j)) + dble(x(jx)*temp)
231 a(j,j) = dble(a(j,j))
242 IF (x(j).NE.zero)
THEN
243 temp = alpha*dconjg(x(j))
244 a(j,j) = dble(a(j,j)) + dble(temp*x(j))
246 a(i,j) = a(i,j) + x(i)*temp
249 a(j,j) = dble(a(j,j))
255 IF (x(jx).NE.zero)
THEN
256 temp = alpha*dconjg(x(jx))
257 a(j,j) = dble(a(j,j)) + dble(temp*x(jx))
261 a(i,j) = a(i,j) + x(ix)*temp
264 a(j,j) = dble(a(j,j))
subroutine xerbla(srname, info)
subroutine zher(uplo, n, alpha, x, incx, a, lda)
ZHER