Subroutine */
| 27475 | } /* cungqr_ */ |
| 27476 | |
| 27477 | /* Subroutine */ int cunm2l_(char *side, char *trans, integer *m, integer *n, |
| 27478 | integer *k, complex *a, integer *lda, complex *tau, complex *c__, |
| 27479 | integer *ldc, complex *work, integer *info) |
| 27480 | { |
| 27481 | /* System generated locals */ |
| 27482 | integer a_dim1, a_offset, c_dim1, c_offset, i__1, i__2, i__3; |
| 27483 | complex q__1; |
| 27484 | |
| 27485 | /* Local variables */ |
| 27486 | static integer i__, i1, i2, i3, mi, ni, nq; |
| 27487 | static complex aii; |
| 27488 | static logical left; |
| 27489 | static complex taui; |
| 27490 | extern /* Subroutine */ int clarf_(char *, integer *, integer *, complex * |
| 27491 | , integer *, complex *, complex *, integer *, complex *); |
| 27492 | extern logical lsame_(char *, char *); |
| 27493 | extern /* Subroutine */ int xerbla_(char *, integer *); |
| 27494 | static logical notran; |
| 27495 | |
| 27496 | |
| 27497 | /* |
| 27498 | -- LAPACK routine (version 3.2) -- |
| 27499 | -- LAPACK is a software package provided by Univ. of Tennessee, -- |
| 27500 | -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
| 27501 | November 2006 |
| 27502 | |
| 27503 | |
| 27504 | Purpose |
| 27505 | ======= |
| 27506 | |
| 27507 | CUNM2L overwrites the general complex m-by-n matrix C with |
| 27508 | |
| 27509 | Q * C if SIDE = 'L' and TRANS = 'N', or |
| 27510 | |
| 27511 | Q'* C if SIDE = 'L' and TRANS = 'C', or |
| 27512 | |
| 27513 | C * Q if SIDE = 'R' and TRANS = 'N', or |
| 27514 | |
| 27515 | C * Q' if SIDE = 'R' and TRANS = 'C', |
| 27516 | |
| 27517 | where Q is a complex unitary matrix defined as the product of k |
| 27518 | elementary reflectors |
| 27519 | |
| 27520 | Q = H(k) . . . H(2) H(1) |
| 27521 | |
| 27522 | as returned by CGEQLF. Q is of order m if SIDE = 'L' and of order n |
| 27523 | if SIDE = 'R'. |
| 27524 | |
| 27525 | Arguments |
| 27526 | ========= |
| 27527 | |
| 27528 | SIDE (input) CHARACTER*1 |
| 27529 | = 'L': apply Q or Q' from the Left |
| 27530 | = 'R': apply Q or Q' from the Right |
| 27531 | |
| 27532 | TRANS (input) CHARACTER*1 |
| 27533 | = 'N': apply Q (No transpose) |
| 27534 | = 'C': apply Q' (Conjugate transpose) |