Subroutine */
| 19309 | } /* zlarfb_ */ |
| 19310 | |
| 19311 | /* Subroutine */ int zlarfg_(integer *n, doublecomplex *alpha, doublecomplex * |
| 19312 | x, integer *incx, doublecomplex *tau) |
| 19313 | { |
| 19314 | /* System generated locals */ |
| 19315 | integer i__1; |
| 19316 | doublereal d__1, d__2; |
| 19317 | doublecomplex z__1, z__2; |
| 19318 | |
| 19319 | /* Local variables */ |
| 19320 | static integer j, knt; |
| 19321 | static doublereal beta, alphi, alphr; |
| 19322 | extern /* Subroutine */ int zscal_(integer *, doublecomplex *, |
| 19323 | doublecomplex *, integer *); |
| 19324 | static doublereal xnorm; |
| 19325 | extern doublereal dlapy3_(doublereal *, doublereal *, doublereal *), |
| 19326 | dznrm2_(integer *, doublecomplex *, integer *), dlamch_(char *); |
| 19327 | static doublereal safmin; |
| 19328 | extern /* Subroutine */ int zdscal_(integer *, doublereal *, |
| 19329 | doublecomplex *, integer *); |
| 19330 | static doublereal rsafmn; |
| 19331 | extern /* Double Complex */ VOID zladiv_(doublecomplex *, doublecomplex *, |
| 19332 | doublecomplex *); |
| 19333 | |
| 19334 | |
| 19335 | /* |
| 19336 | -- LAPACK auxiliary routine (version 3.2) -- |
| 19337 | -- LAPACK is a software package provided by Univ. of Tennessee, -- |
| 19338 | -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
| 19339 | November 2006 |
| 19340 | |
| 19341 | |
| 19342 | Purpose |
| 19343 | ======= |
| 19344 | |
| 19345 | ZLARFG generates a complex elementary reflector H of order n, such |
| 19346 | that |
| 19347 | |
| 19348 | H' * ( alpha ) = ( beta ), H' * H = I. |
| 19349 | ( x ) ( 0 ) |
| 19350 | |
| 19351 | where alpha and beta are scalars, with beta real, and x is an |
| 19352 | (n-1)-element complex vector. H is represented in the form |
| 19353 | |
| 19354 | H = I - tau * ( 1 ) * ( 1 v' ) , |
| 19355 | ( v ) |
| 19356 | |
| 19357 | where tau is a complex scalar and v is a complex (n-1)-element |
| 19358 | vector. Note that H is not hermitian. |
| 19359 | |
| 19360 | If the elements of x are all zero and alpha is real, then tau = 0 |
| 19361 | and H is taken to be the unit matrix. |
| 19362 | |
| 19363 | Otherwise 1 <= real(tau) <= 2 and abs(tau-1) <= 1 . |
| 19364 | |
| 19365 | Arguments |
| 19366 | ========= |
| 19367 | |
| 19368 | N (input) INTEGER |
no test coverage detected