Subroutine */
| 31686 | } /* dlassq_ */ |
| 31687 | |
| 31688 | /* Subroutine */ int dlasv2_(doublereal *f, doublereal *g, doublereal *h__, |
| 31689 | doublereal *ssmin, doublereal *ssmax, doublereal *snr, doublereal * |
| 31690 | csr, doublereal *snl, doublereal *csl) |
| 31691 | { |
| 31692 | /* System generated locals */ |
| 31693 | doublereal d__1; |
| 31694 | |
| 31695 | /* Local variables */ |
| 31696 | static doublereal a, d__, l, m, r__, s, t, fa, ga, ha, ft, gt, ht, mm, tt, |
| 31697 | clt, crt, slt, srt; |
| 31698 | static integer pmax; |
| 31699 | static doublereal temp; |
| 31700 | static logical swap; |
| 31701 | static doublereal tsign; |
| 31702 | |
| 31703 | static logical gasmal; |
| 31704 | |
| 31705 | |
| 31706 | /* |
| 31707 | -- LAPACK auxiliary routine (version 3.2) -- |
| 31708 | -- LAPACK is a software package provided by Univ. of Tennessee, -- |
| 31709 | -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
| 31710 | November 2006 |
| 31711 | |
| 31712 | |
| 31713 | Purpose |
| 31714 | ======= |
| 31715 | |
| 31716 | DLASV2 computes the singular value decomposition of a 2-by-2 |
| 31717 | triangular matrix |
| 31718 | [ F G ] |
| 31719 | [ 0 H ]. |
| 31720 | On return, abs(SSMAX) is the larger singular value, abs(SSMIN) is the |
| 31721 | smaller singular value, and (CSL,SNL) and (CSR,SNR) are the left and |
| 31722 | right singular vectors for abs(SSMAX), giving the decomposition |
| 31723 | |
| 31724 | [ CSL SNL ] [ F G ] [ CSR -SNR ] = [ SSMAX 0 ] |
| 31725 | [-SNL CSL ] [ 0 H ] [ SNR CSR ] [ 0 SSMIN ]. |
| 31726 | |
| 31727 | Arguments |
| 31728 | ========= |
| 31729 | |
| 31730 | F (input) DOUBLE PRECISION |
| 31731 | The (1,1) element of the 2-by-2 matrix. |
| 31732 | |
| 31733 | G (input) DOUBLE PRECISION |
| 31734 | The (1,2) element of the 2-by-2 matrix. |
| 31735 | |
| 31736 | H (input) DOUBLE PRECISION |
| 31737 | The (2,2) element of the 2-by-2 matrix. |
| 31738 | |
| 31739 | SSMIN (output) DOUBLE PRECISION |
| 31740 | abs(SSMIN) is the smaller singular value. |
| 31741 | |
| 31742 | SSMAX (output) DOUBLE PRECISION |
| 31743 | abs(SSMAX) is the larger singular value. |
| 31744 | |
| 31745 | SNL (output) DOUBLE PRECISION |