Subroutine */
| 21415 | } /* zlaswp_ */ |
| 21416 | |
| 21417 | /* Subroutine */ int zlatrd_(char *uplo, integer *n, integer *nb, |
| 21418 | doublecomplex *a, integer *lda, doublereal *e, doublecomplex *tau, |
| 21419 | doublecomplex *w, integer *ldw) |
| 21420 | { |
| 21421 | /* System generated locals */ |
| 21422 | integer a_dim1, a_offset, w_dim1, w_offset, i__1, i__2, i__3; |
| 21423 | doublereal d__1; |
| 21424 | doublecomplex z__1, z__2, z__3, z__4; |
| 21425 | |
| 21426 | /* Local variables */ |
| 21427 | static integer i__, iw; |
| 21428 | static doublecomplex alpha; |
| 21429 | extern logical lsame_(char *, char *); |
| 21430 | extern /* Subroutine */ int zscal_(integer *, doublecomplex *, |
| 21431 | doublecomplex *, integer *); |
| 21432 | extern /* Double Complex */ VOID zdotc_(doublecomplex *, integer *, |
| 21433 | doublecomplex *, integer *, doublecomplex *, integer *); |
| 21434 | extern /* Subroutine */ int zgemv_(char *, integer *, integer *, |
| 21435 | doublecomplex *, doublecomplex *, integer *, doublecomplex *, |
| 21436 | integer *, doublecomplex *, doublecomplex *, integer *), |
| 21437 | zhemv_(char *, integer *, doublecomplex *, doublecomplex *, |
| 21438 | integer *, doublecomplex *, integer *, doublecomplex *, |
| 21439 | doublecomplex *, integer *), zaxpy_(integer *, |
| 21440 | doublecomplex *, doublecomplex *, integer *, doublecomplex *, |
| 21441 | integer *), zlarfg_(integer *, doublecomplex *, doublecomplex *, |
| 21442 | integer *, doublecomplex *), zlacgv_(integer *, doublecomplex *, |
| 21443 | integer *); |
| 21444 | |
| 21445 | |
| 21446 | /* |
| 21447 | -- LAPACK auxiliary routine (version 3.2) -- |
| 21448 | -- LAPACK is a software package provided by Univ. of Tennessee, -- |
| 21449 | -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
| 21450 | November 2006 |
| 21451 | |
| 21452 | |
| 21453 | Purpose |
| 21454 | ======= |
| 21455 | |
| 21456 | ZLATRD reduces NB rows and columns of a complex Hermitian matrix A to |
| 21457 | Hermitian tridiagonal form by a unitary similarity |
| 21458 | transformation Q' * A * Q, and returns the matrices V and W which are |
| 21459 | needed to apply the transformation to the unreduced part of A. |
| 21460 | |
| 21461 | If UPLO = 'U', ZLATRD reduces the last NB rows and columns of a |
| 21462 | matrix, of which the upper triangle is supplied; |
| 21463 | if UPLO = 'L', ZLATRD reduces the first NB rows and columns of a |
| 21464 | matrix, of which the lower triangle is supplied. |
| 21465 | |
| 21466 | This is an auxiliary routine called by ZHETRD. |
| 21467 | |
| 21468 | Arguments |
| 21469 | ========= |
| 21470 | |
| 21471 | UPLO (input) CHARACTER*1 |
| 21472 | Specifies whether the upper or lower triangular part of the |
| 21473 | Hermitian matrix A is stored: |
| 21474 | = 'U': Upper triangular |