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: slas2
:md5sum: c614a835281cb4cc90907af6ff259ba5
:category: :subroutine
:arguments:
- f:
:type: real
:intent: input
- g:
:type: real
:intent: input
- h:
:type: real
:intent: input
- ssmin:
:type: real
:intent: output
- ssmax:
:type: real
:intent: output
:substitutions: {}
:fortran_help: " SUBROUTINE SLAS2( F, G, H, SSMIN, SSMAX )\n\n\
* Purpose\n\
* =======\n\
*\n\
* SLAS2 computes the singular values of the 2-by-2 matrix\n\
* [ F G ]\n\
* [ 0 H ].\n\
* On return, SSMIN is the smaller singular value and SSMAX is the\n\
* larger singular value.\n\
*\n\n\
* Arguments\n\
* =========\n\
*\n\
* F (input) REAL\n\
* The (1,1) element of the 2-by-2 matrix.\n\
*\n\
* G (input) REAL\n\
* The (1,2) element of the 2-by-2 matrix.\n\
*\n\
* H (input) REAL\n\
* The (2,2) element of the 2-by-2 matrix.\n\
*\n\
* SSMIN (output) REAL\n\
* The smaller singular value.\n\
*\n\
* SSMAX (output) REAL\n\
* The larger singular value.\n\
*\n\n\
* Further Details\n\
* ===============\n\
*\n\
* Barring over/underflow, all output quantities are correct to within\n\
* a few units in the last place (ulps), even in the absence of a guard\n\
* digit in addition/subtraction.\n\
*\n\
* In IEEE arithmetic, the code works correctly if one matrix element is\n\
* infinite.\n\
*\n\
* Overflow will not occur unless the largest singular value itself\n\
* overflows, or is within a few ulps of overflow. (On machines with\n\
* partial overflow, like the Cray, overflow may occur if the largest\n\
* singular value is within a factor of 2 of overflow.)\n\
*\n\
* Underflow is harmless if underflow is gradual. Otherwise, results\n\
* may correspond to a matrix modified by perturbations of size near\n\
* the underflow threshold.\n\
*\n\
* ====================================================================\n\
*\n"
|