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)
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