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 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141
|
---
:name: slaein
:md5sum: db0ea0cba06ef1453f7435398c35d394
:category: :subroutine
:arguments:
- rightv:
:type: logical
:intent: input
- noinit:
:type: logical
:intent: input
- n:
:type: integer
:intent: input
- h:
:type: real
:intent: input
:dims:
- ldh
- n
- ldh:
:type: integer
:intent: input
- wr:
:type: real
:intent: input
- wi:
:type: real
:intent: input
- vr:
:type: real
:intent: input/output
:dims:
- n
- vi:
:type: real
:intent: input/output
:dims:
- n
- b:
:type: real
:intent: workspace
:dims:
- ldb
- n
- ldb:
:type: integer
:intent: input
- work:
:type: real
:intent: workspace
:dims:
- n
- eps3:
:type: real
:intent: input
- smlnum:
:type: real
:intent: input
- bignum:
:type: real
:intent: input
- info:
:type: integer
:intent: output
:substitutions:
ldb: n+1
:fortran_help: " SUBROUTINE SLAEIN( RIGHTV, NOINIT, N, H, LDH, WR, WI, VR, VI, B, LDB, WORK, EPS3, SMLNUM, BIGNUM, INFO )\n\n\
* Purpose\n\
* =======\n\
*\n\
* SLAEIN uses inverse iteration to find a right or left eigenvector\n\
* corresponding to the eigenvalue (WR,WI) of a real upper Hessenberg\n\
* matrix H.\n\
*\n\n\
* Arguments\n\
* =========\n\
*\n\
* RIGHTV (input) LOGICAL\n\
* = .TRUE. : compute right eigenvector;\n\
* = .FALSE.: compute left eigenvector.\n\
*\n\
* NOINIT (input) LOGICAL\n\
* = .TRUE. : no initial vector supplied in (VR,VI).\n\
* = .FALSE.: initial vector supplied in (VR,VI).\n\
*\n\
* N (input) INTEGER\n\
* The order of the matrix H. N >= 0.\n\
*\n\
* H (input) REAL array, dimension (LDH,N)\n\
* The upper Hessenberg matrix H.\n\
*\n\
* LDH (input) INTEGER\n\
* The leading dimension of the array H. LDH >= max(1,N).\n\
*\n\
* WR (input) REAL\n\
* WI (input) REAL\n\
* The real and imaginary parts of the eigenvalue of H whose\n\
* corresponding right or left eigenvector is to be computed.\n\
*\n\
* VR (input/output) REAL array, dimension (N)\n\
* VI (input/output) REAL array, dimension (N)\n\
* On entry, if NOINIT = .FALSE. and WI = 0.0, VR must contain\n\
* a real starting vector for inverse iteration using the real\n\
* eigenvalue WR; if NOINIT = .FALSE. and WI.ne.0.0, VR and VI\n\
* must contain the real and imaginary parts of a complex\n\
* starting vector for inverse iteration using the complex\n\
* eigenvalue (WR,WI); otherwise VR and VI need not be set.\n\
* On exit, if WI = 0.0 (real eigenvalue), VR contains the\n\
* computed real eigenvector; if WI.ne.0.0 (complex eigenvalue),\n\
* VR and VI contain the real and imaginary parts of the\n\
* computed complex eigenvector. The eigenvector is normalized\n\
* so that the component of largest magnitude has magnitude 1;\n\
* here the magnitude of a complex number (x,y) is taken to be\n\
* |x| + |y|.\n\
* VI is not referenced if WI = 0.0.\n\
*\n\
* B (workspace) REAL array, dimension (LDB,N)\n\
*\n\
* LDB (input) INTEGER\n\
* The leading dimension of the array B. LDB >= N+1.\n\
*\n\
* WORK (workspace) REAL array, dimension (N)\n\
*\n\
* EPS3 (input) REAL\n\
* A small machine-dependent value which is used to perturb\n\
* close eigenvalues, and to replace zero pivots.\n\
*\n\
* SMLNUM (input) REAL\n\
* A machine-dependent value close to the underflow threshold.\n\
*\n\
* BIGNUM (input) REAL\n\
* A machine-dependent value close to the overflow threshold.\n\
*\n\
* INFO (output) INTEGER\n\
* = 0: successful exit\n\
* = 1: inverse iteration did not converge; VR is set to the\n\
* last iterate, and so is VI if WI.ne.0.0.\n\
*\n\n\
* =====================================================================\n\
*\n"
|