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
|
---
:name: dlaed9
:md5sum: e45625c97ed5b50036009a7a23bf1afd
:category: :subroutine
:arguments:
- k:
:type: integer
:intent: input
- kstart:
:type: integer
:intent: input
- kstop:
:type: integer
:intent: input
- n:
:type: integer
:intent: input
- d:
:type: doublereal
:intent: output
:dims:
- MAX(1,n)
- q:
:type: doublereal
:intent: workspace
:dims:
- ldq
- MAX(1,n)
- ldq:
:type: integer
:intent: input
- rho:
:type: doublereal
:intent: input
- dlamda:
:type: doublereal
:intent: input
:dims:
- k
- w:
:type: doublereal
:intent: input
:dims:
- k
- s:
:type: doublereal
:intent: output
:dims:
- lds
- k
- lds:
:type: integer
:intent: input
- info:
:type: integer
:intent: output
:substitutions:
ldq: MAX( 1, n )
lds: MAX( 1, k )
:fortran_help: " SUBROUTINE DLAED9( K, KSTART, KSTOP, N, D, Q, LDQ, RHO, DLAMDA, W, S, LDS, INFO )\n\n\
* Purpose\n\
* =======\n\
*\n\
* DLAED9 finds the roots of the secular equation, as defined by the\n\
* values in D, Z, and RHO, between KSTART and KSTOP. It makes the\n\
* appropriate calls to DLAED4 and then stores the new matrix of\n\
* eigenvectors for use in calculating the next level of Z vectors.\n\
*\n\n\
* Arguments\n\
* =========\n\
*\n\
* K (input) INTEGER\n\
* The number of terms in the rational function to be solved by\n\
* DLAED4. K >= 0.\n\
*\n\
* KSTART (input) INTEGER\n\
* KSTOP (input) INTEGER\n\
* The updated eigenvalues Lambda(I), KSTART <= I <= KSTOP\n\
* are to be computed. 1 <= KSTART <= KSTOP <= K.\n\
*\n\
* N (input) INTEGER\n\
* The number of rows and columns in the Q matrix.\n\
* N >= K (delation may result in N > K).\n\
*\n\
* D (output) DOUBLE PRECISION array, dimension (N)\n\
* D(I) contains the updated eigenvalues\n\
* for KSTART <= I <= KSTOP.\n\
*\n\
* Q (workspace) DOUBLE PRECISION array, dimension (LDQ,N)\n\
*\n\
* LDQ (input) INTEGER\n\
* The leading dimension of the array Q. LDQ >= max( 1, N ).\n\
*\n\
* RHO (input) DOUBLE PRECISION\n\
* The value of the parameter in the rank one update equation.\n\
* RHO >= 0 required.\n\
*\n\
* DLAMDA (input) DOUBLE PRECISION array, dimension (K)\n\
* The first K elements of this array contain the old roots\n\
* of the deflated updating problem. These are the poles\n\
* of the secular equation.\n\
*\n\
* W (input) DOUBLE PRECISION array, dimension (K)\n\
* The first K elements of this array contain the components\n\
* of the deflation-adjusted updating vector.\n\
*\n\
* S (output) DOUBLE PRECISION array, dimension (LDS, K)\n\
* Will contain the eigenvectors of the repaired matrix which\n\
* will be stored for subsequent Z vector calculation and\n\
* multiplied by the previously accumulated eigenvectors\n\
* to update the system.\n\
*\n\
* LDS (input) INTEGER\n\
* The leading dimension of S. LDS >= max( 1, K ).\n\
*\n\
* INFO (output) INTEGER\n\
* = 0: successful exit.\n\
* < 0: if INFO = -i, the i-th argument had an illegal value.\n\
* > 0: if INFO = 1, an eigenvalue did not converge\n\
*\n\n\
* Further Details\n\
* ===============\n\
*\n\
* Based on contributions by\n\
* Jeff Rutter, Computer Science Division, University of California\n\
* at Berkeley, USA\n\
*\n\
* =====================================================================\n\
*\n\
* .. Local Scalars ..\n INTEGER I, J\n DOUBLE PRECISION TEMP\n\
* ..\n\
* .. External Functions ..\n DOUBLE PRECISION DLAMC3, DNRM2\n EXTERNAL DLAMC3, DNRM2\n\
* ..\n\
* .. External Subroutines ..\n EXTERNAL DCOPY, DLAED4, XERBLA\n\
* ..\n\
* .. Intrinsic Functions ..\n INTRINSIC MAX, SIGN, SQRT\n\
* ..\n"
|