version 1.2, 2010/04/21 13:45:12
|
version 1.9, 2011/07/22 07:38:04
|
Line 1
|
Line 1
|
SUBROUTINE DBDSDC( UPLO, COMPQ, N, D, E, U, LDU, VT, LDVT, Q, IQ, |
SUBROUTINE DBDSDC( UPLO, COMPQ, N, D, E, U, LDU, VT, LDVT, Q, IQ, |
$ WORK, IWORK, INFO ) |
$ WORK, IWORK, INFO ) |
* |
* |
* -- LAPACK routine (version 3.2) -- |
* -- LAPACK routine (version 3.3.1) -- |
* -- LAPACK is a software package provided by Univ. of Tennessee, -- |
* -- LAPACK is a software package provided by Univ. of Tennessee, -- |
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
* November 2006 |
* -- April 2011 -- |
* |
* |
* .. Scalar Arguments .. |
* .. Scalar Arguments .. |
CHARACTER COMPQ, UPLO |
CHARACTER COMPQ, UPLO |
Line 77
|
Line 77
|
* |
* |
* VT (output) DOUBLE PRECISION array, dimension (LDVT,N) |
* VT (output) DOUBLE PRECISION array, dimension (LDVT,N) |
* If COMPQ = 'I', then: |
* If COMPQ = 'I', then: |
* On exit, if INFO = 0, VT' contains the right singular |
* On exit, if INFO = 0, VT**T contains the right singular |
* vectors of the bidiagonal matrix. |
* vectors of the bidiagonal matrix. |
* For other values of COMPQ, VT is not referenced. |
* For other values of COMPQ, VT is not referenced. |
* |
* |
Line 119
|
Line 119
|
* INFO (output) INTEGER |
* INFO (output) INTEGER |
* = 0: successful exit. |
* = 0: successful exit. |
* < 0: if INFO = -i, the i-th argument had an illegal value. |
* < 0: if INFO = -i, the i-th argument had an illegal value. |
* > 0: The algorithm failed to compute an singular value. |
* > 0: The algorithm failed to compute a singular value. |
* The update process of divide and conquer failed. |
* The update process of divide and conquer failed. |
* |
* |
* Further Details |
* Further Details |
Line 287
|
Line 287
|
CALL DLASCL( 'G', 0, 0, ORGNRM, ONE, N, 1, D, N, IERR ) |
CALL DLASCL( 'G', 0, 0, ORGNRM, ONE, N, 1, D, N, IERR ) |
CALL DLASCL( 'G', 0, 0, ORGNRM, ONE, NM1, 1, E, NM1, IERR ) |
CALL DLASCL( 'G', 0, 0, ORGNRM, ONE, NM1, 1, E, NM1, IERR ) |
* |
* |
EPS = DLAMCH( 'Epsilon' ) |
EPS = (0.9D+0)*DLAMCH( 'Epsilon' ) |
* |
* |
MLVL = INT( LOG( DBLE( N ) / DBLE( SMLSIZ+1 ) ) / LOG( TWO ) ) + 1 |
MLVL = INT( LOG( DBLE( N ) / DBLE( SMLSIZ+1 ) ) / LOG( TWO ) ) + 1 |
SMLSZP = SMLSIZ + 1 |
SMLSZP = SMLSIZ + 1 |
Line 368
|
Line 368
|
$ Q( START+( IC+QSTART-2 )*N ), |
$ Q( START+( IC+QSTART-2 )*N ), |
$ Q( START+( IS+QSTART-2 )*N ), |
$ Q( START+( IS+QSTART-2 )*N ), |
$ WORK( WSTART ), IWORK, INFO ) |
$ WORK( WSTART ), IWORK, INFO ) |
IF( INFO.NE.0 ) THEN |
END IF |
RETURN |
IF( INFO.NE.0 ) THEN |
END IF |
RETURN |
END IF |
END IF |
START = I + 1 |
START = I + 1 |
END IF |
END IF |