229 SUBROUTINE chpgvd( ITYPE, JOBZ, UPLO, N, AP, BP, W, Z, LDZ, WORK,
230 $ LWORK, RWORK, LRWORK, IWORK, LIWORK, INFO )
238 INTEGER INFO, ITYPE, LDZ, LIWORK, LRWORK, LWORK, N
242 REAL RWORK( * ), W( * )
243 COMPLEX AP( * ), BP( * ), WORK( * ), Z( ldz, * )
249 LOGICAL LQUERY, UPPER, WANTZ
251 INTEGER J, LIWMIN, LRWMIN, LWMIN, NEIG
267 wantz = lsame( jobz,
'V' )
268 upper = lsame( uplo,
'U' )
269 lquery = ( lwork.EQ.-1 .OR. lrwork.EQ.-1 .OR. liwork.EQ.-1 )
272 IF( itype.LT.1 .OR. itype.GT.3 )
THEN 274 ELSE IF( .NOT.( wantz .OR. lsame( jobz,
'N' ) ) )
THEN 276 ELSE IF( .NOT.( upper .OR. lsame( uplo,
'L' ) ) )
THEN 278 ELSE IF( n.LT.0 )
THEN 280 ELSE IF( ldz.LT.1 .OR. ( wantz .AND. ldz.LT.n ) )
THEN 292 lrwmin = 1 + 5*n + 2*n**2
304 IF( lwork.LT.lwmin .AND. .NOT.lquery )
THEN 306 ELSE IF( lrwork.LT.lrwmin .AND. .NOT.lquery )
THEN 308 ELSE IF( liwork.LT.liwmin .AND. .NOT.lquery )
THEN 314 CALL xerbla(
'CHPGVD', -info )
316 ELSE IF( lquery )
THEN 327 CALL cpptrf( uplo, n, bp, info )
335 CALL chpgst( itype, uplo, n, ap, bp, info )
336 CALL chpevd( jobz, uplo, n, ap, w, z, ldz, work, lwork, rwork,
337 $ lrwork, iwork, liwork, info )
338 lwmin = int( max(
REAL( LWMIN ),
REAL( WORK( 1 ) ) ) )
339 lrwmin = int( max(
REAL( LRWMIN ),
REAL( RWORK( 1 ) ) ) )
340 liwmin = int( max(
REAL( LIWMIN ),
REAL( IWORK( 1 ) ) ) )
349 IF( itype.EQ.1 .OR. itype.EQ.2 )
THEN 361 CALL ctpsv( uplo, trans,
'Non-unit', n, bp, z( 1, j ),
365 ELSE IF( itype.EQ.3 )
THEN 377 CALL ctpmv( uplo, trans,
'Non-unit', n, bp, z( 1, j ),
subroutine ctpsv(UPLO, TRANS, DIAG, N, AP, X, INCX)
CTPSV
subroutine ctpmv(UPLO, TRANS, DIAG, N, AP, X, INCX)
CTPMV
subroutine cpptrf(UPLO, N, AP, INFO)
CPPTRF
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine chpgvd(ITYPE, JOBZ, UPLO, N, AP, BP, W, Z, LDZ, WORK, LWORK, RWORK, LRWORK, IWORK, LIWORK, INFO)
CHPGVD
subroutine chpgst(ITYPE, UPLO, N, AP, BP, INFO)
CHPGST
subroutine chpevd(JOBZ, UPLO, N, AP, W, Z, LDZ, WORK, LWORK, RWORK, LRWORK, IWORK, LIWORK, INFO)
CHPEVD computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matric...