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
|
---
:name: dlaed6
:md5sum: e039fc917dcc0ea6e9bd27545f59234c
:category: :subroutine
:arguments:
- kniter:
:type: integer
:intent: input
- orgati:
:type: logical
:intent: input
- rho:
:type: doublereal
:intent: input
- d:
:type: doublereal
:intent: input
:dims:
- "3"
- z:
:type: doublereal
:intent: input
:dims:
- "3"
- finit:
:type: doublereal
:intent: input
- tau:
:type: doublereal
:intent: output
- info:
:type: integer
:intent: output
:substitutions: {}
:fortran_help: " SUBROUTINE DLAED6( KNITER, ORGATI, RHO, D, Z, FINIT, TAU, INFO )\n\n\
* Purpose\n\
* =======\n\
*\n\
* DLAED6 computes the positive or negative root (closest to the origin)\n\
* of\n\
* z(1) z(2) z(3)\n\
* f(x) = rho + --------- + ---------- + ---------\n\
* d(1)-x d(2)-x d(3)-x\n\
*\n\
* It is assumed that\n\
*\n\
* if ORGATI = .true. the root is between d(2) and d(3);\n\
* otherwise it is between d(1) and d(2)\n\
*\n\
* This routine will be called by DLAED4 when necessary. In most cases,\n\
* the root sought is the smallest in magnitude, though it might not be\n\
* in some extremely rare situations.\n\
*\n\n\
* Arguments\n\
* =========\n\
*\n\
* KNITER (input) INTEGER\n\
* Refer to DLAED4 for its significance.\n\
*\n\
* ORGATI (input) LOGICAL\n\
* If ORGATI is true, the needed root is between d(2) and\n\
* d(3); otherwise it is between d(1) and d(2). See\n\
* DLAED4 for further details.\n\
*\n\
* RHO (input) DOUBLE PRECISION\n\
* Refer to the equation f(x) above.\n\
*\n\
* D (input) DOUBLE PRECISION array, dimension (3)\n\
* D satisfies d(1) < d(2) < d(3).\n\
*\n\
* Z (input) DOUBLE PRECISION array, dimension (3)\n\
* Each of the elements in z must be positive.\n\
*\n\
* FINIT (input) DOUBLE PRECISION\n\
* The value of f at 0. It is more accurate than the one\n\
* evaluated inside this routine (if someone wants to do\n\
* so).\n\
*\n\
* TAU (output) DOUBLE PRECISION\n\
* The root of the equation f(x).\n\
*\n\
* INFO (output) INTEGER\n\
* = 0: successful exit\n\
* > 0: if INFO = 1, failure to converge\n\
*\n\n\
* Further Details\n\
* ===============\n\
*\n\
* 30/06/99: Based on contributions by\n\
* Ren-Cang Li, Computer Science Division, University of California\n\
* at Berkeley, USA\n\
*\n\
* 10/02/03: This version has a few statements commented out for thread\n\
* safety (machine parameters are computed on each entry). SJH.\n\
*\n\
* 05/10/06: Modified from a new version of Ren-Cang Li, use\n\
* Gragg-Thornton-Warner cubic convergent scheme for better stability.\n\
*\n\
* =====================================================================\n\
*\n"
|