diff options
author | julie <julielangou@users.noreply.github.com> | 2011-01-25 22:02:14 +0000 |
---|---|---|
committer | julie <julielangou@users.noreply.github.com> | 2011-01-25 22:02:14 +0000 |
commit | 0c127da695fbb3a28c48c687813d007e2837fddf (patch) | |
tree | fcc49f766930a97986a81c2fbf595f57abd8e983 /SRC/dgsvj0.f | |
parent | c4e5f2da72c3bf8c83b84e3da15d21b616fef93f (diff) | |
download | lapack-0c127da695fbb3a28c48c687813d007e2837fddf.tar.gz lapack-0c127da695fbb3a28c48c687813d007e2837fddf.tar.bz2 lapack-0c127da695fbb3a28c48c687813d007e2837fddf.zip |
Include Zlatko changes following Paul Roberts from NAG report
Message from Zlatko:
The following changes are made in the
current version of the code:
1. in dgejsv, sgejsv:
- a typo in checking the parameters LSVEC.OR.LSVEC
has been changed to LSVEC.OR.RSVEC
- the length of WORK, LWORK, its description
and the minimal length for different JOBs
have been revised and corrected
- in a call to xGESVJ with WORK(N+1), the length
of the workspace is set to the correct value of
LWORK-N, instead of the incorrect LWORK
- a missing RETURN after a call to XERBLA
has been inserted
- In the case of zero matrix on input, IWORK(3)
is set to ZERO, to correspond to the description
of IWORK in other nontrivial cases
2. in all routines
- simple editing so that the single and
the corresponding double routines have matching
lines in the source codes.
Diffstat (limited to 'SRC/dgsvj0.f')
-rw-r--r-- | SRC/dgsvj0.f | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/SRC/dgsvj0.f b/SRC/dgsvj0.f index e03aeb63..c26f929f 100644 --- a/SRC/dgsvj0.f +++ b/SRC/dgsvj0.f @@ -1,11 +1,11 @@ SUBROUTINE DGSVJ0( JOBV, M, N, A, LDA, D, SVA, MV, V, LDV, EPS, + SFMIN, TOL, NSWEEP, WORK, LWORK, INFO ) * -* -- LAPACK routine (version 3.3.0) -- +* -- LAPACK routine (version 3.3.1) -- * * -- Contributed by Zlatko Drmac of the University of Zagreb and -- * -- Kresimir Veselic of the Fernuniversitaet Hagen -- -* November 2010 +* January 2011 * * -- LAPACK is a software package provided by Univ. of Tennessee, -- * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- @@ -16,6 +16,7 @@ * eigenvalue problems Hx = lambda M x, H M x = lambda x with H, M > 0. * IMPLICIT NONE +* .. * .. Scalar Arguments .. INTEGER INFO, LDA, LDV, LWORK, M, MV, N, NSWEEP DOUBLE PRECISION EPS, SFMIN, TOL @@ -173,6 +174,8 @@ * .. * .. Executable Statements .. * +* Test the input parameters. +* APPLV = LSAME( JOBV, 'A' ) RSVEC = LSAME( JOBV, 'V' ) IF( .NOT.( RSVEC .OR. APPLV .OR. LSAME( JOBV, 'N' ) ) ) THEN @@ -219,7 +222,6 @@ BIGTHETA = ONE / ROOTEPS ROOTTOL = DSQRT( TOL ) * -* * -#- Row-cyclic Jacobi SVD algorithm with column pivoting -#- * EMPTSW = ( N*( N-1 ) ) / 2 @@ -376,8 +378,7 @@ * AQOAP = AAQQ / AAPP APOAQ = AAPP / AAQQ - THETA = -HALF*DABS( AQOAP-APOAQ ) / - + AAPQ + THETA = -HALF*DABS( AQOAP-APOAQ )/AAPQ * IF( DABS( THETA ).GT.BIGTHETA ) THEN * @@ -676,8 +677,7 @@ * AQOAP = AAQQ / AAPP APOAQ = AAPP / AAQQ - THETA = -HALF*DABS( AQOAP-APOAQ ) / - + AAPQ + THETA = -HALF*DABS( AQOAP-APOAQ )/AAPQ IF( AAQQ.GT.AAPP0 )THETA = -THETA * IF( DABS( THETA ).GT.BIGTHETA ) THEN |