143 SUBROUTINE ztpmv(UPLO,TRANS,DIAG,N,AP,X,INCX)
152 CHARACTER diag,trans,uplo
155 COMPLEX*16 ap(*),
x(*)
162 parameter(zero= (0.0d+0,0.0d+0))
166 INTEGER i,info,ix,
j,jx,k,kk,kx
167 LOGICAL noconj,nounit
183 IF (.NOT.
lsame(uplo,
'U') .AND. .NOT.
lsame(uplo,
'L'))
THEN
185 ELSE IF (.NOT.
lsame(trans,
'N') .AND. .NOT.
lsame(trans,
'T') .AND.
186 + .NOT.
lsame(trans,
'C'))
THEN
188 ELSE IF (.NOT.
lsame(diag,
'U') .AND. .NOT.
lsame(diag,
'N'))
THEN
190 ELSE IF (n.LT.0)
THEN
192 ELSE IF (incx.EQ.0)
THEN
196 CALL
xerbla(
'ZTPMV ',info)
204 noconj =
lsame(trans,
'T')
205 nounit =
lsame(diag,
'N')
212 ELSE IF (incx.NE.1)
THEN
219 IF (
lsame(trans,
'N'))
THEN
223 IF (
lsame(uplo,
'U'))
THEN
227 IF (
x(
j).NE.zero)
THEN
231 x(i) =
x(i) + temp*ap(k)
234 IF (nounit)
x(
j) =
x(
j)*ap(kk+
j-1)
241 IF (
x(jx).NE.zero)
THEN
244 DO 30 k = kk,kk +
j - 2
245 x(ix) =
x(ix) + temp*ap(k)
248 IF (nounit)
x(jx) =
x(jx)*ap(kk+
j-1)
258 IF (
x(
j).NE.zero)
THEN
262 x(i) =
x(i) + temp*ap(k)
265 IF (nounit)
x(
j) =
x(
j)*ap(kk-n+
j)
273 IF (
x(jx).NE.zero)
THEN
276 DO 70 k = kk,kk - (n- (
j+1)),-1
277 x(ix) =
x(ix) + temp*ap(k)
280 IF (nounit)
x(jx) =
x(jx)*ap(kk-n+
j)
291 IF (
lsame(uplo,
'U'))
THEN
298 IF (nounit) temp = temp*ap(kk)
300 temp = temp + ap(k)*
x(i)
304 IF (nounit) temp = temp*dconjg(ap(kk))
305 DO 100 i =
j - 1,1,-1
306 temp = temp + dconjg(ap(k))*
x(i)
319 IF (nounit) temp = temp*ap(kk)
320 DO 120 k = kk - 1,kk -
j + 1,-1
322 temp = temp + ap(k)*
x(ix)
325 IF (nounit) temp = temp*dconjg(ap(kk))
326 DO 130 k = kk - 1,kk -
j + 1,-1
328 temp = temp + dconjg(ap(k))*
x(ix)
343 IF (nounit) temp = temp*ap(kk)
345 temp = temp + ap(k)*
x(i)
349 IF (nounit) temp = temp*dconjg(ap(kk))
351 temp = temp + dconjg(ap(k))*
x(i)
364 IF (nounit) temp = temp*ap(kk)
365 DO 180 k = kk + 1,kk + n -
j
367 temp = temp + ap(k)*
x(ix)
370 IF (nounit) temp = temp*dconjg(ap(kk))
371 DO 190 k = kk + 1,kk + n -
j
373 temp = temp + dconjg(ap(k))*
x(ix)
LOGICAL function lsame(CA, CB)
LSAME
subroutine ztpmv(UPLO, TRANS, DIAG, N, AP, X, INCX)
ZTPMV
subroutine xerbla(SRNAME, INFO)
XERBLA
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real j