1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
|
---
:name: dlarfg
:md5sum: b49ee6b8b32b95df33c1bc8b264b644c
:category: :subroutine
:arguments:
- n:
:type: integer
:intent: input
- alpha:
:type: doublereal
:intent: input/output
- x:
:type: doublereal
:intent: input/output
:dims:
- 1+(n-2)*abs(incx)
- incx:
:type: integer
:intent: input
- tau:
:type: doublereal
:intent: output
:substitutions: {}
:fortran_help: " SUBROUTINE DLARFG( N, ALPHA, X, INCX, TAU )\n\n\
* Purpose\n\
* =======\n\
*\n\
* DLARFG generates a real elementary reflector H of order n, such\n\
* that\n\
*\n\
* H * ( alpha ) = ( beta ), H' * H = I.\n\
* ( x ) ( 0 )\n\
*\n\
* where alpha and beta are scalars, and x is an (n-1)-element real\n\
* vector. H is represented in the form\n\
*\n\
* H = I - tau * ( 1 ) * ( 1 v' ) ,\n\
* ( v )\n\
*\n\
* where tau is a real scalar and v is a real (n-1)-element\n\
* vector.\n\
*\n\
* If the elements of x are all zero, then tau = 0 and H is taken to be\n\
* the unit matrix.\n\
*\n\
* Otherwise 1 <= tau <= 2.\n\
*\n\n\
* Arguments\n\
* =========\n\
*\n\
* N (input) INTEGER\n\
* The order of the elementary reflector.\n\
*\n\
* ALPHA (input/output) DOUBLE PRECISION\n\
* On entry, the value alpha.\n\
* On exit, it is overwritten with the value beta.\n\
*\n\
* X (input/output) DOUBLE PRECISION array, dimension\n\
* (1+(N-2)*abs(INCX))\n\
* On entry, the vector x.\n\
* On exit, it is overwritten with the vector v.\n\
*\n\
* INCX (input) INTEGER\n\
* The increment between elements of X. INCX > 0.\n\
*\n\
* TAU (output) DOUBLE PRECISION\n\
* The value tau.\n\
*\n\n\
* =====================================================================\n\
*\n"
|