Subroutine */
| 28367 | } /* zunmbr_ */ |
| 28368 | |
| 28369 | /* Subroutine */ int zunmhr_(char *side, char *trans, integer *m, integer *n, |
| 28370 | integer *ilo, integer *ihi, doublecomplex *a, integer *lda, |
| 28371 | doublecomplex *tau, doublecomplex *c__, integer *ldc, doublecomplex * |
| 28372 | work, integer *lwork, integer *info) |
| 28373 | { |
| 28374 | /* System generated locals */ |
| 28375 | address a__1[2]; |
| 28376 | integer a_dim1, a_offset, c_dim1, c_offset, i__1[2], i__2; |
| 28377 | char ch__1[2]; |
| 28378 | |
| 28379 | /* Local variables */ |
| 28380 | static integer i1, i2, nb, mi, nh, ni, nq, nw; |
| 28381 | static logical left; |
| 28382 | extern logical lsame_(char *, char *); |
| 28383 | static integer iinfo; |
| 28384 | extern /* Subroutine */ int xerbla_(char *, integer *); |
| 28385 | extern integer ilaenv_(integer *, char *, char *, integer *, integer *, |
| 28386 | integer *, integer *, ftnlen, ftnlen); |
| 28387 | static integer lwkopt; |
| 28388 | static logical lquery; |
| 28389 | extern /* Subroutine */ int zunmqr_(char *, char *, integer *, integer *, |
| 28390 | integer *, doublecomplex *, integer *, doublecomplex *, |
| 28391 | doublecomplex *, integer *, doublecomplex *, integer *, integer *); |
| 28392 | |
| 28393 | |
| 28394 | /* |
| 28395 | -- LAPACK routine (version 3.2) -- |
| 28396 | -- LAPACK is a software package provided by Univ. of Tennessee, -- |
| 28397 | -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
| 28398 | November 2006 |
| 28399 | |
| 28400 | |
| 28401 | Purpose |
| 28402 | ======= |
| 28403 | |
| 28404 | ZUNMHR overwrites the general complex M-by-N matrix C with |
| 28405 | |
| 28406 | SIDE = 'L' SIDE = 'R' |
| 28407 | TRANS = 'N': Q * C C * Q |
| 28408 | TRANS = 'C': Q**H * C C * Q**H |
| 28409 | |
| 28410 | where Q is a complex unitary matrix of order nq, with nq = m if |
| 28411 | SIDE = 'L' and nq = n if SIDE = 'R'. Q is defined as the product of |
| 28412 | IHI-ILO elementary reflectors, as returned by ZGEHRD: |
| 28413 | |
| 28414 | Q = H(ilo) H(ilo+1) . . . H(ihi-1). |
| 28415 | |
| 28416 | Arguments |
| 28417 | ========= |
| 28418 | |
| 28419 | SIDE (input) CHARACTER*1 |
| 28420 | = 'L': apply Q or Q**H from the Left; |
| 28421 | = 'R': apply Q or Q**H from the Right. |
| 28422 | |
| 28423 | TRANS (input) CHARACTER*1 |
| 28424 | = 'N': apply Q (No transpose) |
| 28425 | = 'C': apply Q**H (Conjugate transpose) |
| 28426 |