[Scipy-svn] r6851 - trunk/scipy/sparse/linalg/eigen/arpack/ARPACK/SRC

scipy-svn@scip... scipy-svn@scip...
Sat Oct 23 09:40:54 CDT 2010


Author: ptvirtan
Date: 2010-10-23 09:40:53 -0500 (Sat, 23 Oct 2010)
New Revision: 6851

Modified:
   trunk/scipy/sparse/linalg/eigen/arpack/ARPACK/SRC/cneupd.f
   trunk/scipy/sparse/linalg/eigen/arpack/ARPACK/SRC/dneupd.f
   trunk/scipy/sparse/linalg/eigen/arpack/ARPACK/SRC/sneupd.f
   trunk/scipy/sparse/linalg/eigen/arpack/ARPACK/SRC/zneupd.f
Log:
BUG: sparse/arpack: apply patch from Debian bug:572935 -- fixes a crash inside ARPACK (#1313)

Modified: trunk/scipy/sparse/linalg/eigen/arpack/ARPACK/SRC/cneupd.f
===================================================================
--- trunk/scipy/sparse/linalg/eigen/arpack/ARPACK/SRC/cneupd.f	2010-10-20 00:05:10 UTC (rev 6850)
+++ trunk/scipy/sparse/linalg/eigen/arpack/ARPACK/SRC/cneupd.f	2010-10-23 14:40:53 UTC (rev 6851)
@@ -301,7 +301,7 @@
      &           invsub, iuptri, iwev  , j    , ldh   , ldq   ,
      &           mode  , msglvl, ritz  , wr   , k     , irz   ,
      &           ibd   , outncv, iq    , np   , numcnv, jj    ,
-     &           ishift
+     &           ishift, nconv2
       Complex
      &           rnorm, temp, vl(1)
       Real
@@ -592,9 +592,13 @@
             call ctrsen('None'       , 'V'          , select      ,
      &                   ncv          , workl(iuptri), ldh         ,
      &                   workl(invsub), ldq          , workl(iheig),
-     &                   nconv        , conds        , sep         , 
+     &                   nconv2       , conds        , sep         , 
      &                   workev       , ncv          , ierr)
 c
+            if (nconv2 .lt. nconv) then
+               nconv = nconv2
+            end if
+
             if (ierr .eq. 1) then
                info = 1
                go to 9000

Modified: trunk/scipy/sparse/linalg/eigen/arpack/ARPACK/SRC/dneupd.f
===================================================================
--- trunk/scipy/sparse/linalg/eigen/arpack/ARPACK/SRC/dneupd.f	2010-10-20 00:05:10 UTC (rev 6850)
+++ trunk/scipy/sparse/linalg/eigen/arpack/ARPACK/SRC/dneupd.f	2010-10-23 14:40:53 UTC (rev 6851)
@@ -353,7 +353,7 @@
      &           mode  , msglvl, outncv, ritzr   ,
      &           ritzi , wri   , wrr   , irr     ,
      &           iri   , ibd   , ishift, numcnv  ,
-     &           np    , jj 
+     &           np    , jj    , nconv2   
       logical    reord
       Double precision 
      &           conds  , rnorm, sep  , temp,
@@ -661,16 +661,21 @@
      &                   workl(iuptri), ldh          , 
      &                   workl(invsub), ldq          , 
      &                   workl(iheigr), workl(iheigi), 
-     &                   nconv        , conds        ,
+     &                   nconv2       , conds        ,
      &                   sep          , workl(ihbds) , 
      &                   ncv          , iwork        ,
      &                   1            , ierr)
 c
+            if (nconv2 .lt. nconv) then
+               nconv = nconv2
+            end if
+
             if (ierr .eq. 1) then
                info = 1
                go to 9000
             end if
 c
+
             if (msglvl .gt. 2) then
                 call dvout (logfil, ncv, workl(iheigr), ndigit,
      &           '_neupd: Real part of the eigenvalues of H--reordered')

Modified: trunk/scipy/sparse/linalg/eigen/arpack/ARPACK/SRC/sneupd.f
===================================================================
--- trunk/scipy/sparse/linalg/eigen/arpack/ARPACK/SRC/sneupd.f	2010-10-20 00:05:10 UTC (rev 6850)
+++ trunk/scipy/sparse/linalg/eigen/arpack/ARPACK/SRC/sneupd.f	2010-10-23 14:40:53 UTC (rev 6851)
@@ -353,7 +353,7 @@
      &           mode  , msglvl, outncv, ritzr   ,
      &           ritzi , wri   , wrr   , irr     ,
      &           iri   , ibd   , ishift, numcnv  ,
-     &           np    , jj 
+     &           np    , jj    , nconv2
       logical    reord
       Real 
      &           conds  , rnorm, sep  , temp,
@@ -661,11 +661,15 @@
      &                   workl(iuptri), ldh          , 
      &                   workl(invsub), ldq          , 
      &                   workl(iheigr), workl(iheigi), 
-     &                   nconv        , conds        ,
+     &                   nconv2       , conds        ,
      &                   sep          , workl(ihbds) , 
      &                   ncv          , iwork        ,
      &                   1            , ierr)
 c
+            if (nconv2 .lt. nconv) then
+               nconv = nconv2
+            end if
+
             if (ierr .eq. 1) then
                info = 1
                go to 9000

Modified: trunk/scipy/sparse/linalg/eigen/arpack/ARPACK/SRC/zneupd.f
===================================================================
--- trunk/scipy/sparse/linalg/eigen/arpack/ARPACK/SRC/zneupd.f	2010-10-20 00:05:10 UTC (rev 6850)
+++ trunk/scipy/sparse/linalg/eigen/arpack/ARPACK/SRC/zneupd.f	2010-10-23 14:40:53 UTC (rev 6851)
@@ -301,7 +301,7 @@
      &           invsub, iuptri, iwev  , j    , ldh   , ldq   ,
      &           mode  , msglvl, ritz  , wr   , k     , irz   ,
      &           ibd   , outncv, iq    , np   , numcnv, jj    ,
-     &           ishift
+     &           ishift, nconv2
       Complex*16
      &           rnorm, temp, vl(1)
       Double precision
@@ -592,9 +592,13 @@
             call ztrsen('None'       , 'V'          , select      ,
      &                   ncv          , workl(iuptri), ldh         ,
      &                   workl(invsub), ldq          , workl(iheig),
-     &                   nconv        , conds        , sep         , 
+     &                   nconv2        , conds        , sep         , 
      &                   workev       , ncv          , ierr)
 c
+            if (nconv2 .lt. nconv) then
+               nconv = nconv2
+            end if
+
             if (ierr .eq. 1) then
                info = 1
                go to 9000



More information about the Scipy-svn mailing list