diff options
Diffstat (limited to 'SRC/sorcsd2by1.f')
-rw-r--r-- | SRC/sorcsd2by1.f | 46 |
1 files changed, 23 insertions, 23 deletions
diff --git a/SRC/sorcsd2by1.f b/SRC/sorcsd2by1.f index 3354d091..1121e4c4 100644 --- a/SRC/sorcsd2by1.f +++ b/SRC/sorcsd2by1.f @@ -2,8 +2,8 @@ * * =========== DOCUMENTATION =========== * -* Online html documentation available at -* http://www.netlib.org/lapack/explore-html/ +* Online html documentation available at +* http://www.netlib.org/lapack/explore-html/ * *> \htmlonly *> Download SORCSD2BY1 + dependencies @@ -21,7 +21,7 @@ * SUBROUTINE SORCSD2BY1( JOBU1, JOBU2, JOBV1T, M, P, Q, X11, LDX11, * X21, LDX21, THETA, U1, LDU1, U2, LDU2, V1T, * LDV1T, WORK, LWORK, IWORK, INFO ) -* +* * .. Scalar Arguments .. * CHARACTER JOBU1, JOBU2, JOBV1T * INTEGER INFO, LDU1, LDU2, LDV1T, LWORK, LDX11, LDX21, @@ -33,8 +33,8 @@ * $ X11(LDX11,*), X21(LDX21,*) * INTEGER IWORK(*) * .. -* -* +* +* *> \par Purpose: *> ============= *> @@ -51,7 +51,7 @@ *> [ X21 ] [ | U2 ] [ 0 0 0 ] *> [ 0 S 0 ] *> [ 0 0 I ] -*> +*> *> X11 is P-by-Q. The orthogonal matrices U1, U2, and V1 are P-by-P, *> (M-P)-by-(M-P), and Q-by-Q, respectively. C and S are R-by-R *> nonnegative diagonal matrices satisfying C^2 + S^2 = I, in which @@ -218,10 +218,10 @@ * Authors: * ======== * -*> \author Univ. of Tennessee -*> \author Univ. of California Berkeley -*> \author Univ. of Colorado Denver -*> \author NAG Ltd. +*> \author Univ. of Tennessee +*> \author Univ. of California Berkeley +*> \author Univ. of Colorado Denver +*> \author NAG Ltd. * *> \date July 2012 * @@ -248,7 +248,7 @@ $ X11(LDX11,*), X21(LDX21,*) INTEGER IWORK(*) * .. -* +* * ===================================================================== * * .. Parameters .. @@ -524,16 +524,16 @@ CALL SORGLQ( Q-1, Q-1, Q-1, V1T(2,2), LDV1T, WORK(ITAUQ1), $ WORK(IORGLQ), LORGLQ, CHILDINFO ) END IF -* +* * Simultaneously diagonalize X11 and X21. -* +* CALL SBBCSD( JOBU1, JOBU2, JOBV1T, 'N', 'N', M, P, Q, THETA, $ WORK(IPHI), U1, LDU1, U2, LDU2, V1T, LDV1T, $ DUM2, 1, WORK(IB11D), WORK(IB11E), WORK(IB12D), $ WORK(IB12E), WORK(IB21D), WORK(IB21E), $ WORK(IB22D), WORK(IB22E), WORK(IBBCSD), LBBCSD, $ CHILDINFO ) -* +* * Permute rows and columns to place zero submatrices in * preferred positions * @@ -578,16 +578,16 @@ CALL SORGLQ( Q, Q, R, V1T, LDV1T, WORK(ITAUQ1), $ WORK(IORGLQ), LORGLQ, CHILDINFO ) END IF -* +* * Simultaneously diagonalize X11 and X21. -* +* CALL SBBCSD( JOBV1T, 'N', JOBU1, JOBU2, 'T', M, Q, P, THETA, $ WORK(IPHI), V1T, LDV1T, DUM1, 1, U1, LDU1, U2, $ LDU2, WORK(IB11D), WORK(IB11E), WORK(IB12D), $ WORK(IB12E), WORK(IB21D), WORK(IB21E), $ WORK(IB22D), WORK(IB22E), WORK(IBBCSD), LBBCSD, $ CHILDINFO ) -* +* * Permute rows and columns to place identity submatrices in * preferred positions * @@ -633,16 +633,16 @@ CALL SORGLQ( Q, Q, R, V1T, LDV1T, WORK(ITAUQ1), $ WORK(IORGLQ), LORGLQ, CHILDINFO ) END IF -* +* * Simultaneously diagonalize X11 and X21. -* +* CALL SBBCSD( 'N', JOBV1T, JOBU2, JOBU1, 'T', M, M-Q, M-P, $ THETA, WORK(IPHI), DUM1, 1, V1T, LDV1T, U2, $ LDU2, U1, LDU1, WORK(IB11D), WORK(IB11E), $ WORK(IB12D), WORK(IB12E), WORK(IB21D), $ WORK(IB21E), WORK(IB22D), WORK(IB22E), $ WORK(IBBCSD), LBBCSD, CHILDINFO ) -* +* * Permute rows and columns to place identity submatrices in * preferred positions * @@ -702,16 +702,16 @@ CALL SORGLQ( Q, Q, Q, V1T, LDV1T, WORK(ITAUQ1), $ WORK(IORGLQ), LORGLQ, CHILDINFO ) END IF -* +* * Simultaneously diagonalize X11 and X21. -* +* CALL SBBCSD( JOBU2, JOBU1, 'N', JOBV1T, 'N', M, M-P, M-Q, $ THETA, WORK(IPHI), U2, LDU2, U1, LDU1, DUM1, 1, $ V1T, LDV1T, WORK(IB11D), WORK(IB11E), WORK(IB12D), $ WORK(IB12E), WORK(IB21D), WORK(IB21E), $ WORK(IB22D), WORK(IB22E), WORK(IBBCSD), LBBCSD, $ CHILDINFO ) -* +* * Permute rows and columns to place identity submatrices in * preferred positions * |