Subroutine */
| 19363 | } /* clarfg_ */ |
| 19364 | |
| 19365 | /* Subroutine */ int clarft_(char *direct, char *storev, integer *n, integer * |
| 19366 | k, complex *v, integer *ldv, complex *tau, complex *t, integer *ldt) |
| 19367 | { |
| 19368 | /* System generated locals */ |
| 19369 | integer t_dim1, t_offset, v_dim1, v_offset, i__1, i__2, i__3, i__4; |
| 19370 | complex q__1; |
| 19371 | |
| 19372 | /* Local variables */ |
| 19373 | static integer i__, j, prevlastv; |
| 19374 | static complex vii; |
| 19375 | extern /* Subroutine */ int cgemv_(char *, integer *, integer *, complex * |
| 19376 | , complex *, integer *, complex *, integer *, complex *, complex * |
| 19377 | , integer *); |
| 19378 | extern logical lsame_(char *, char *); |
| 19379 | static integer lastv; |
| 19380 | extern /* Subroutine */ int ctrmv_(char *, char *, char *, integer *, |
| 19381 | complex *, integer *, complex *, integer *), clacgv_(integer *, complex *, integer *); |
| 19382 | |
| 19383 | |
| 19384 | /* |
| 19385 | -- LAPACK auxiliary routine (version 3.2) -- |
| 19386 | -- LAPACK is a software package provided by Univ. of Tennessee, -- |
| 19387 | -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
| 19388 | November 2006 |
| 19389 | |
| 19390 | |
| 19391 | Purpose |
| 19392 | ======= |
| 19393 | |
| 19394 | CLARFT forms the triangular factor T of a complex block reflector H |
| 19395 | of order n, which is defined as a product of k elementary reflectors. |
| 19396 | |
| 19397 | If DIRECT = 'F', H = H(1) H(2) . . . H(k) and T is upper triangular; |
| 19398 | |
| 19399 | If DIRECT = 'B', H = H(k) . . . H(2) H(1) and T is lower triangular. |
| 19400 | |
| 19401 | If STOREV = 'C', the vector which defines the elementary reflector |
| 19402 | H(i) is stored in the i-th column of the array V, and |
| 19403 | |
| 19404 | H = I - V * T * V' |
| 19405 | |
| 19406 | If STOREV = 'R', the vector which defines the elementary reflector |
| 19407 | H(i) is stored in the i-th row of the array V, and |
| 19408 | |
| 19409 | H = I - V' * T * V |
| 19410 | |
| 19411 | Arguments |
| 19412 | ========= |
| 19413 | |
| 19414 | DIRECT (input) CHARACTER*1 |
| 19415 | Specifies the order in which the elementary reflectors are |
| 19416 | multiplied to form the block reflector: |
| 19417 | = 'F': H = H(1) H(2) . . . H(k) (Forward) |
| 19418 | = 'B': H = H(k) . . . H(2) H(1) (Backward) |
| 19419 | |
| 19420 | STOREV (input) CHARACTER*1 |
| 19421 | Specifies how the vectors which define the elementary |
| 19422 | reflectors are stored (see also Further Details): |
no test coverage detected