144 SUBROUTINE cpteqr( COMPZ, N, D, E, Z, LDZ, WORK, INFO )
155 REAL D( * ), E( * ), WORK( * )
163 parameter( czero = ( 0.0e+0, 0.0e+0 ),
164 $ cone = ( 1.0e+0, 0.0e+0 ) )
174 COMPLEX C( 1, 1 ), VT( 1, 1 )
177 INTEGER I, ICOMPZ, NRU
188 IF( lsame( compz,
'N' ) )
THEN 190 ELSE IF( lsame( compz,
'V' ) )
THEN 192 ELSE IF( lsame( compz,
'I' ) )
THEN 197 IF( icompz.LT.0 )
THEN 199 ELSE IF( n.LT.0 )
THEN 201 ELSE IF( ( ldz.LT.1 ) .OR. ( icompz.GT.0 .AND. ldz.LT.max( 1,
206 CALL xerbla(
'CPTEQR', -info )
221 $
CALL claset(
'Full', n, n, czero, cone, z, ldz )
225 CALL spttrf( n, d, e, info )
229 d( i ) = sqrt( d( i ) )
232 e( i ) = e( i )*d( i )
238 IF( icompz.GT.0 )
THEN 243 CALL cbdsqr(
'Lower', n, 0, nru, 0, d, e, vt, 1, z, ldz, c, 1,
250 d( i ) = d( i )*d( i )
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine cbdsqr(UPLO, N, NCVT, NRU, NCC, D, E, VT, LDVT, U, LDU, C, LDC, RWORK, INFO)
CBDSQR
subroutine claset(UPLO, M, N, ALPHA, BETA, A, LDA)
CLASET initializes the off-diagonal elements and the diagonal elements of a matrix to given values...
subroutine cpteqr(COMPZ, N, D, E, Z, LDZ, WORK, INFO)
CPTEQR
subroutine spttrf(N, D, E, INFO)
SPTTRF