[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Unbundling ARPACK (for reals this time)
From: |
John W. Eaton |
Subject: |
Re: Unbundling ARPACK (for reals this time) |
Date: |
Thu, 1 Dec 2011 05:17:33 -0500 |
On 1-Dec-2011, Sylvestre Ledru wrote:
| Hello John,
|
| Le jeudi 01 décembre 2011 à 04:45 -0500, John W. Eaton a écrit :
| > On 30-Nov-2011, Jordi Gutiérrez Hermoso wrote:
| >
| > | Octave people: can we unbundle ARPACK now?
| >
| > I will be happy to do that once there is a release of the "new" ARPACK
| > that includes the bug fixes we have made for Octave and the new
| > version is packaged for Debian.
| I will be happy to apply any patches from Octave (and/or give access to
| the git repository. FYI, Jordi has access to it).
The differences between the arpack-ng/SRC directory and Octave's
arpack/src directory are attached below in diffs-0. The important
changes are the ones related to nconv. The changesets for
Octave that introduced most of these changes are attached below in
diffs-1 and diffs-2. The diffs-2 changes are not necessary but avoid
some compiler warnings.
jwe
diff -wur arpack-ng/SRC/dnaupd.f
/home/jwe/src/octave/libcruft/arpack/src/dnaupd.f
--- arpack-ng/SRC/dnaupd.f 2011-12-01 05:08:58.586148007 -0500
+++ /home/jwe/src/octave/libcruft/arpack/src/dnaupd.f 2011-08-09
13:26:28.000000000 -0400
@@ -110,7 +110,7 @@
c 'LI' -> want the NEV eigenvalues of largest imaginary part.
c 'SI' -> want the NEV eigenvalues of smallest imaginary part.
c
-c NEV Integer. (INPUT/OUTPUT)
+c NEV Integer. (INPUT)
c Number of eigenvalues of OP to be computed. 0 < NEV < N-1.
c
c TOL Double precision scalar. (INPUT)
@@ -427,7 +427,7 @@
c | Array Arguments |
c %-----------------%
c
- integer iparam(11), ipntr(*)
+ integer iparam(11), ipntr(14)
Double precision
& resid(n), v(ldv,ncv), workd(3*n), workl(lworkl)
c
diff -wur arpack-ng/SRC/dneupd.f
/home/jwe/src/octave/libcruft/arpack/src/dneupd.f
--- arpack-ng/SRC/dneupd.f 2011-12-01 05:08:58.586148007 -0500
+++ /home/jwe/src/octave/libcruft/arpack/src/dneupd.f 2011-08-09
13:26:28.000000000 -0400
@@ -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')
diff -wur arpack-ng/SRC/dseupd.f
/home/jwe/src/octave/libcruft/arpack/src/dseupd.f
--- arpack-ng/SRC/dseupd.f 2011-12-01 05:08:58.586148007 -0500
+++ /home/jwe/src/octave/libcruft/arpack/src/dseupd.f 2011-08-09
13:26:28.000000000 -0400
@@ -609,9 +609,9 @@
c
if (leftptr .lt. rghtptr) go to 20
c
- 30 end if
+ end if
c
- if (msglvl .gt. 2) then
+ 30 if (msglvl .gt. 2) then
call dvout (logfil, ncv, workl(ihd), ndigit,
& '_seupd: The eigenvalues of H--reordered')
end if
Only in arpack-ng/SRC: Makefile.am
Only in arpack-ng/SRC: Makefile.in
diff -wur arpack-ng/SRC/sseupd.f
/home/jwe/src/octave/libcruft/arpack/src/sseupd.f
--- arpack-ng/SRC/sseupd.f 2011-12-01 05:08:58.590147868 -0500
+++ /home/jwe/src/octave/libcruft/arpack/src/sseupd.f 2011-08-09
13:26:28.000000000 -0400
@@ -609,9 +609,9 @@
c
if (leftptr .lt. rghtptr) go to 20
c
- 30 end if
+ end if
c
- if (msglvl .gt. 2) then
+ 30 if (msglvl .gt. 2) then
call svout (logfil, ncv, workl(ihd), ndigit,
& '_seupd: The eigenvalues of H--reordered')
end if
diff -wur arpack-ng/SRC/zneupd.f
/home/jwe/src/octave/libcruft/arpack/src/zneupd.f
--- arpack-ng/SRC/zneupd.f 2011-12-01 05:08:58.590147868 -0500
+++ /home/jwe/src/octave/libcruft/arpack/src/zneupd.f 2011-08-09
13:26:28.000000000 -0400
@@ -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
# HG changeset patch
# User David Bateman <address@hidden>
# Date 1296241534 18000
# Branch release-3-4-x
# Node ID 3d38b4916cbf8a9652ddc14870c8fe59e6cc909c
# Parent e4ed10d59f188196a6db991cbceab122f4b87d06
avoid memory overrun in ARPACK
diff --git a/libcruft/ChangeLog b/libcruft/ChangeLog
--- a/libcruft/ChangeLog
+++ b/libcruft/ChangeLog
@@ -1,3 +1,11 @@
+2011-01-28 David Bateman <address@hidden>
+
+ * arpack/src/cneupd.f (cneupd): Restore value of nconv if ctrsen
+ returns a smaller value.
+ * arpack/src/dneupd.f (dneupd): Likewise, for dtrsen.
+ * arpack/src/sneupd.f (sneupd): Likewise, for strsen.
+ * arpack/src/zneupd.f (zneupd): Likewise, for ztrsen.
+
2011-01-28 John W. Eaton <address@hidden>
* arpack/util/second.f (ARSCND): Declare ETIME INTRINSIC, not EXTERNAL.
diff --git a/libcruft/arpack/src/cneupd.f b/libcruft/arpack/src/cneupd.f
--- a/libcruft/arpack/src/cneupd.f
+++ b/libcruft/arpack/src/cneupd.f
@@ -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
diff --git a/libcruft/arpack/src/dneupd.f b/libcruft/arpack/src/dneupd.f
--- a/libcruft/arpack/src/dneupd.f
+++ b/libcruft/arpack/src/dneupd.f
@@ -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')
diff --git a/libcruft/arpack/src/sneupd.f b/libcruft/arpack/src/sneupd.f
--- a/libcruft/arpack/src/sneupd.f
+++ b/libcruft/arpack/src/sneupd.f
@@ -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
diff --git a/libcruft/arpack/src/zneupd.f b/libcruft/arpack/src/zneupd.f
--- a/libcruft/arpack/src/zneupd.f
+++ b/libcruft/arpack/src/zneupd.f
@@ -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
# HG changeset patch
# User Rik <address@hidden>
# Date 1296510103 18000
# Branch release-3-4-x
# Node ID a85d14454adc9585963dbbe300943bf0f0b48bfb
# Parent 27bab6a53ec724dde810ce022393184ade973edf
Fix warning about GOTO reference in arpack code
diff --git a/libcruft/ChangeLog b/libcruft/ChangeLog
--- a/libcruft/ChangeLog
+++ b/libcruft/ChangeLog
@@ -1,3 +1,8 @@
+2011-01-31 Rik <address@hidden>
+
+ * arpack/src/dseupd.f, arpack/src/sseupd.f: Change GOTO target
+ to eliminate warning about landing on end if.
+
2011-01-31 John W. Eaton <address@hidden>
* arpack/module.mk (EXTRA_DIST): Include arpack/module.mk in the
diff --git a/libcruft/arpack/src/dseupd.f b/libcruft/arpack/src/dseupd.f
--- a/libcruft/arpack/src/dseupd.f
+++ b/libcruft/arpack/src/dseupd.f
@@ -609,9 +609,9 @@
c
if (leftptr .lt. rghtptr) go to 20
c
- 30 end if
+ end if
c
- if (msglvl .gt. 2) then
+ 30 if (msglvl .gt. 2) then
call dvout (logfil, ncv, workl(ihd), ndigit,
& '_seupd: The eigenvalues of H--reordered')
end if
diff --git a/libcruft/arpack/src/sseupd.f b/libcruft/arpack/src/sseupd.f
--- a/libcruft/arpack/src/sseupd.f
+++ b/libcruft/arpack/src/sseupd.f
@@ -609,9 +609,9 @@
c
if (leftptr .lt. rghtptr) go to 20
c
- 30 end if
+ end if
c
- if (msglvl .gt. 2) then
+ 30 if (msglvl .gt. 2) then
call svout (logfil, ncv, workl(ihd), ndigit,
& '_seupd: The eigenvalues of H--reordered')
end if
- Re: Unbundling ARPACK (for reals this time), Michael Goffioul, 2011/12/01
- Unbundling ARPACK (for reals this time), John W. Eaton, 2011/12/01
- Re: Unbundling ARPACK (for reals this time), Sylvestre Ledru, 2011/12/01
- Re: Unbundling ARPACK (for reals this time),
John W. Eaton <=
- Re: Unbundling ARPACK (for reals this time), Sylvestre Ledru, 2011/12/01
- Re: Unbundling ARPACK (for reals this time), Sylvestre Ledru, 2011/12/11
- Re: Unbundling ARPACK (for reals this time), Jussi Lehtola, 2011/12/11
- Re: Unbundling ARPACK (for reals this time), marco atzeri, 2011/12/11
- Re: Unbundling ARPACK (for reals this time), Jussi Lehtola, 2011/12/11
- Re: Unbundling ARPACK (for reals this time), Jussi Lehtola, 2011/12/11
- Re: Unbundling ARPACK (for reals this time), Sylvestre Ledru, 2011/12/13
- Re: Unbundling ARPACK (for reals this time), Jussi Lehtola, 2011/12/13
- Re: Unbundling ARPACK (for reals this time), Jussi Lehtola, 2011/12/13
- Re: Unbundling ARPACK (for reals this time), Sylvestre Ledru, 2011/12/13