Subroutine */
| 29729 | } /* zunmqr_ */ |
| 29730 | |
| 29731 | /* Subroutine */ int zunmtr_(char *side, char *uplo, char *trans, integer *m, |
| 29732 | integer *n, doublecomplex *a, integer *lda, doublecomplex *tau, |
| 29733 | doublecomplex *c__, integer *ldc, doublecomplex *work, integer *lwork, |
| 29734 | integer *info) |
| 29735 | { |
| 29736 | /* System generated locals */ |
| 29737 | address a__1[2]; |
| 29738 | integer a_dim1, a_offset, c_dim1, c_offset, i__1[2], i__2, i__3; |
| 29739 | char ch__1[2]; |
| 29740 | |
| 29741 | /* Local variables */ |
| 29742 | static integer i1, i2, nb, mi, ni, nq, nw; |
| 29743 | static logical left; |
| 29744 | extern logical lsame_(char *, char *); |
| 29745 | static integer iinfo; |
| 29746 | static logical upper; |
| 29747 | extern /* Subroutine */ int xerbla_(char *, integer *); |
| 29748 | extern integer ilaenv_(integer *, char *, char *, integer *, integer *, |
| 29749 | integer *, integer *, ftnlen, ftnlen); |
| 29750 | static integer lwkopt; |
| 29751 | static logical lquery; |
| 29752 | extern /* Subroutine */ int zunmql_(char *, char *, integer *, integer *, |
| 29753 | integer *, doublecomplex *, integer *, doublecomplex *, |
| 29754 | doublecomplex *, integer *, doublecomplex *, integer *, integer *), zunmqr_(char *, char *, integer *, integer *, |
| 29755 | integer *, doublecomplex *, integer *, doublecomplex *, |
| 29756 | doublecomplex *, integer *, doublecomplex *, integer *, integer *); |
| 29757 | |
| 29758 | |
| 29759 | /* |
| 29760 | -- LAPACK routine (version 3.2) -- |
| 29761 | -- LAPACK is a software package provided by Univ. of Tennessee, -- |
| 29762 | -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
| 29763 | November 2006 |
| 29764 | |
| 29765 | |
| 29766 | Purpose |
| 29767 | ======= |
| 29768 | |
| 29769 | ZUNMTR overwrites the general complex M-by-N matrix C with |
| 29770 | |
| 29771 | SIDE = 'L' SIDE = 'R' |
| 29772 | TRANS = 'N': Q * C C * Q |
| 29773 | TRANS = 'C': Q**H * C C * Q**H |
| 29774 | |
| 29775 | where Q is a complex unitary matrix of order nq, with nq = m if |
| 29776 | SIDE = 'L' and nq = n if SIDE = 'R'. Q is defined as the product of |
| 29777 | nq-1 elementary reflectors, as returned by ZHETRD: |
| 29778 | |
| 29779 | if UPLO = 'U', Q = H(nq-1) . . . H(2) H(1); |
| 29780 | |
| 29781 | if UPLO = 'L', Q = H(1) H(2) . . . H(nq-1). |
| 29782 | |
| 29783 | Arguments |
| 29784 | ========= |
| 29785 | |
| 29786 | SIDE (input) CHARACTER*1 |
| 29787 | = 'L': apply Q or Q**H from the Left; |
| 29788 | = 'R': apply Q or Q**H from the Right. |