Subroutine */
| 36238 | } /* dormql_ */ |
| 36239 | |
| 36240 | /* Subroutine */ int dormqr_(char *side, char *trans, integer *m, integer *n, |
| 36241 | integer *k, doublereal *a, integer *lda, doublereal *tau, doublereal * |
| 36242 | c__, integer *ldc, doublereal *work, integer *lwork, integer *info) |
| 36243 | { |
| 36244 | /* System generated locals */ |
| 36245 | address a__1[2]; |
| 36246 | integer a_dim1, a_offset, c_dim1, c_offset, i__1, i__2, i__3[2], i__4, |
| 36247 | i__5; |
| 36248 | char ch__1[2]; |
| 36249 | |
| 36250 | /* Local variables */ |
| 36251 | static integer i__; |
| 36252 | static doublereal t[4160] /* was [65][64] */; |
| 36253 | static integer i1, i2, i3, ib, ic, jc, nb, mi, ni, nq, nw, iws; |
| 36254 | static logical left; |
| 36255 | extern logical lsame_(char *, char *); |
| 36256 | static integer nbmin, iinfo; |
| 36257 | extern /* Subroutine */ int dorm2r_(char *, char *, integer *, integer *, |
| 36258 | integer *, doublereal *, integer *, doublereal *, doublereal *, |
| 36259 | integer *, doublereal *, integer *), dlarfb_(char |
| 36260 | *, char *, char *, char *, integer *, integer *, integer *, |
| 36261 | doublereal *, integer *, doublereal *, integer *, doublereal *, |
| 36262 | integer *, doublereal *, integer *), dlarft_(char *, char *, integer *, integer *, doublereal |
| 36263 | *, integer *, doublereal *, doublereal *, integer *), xerbla_(char *, integer *); |
| 36264 | extern integer ilaenv_(integer *, char *, char *, integer *, integer *, |
| 36265 | integer *, integer *, ftnlen, ftnlen); |
| 36266 | static logical notran; |
| 36267 | static integer ldwork, lwkopt; |
| 36268 | static logical lquery; |
| 36269 | |
| 36270 | |
| 36271 | /* |
| 36272 | -- LAPACK routine (version 3.2) -- |
| 36273 | -- LAPACK is a software package provided by Univ. of Tennessee, -- |
| 36274 | -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
| 36275 | November 2006 |
| 36276 | |
| 36277 | |
| 36278 | Purpose |
| 36279 | ======= |
| 36280 | |
| 36281 | DORMQR overwrites the general real M-by-N matrix C with |
| 36282 | |
| 36283 | SIDE = 'L' SIDE = 'R' |
| 36284 | TRANS = 'N': Q * C C * Q |
| 36285 | TRANS = 'T': Q**T * C C * Q**T |
| 36286 | |
| 36287 | where Q is a real orthogonal matrix defined as the product of k |
| 36288 | elementary reflectors |
| 36289 | |
| 36290 | Q = H(1) H(2) . . . H(k) |
| 36291 | |
| 36292 | as returned by DGEQRF. Q is of order M if SIDE = 'L' and of order N |
| 36293 | if SIDE = 'R'. |
| 36294 | |
| 36295 | Arguments |
| 36296 | ========= |
| 36297 |