Subroutine */
| 23646 | } /* dlartg_ */ |
| 23647 | |
| 23648 | /* Subroutine */ int dlas2_(doublereal *f, doublereal *g, doublereal *h__, |
| 23649 | doublereal *ssmin, doublereal *ssmax) |
| 23650 | { |
| 23651 | /* System generated locals */ |
| 23652 | doublereal d__1, d__2; |
| 23653 | |
| 23654 | /* Local variables */ |
| 23655 | static doublereal c__, fa, ga, ha, as, at, au, fhmn, fhmx; |
| 23656 | |
| 23657 | |
| 23658 | /* |
| 23659 | -- LAPACK auxiliary routine (version 3.2) -- |
| 23660 | -- LAPACK is a software package provided by Univ. of Tennessee, -- |
| 23661 | -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
| 23662 | November 2006 |
| 23663 | |
| 23664 | |
| 23665 | Purpose |
| 23666 | ======= |
| 23667 | |
| 23668 | DLAS2 computes the singular values of the 2-by-2 matrix |
| 23669 | [ F G ] |
| 23670 | [ 0 H ]. |
| 23671 | On return, SSMIN is the smaller singular value and SSMAX is the |
| 23672 | larger singular value. |
| 23673 | |
| 23674 | Arguments |
| 23675 | ========= |
| 23676 | |
| 23677 | F (input) DOUBLE PRECISION |
| 23678 | The (1,1) element of the 2-by-2 matrix. |
| 23679 | |
| 23680 | G (input) DOUBLE PRECISION |
| 23681 | The (1,2) element of the 2-by-2 matrix. |
| 23682 | |
| 23683 | H (input) DOUBLE PRECISION |
| 23684 | The (2,2) element of the 2-by-2 matrix. |
| 23685 | |
| 23686 | SSMIN (output) DOUBLE PRECISION |
| 23687 | The smaller singular value. |
| 23688 | |
| 23689 | SSMAX (output) DOUBLE PRECISION |
| 23690 | The larger singular value. |
| 23691 | |
| 23692 | Further Details |
| 23693 | =============== |
| 23694 | |
| 23695 | Barring over/underflow, all output quantities are correct to within |
| 23696 | a few units in the last place (ulps), even in the absence of a guard |
| 23697 | digit in addition/subtraction. |
| 23698 | |
| 23699 | In IEEE arithmetic, the code works correctly if one matrix element is |
| 23700 | infinite. |
| 23701 | |
| 23702 | Overflow will not occur unless the largest singular value itself |
| 23703 | overflows, or is within a few ulps of overflow. (On machines with |
| 23704 | partial overflow, like the Cray, overflow may occur if the largest |
| 23705 | singular value is within a factor of 2 of overflow.) |