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 ( * ), 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.NOT..OR.
ELSE IF( ( UPPER LSAME( UPLO, 'l
' ) ) ) THEN
278.LT.
ELSE IF( N0 ) THEN
280.LT..OR..AND..LT.
ELSE IF( LDZ1 ( WANTZ LDZN ) ) THEN
292 LRWMIN = 1 + 5*N + 2*N**2
304.LT..AND..NOT.
IF( LWORKLWMIN LQUERY ) THEN
306.LT..AND..NOT.
ELSE IF( LRWORKLRWMIN LQUERY ) THEN
308.LT..AND..NOT.
ELSE IF( LIWORKLIWMIN 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 = MAX( REAL( LWMIN ), REAL( WORK( 1 ) ) )
339 LRWMIN = MAX( REAL( LRWMIN ), REAL( RWORK( 1 ) ) )
340 LIWMIN = MAX( REAL( LIWMIN ), REAL( IWORK( 1 ) ) )
349.EQ..OR..EQ.
IF( ITYPE1 ITYPE2 ) THEN
361 CALL CTPSV( UPLO, TRANS, 'non-unit
', N, BP, Z( 1, J ),
365.EQ.
ELSE IF( ITYPE3 ) THEN
377 CALL CTPMV( UPLO, TRANS, 'non-unit
', N, BP, Z( 1, J ),
subroutine xerbla(srname, info)
XERBLA
subroutine cpptrf(uplo, n, ap, info)
CPPTRF
subroutine chpgst(itype, uplo, n, ap, bp, info)
CHPGST
subroutine chpgvd(itype, jobz, uplo, n, ap, bp, w, z, ldz, work, lwork, rwork, lrwork, iwork, liwork, info)
CHPGVD
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 matrice...
subroutine ctpmv(uplo, trans, diag, n, ap, x, incx)
CTPMV
subroutine ctpsv(uplo, trans, diag, n, ap, x, incx)
CTPSV