Subroutine */
| 21308 | } /* claswp_ */ |
| 21309 | |
| 21310 | /* Subroutine */ int clatrd_(char *uplo, integer *n, integer *nb, complex *a, |
| 21311 | integer *lda, real *e, complex *tau, complex *w, integer *ldw) |
| 21312 | { |
| 21313 | /* System generated locals */ |
| 21314 | integer a_dim1, a_offset, w_dim1, w_offset, i__1, i__2, i__3; |
| 21315 | real r__1; |
| 21316 | complex q__1, q__2, q__3, q__4; |
| 21317 | |
| 21318 | /* Local variables */ |
| 21319 | static integer i__, iw; |
| 21320 | static complex alpha; |
| 21321 | extern /* Subroutine */ int cscal_(integer *, complex *, complex *, |
| 21322 | integer *); |
| 21323 | extern /* Complex */ VOID cdotc_(complex *, integer *, complex *, integer |
| 21324 | *, complex *, integer *); |
| 21325 | extern /* Subroutine */ int cgemv_(char *, integer *, integer *, complex * |
| 21326 | , complex *, integer *, complex *, integer *, complex *, complex * |
| 21327 | , integer *), chemv_(char *, integer *, complex *, |
| 21328 | complex *, integer *, complex *, integer *, complex *, complex *, |
| 21329 | integer *); |
| 21330 | extern logical lsame_(char *, char *); |
| 21331 | extern /* Subroutine */ int caxpy_(integer *, complex *, complex *, |
| 21332 | integer *, complex *, integer *), clarfg_(integer *, complex *, |
| 21333 | complex *, integer *, complex *), clacgv_(integer *, complex *, |
| 21334 | integer *); |
| 21335 | |
| 21336 | |
| 21337 | /* |
| 21338 | -- LAPACK auxiliary routine (version 3.2) -- |
| 21339 | -- LAPACK is a software package provided by Univ. of Tennessee, -- |
| 21340 | -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
| 21341 | November 2006 |
| 21342 | |
| 21343 | |
| 21344 | Purpose |
| 21345 | ======= |
| 21346 | |
| 21347 | CLATRD reduces NB rows and columns of a complex Hermitian matrix A to |
| 21348 | Hermitian tridiagonal form by a unitary similarity |
| 21349 | transformation Q' * A * Q, and returns the matrices V and W which are |
| 21350 | needed to apply the transformation to the unreduced part of A. |
| 21351 | |
| 21352 | If UPLO = 'U', CLATRD reduces the last NB rows and columns of a |
| 21353 | matrix, of which the upper triangle is supplied; |
| 21354 | if UPLO = 'L', CLATRD reduces the first NB rows and columns of a |
| 21355 | matrix, of which the lower triangle is supplied. |
| 21356 | |
| 21357 | This is an auxiliary routine called by CHETRD. |
| 21358 | |
| 21359 | Arguments |
| 21360 | ========= |
| 21361 | |
| 21362 | UPLO (input) CHARACTER*1 |
| 21363 | Specifies whether the upper or lower triangular part of the |
| 21364 | Hermitian matrix A is stored: |
| 21365 | = 'U': Upper triangular |
| 21366 | = 'L': Lower triangular |
| 21367 |