Subroutine */
| 28999 | } /* cunmlq_ */ |
| 29000 | |
| 29001 | /* Subroutine */ int cunmql_(char *side, char *trans, integer *m, integer *n, |
| 29002 | integer *k, complex *a, integer *lda, complex *tau, complex *c__, |
| 29003 | integer *ldc, complex *work, integer *lwork, integer *info) |
| 29004 | { |
| 29005 | /* System generated locals */ |
| 29006 | address a__1[2]; |
| 29007 | integer a_dim1, a_offset, c_dim1, c_offset, i__1, i__2, i__3[2], i__4, |
| 29008 | i__5; |
| 29009 | char ch__1[2]; |
| 29010 | |
| 29011 | /* Local variables */ |
| 29012 | static integer i__; |
| 29013 | static complex t[4160] /* was [65][64] */; |
| 29014 | static integer i1, i2, i3, ib, nb, mi, ni, nq, nw, iws; |
| 29015 | static logical left; |
| 29016 | extern logical lsame_(char *, char *); |
| 29017 | static integer nbmin, iinfo; |
| 29018 | extern /* Subroutine */ int cunm2l_(char *, char *, integer *, integer *, |
| 29019 | integer *, complex *, integer *, complex *, complex *, integer *, |
| 29020 | complex *, integer *), clarfb_(char *, char *, |
| 29021 | char *, char *, integer *, integer *, integer *, complex *, |
| 29022 | integer *, complex *, integer *, complex *, integer *, complex *, |
| 29023 | integer *), clarft_(char *, char * |
| 29024 | , integer *, integer *, complex *, integer *, complex *, complex * |
| 29025 | , integer *), xerbla_(char *, integer *); |
| 29026 | extern integer ilaenv_(integer *, char *, char *, integer *, integer *, |
| 29027 | integer *, integer *, ftnlen, ftnlen); |
| 29028 | static logical notran; |
| 29029 | static integer ldwork, lwkopt; |
| 29030 | static logical lquery; |
| 29031 | |
| 29032 | |
| 29033 | /* |
| 29034 | -- LAPACK routine (version 3.2) -- |
| 29035 | -- LAPACK is a software package provided by Univ. of Tennessee, -- |
| 29036 | -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
| 29037 | November 2006 |
| 29038 | |
| 29039 | |
| 29040 | Purpose |
| 29041 | ======= |
| 29042 | |
| 29043 | CUNMQL overwrites the general complex M-by-N matrix C with |
| 29044 | |
| 29045 | SIDE = 'L' SIDE = 'R' |
| 29046 | TRANS = 'N': Q * C C * Q |
| 29047 | TRANS = 'C': Q**H * C C * Q**H |
| 29048 | |
| 29049 | where Q is a complex unitary matrix defined as the product of k |
| 29050 | elementary reflectors |
| 29051 | |
| 29052 | Q = H(k) . . . H(2) H(1) |
| 29053 | |
| 29054 | as returned by CGEQLF. Q is of order M if SIDE = 'L' and of order N |
| 29055 | if SIDE = 'R'. |
| 29056 | |
| 29057 | Arguments |
| 29058 | ========= |