Subroutine */
| 35206 | } /* dormbr_ */ |
| 35207 | |
| 35208 | /* Subroutine */ int dormhr_(char *side, char *trans, integer *m, integer *n, |
| 35209 | integer *ilo, integer *ihi, doublereal *a, integer *lda, doublereal * |
| 35210 | tau, doublereal *c__, integer *ldc, doublereal *work, integer *lwork, |
| 35211 | integer *info) |
| 35212 | { |
| 35213 | /* System generated locals */ |
| 35214 | address a__1[2]; |
| 35215 | integer a_dim1, a_offset, c_dim1, c_offset, i__1[2], i__2; |
| 35216 | char ch__1[2]; |
| 35217 | |
| 35218 | /* Local variables */ |
| 35219 | static integer i1, i2, nb, mi, nh, ni, nq, nw; |
| 35220 | static logical left; |
| 35221 | extern logical lsame_(char *, char *); |
| 35222 | static integer iinfo; |
| 35223 | extern /* Subroutine */ int xerbla_(char *, integer *); |
| 35224 | extern integer ilaenv_(integer *, char *, char *, integer *, integer *, |
| 35225 | integer *, integer *, ftnlen, ftnlen); |
| 35226 | extern /* Subroutine */ int dormqr_(char *, char *, integer *, integer *, |
| 35227 | integer *, doublereal *, integer *, doublereal *, doublereal *, |
| 35228 | integer *, doublereal *, integer *, integer *); |
| 35229 | static integer lwkopt; |
| 35230 | static logical lquery; |
| 35231 | |
| 35232 | |
| 35233 | /* |
| 35234 | -- LAPACK routine (version 3.2) -- |
| 35235 | -- LAPACK is a software package provided by Univ. of Tennessee, -- |
| 35236 | -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
| 35237 | November 2006 |
| 35238 | |
| 35239 | |
| 35240 | Purpose |
| 35241 | ======= |
| 35242 | |
| 35243 | DORMHR overwrites the general real M-by-N matrix C with |
| 35244 | |
| 35245 | SIDE = 'L' SIDE = 'R' |
| 35246 | TRANS = 'N': Q * C C * Q |
| 35247 | TRANS = 'T': Q**T * C C * Q**T |
| 35248 | |
| 35249 | where Q is a real orthogonal matrix of order nq, with nq = m if |
| 35250 | SIDE = 'L' and nq = n if SIDE = 'R'. Q is defined as the product of |
| 35251 | IHI-ILO elementary reflectors, as returned by DGEHRD: |
| 35252 | |
| 35253 | Q = H(ilo) H(ilo+1) . . . H(ihi-1). |
| 35254 | |
| 35255 | Arguments |
| 35256 | ========= |
| 35257 | |
| 35258 | SIDE (input) CHARACTER*1 |
| 35259 | = 'L': apply Q or Q**T from the Left; |
| 35260 | = 'R': apply Q or Q**T from the Right. |
| 35261 | |
| 35262 | TRANS (input) CHARACTER*1 |
| 35263 | = 'N': No transpose, apply Q; |
| 35264 | = 'T': Transpose, apply Q**T. |
| 35265 |