aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbf <bf@FreeBSD.org>2011-08-24 18:41:39 +0800
committerbf <bf@FreeBSD.org>2011-08-24 18:41:39 +0800
commit58834efc1da70c36cf9078b50675d62035ec9b16 (patch)
tree6722cd33d800e617fee9e305615f514ff2eded13
parent4e40c6b3eed88cb3680997a4f5488e4da73bc37c (diff)
downloadfreebsd-ports-gnome-58834efc1da70c36cf9078b50675d62035ec9b16.tar.gz
freebsd-ports-gnome-58834efc1da70c36cf9078b50675d62035ec9b16.tar.zst
freebsd-ports-gnome-58834efc1da70c36cf9078b50675d62035ec9b16.zip
rename the lapack symbols in arpack to avoid conflicts
with other lapack libraries [1]; respect LDFLAGS when linking; wrap long lines; trim pkg-descr PR: 159129 [1] Submitted by: stephen (original version) [1]
-rw-r--r--math/arpack/Makefile91
-rw-r--r--math/arpack/distinfo2
-rw-r--r--math/arpack/files/arpack.h348
-rw-r--r--math/arpack/files/patch-UTIL+second.f4
-rw-r--r--math/arpack/pkg-descr29
-rw-r--r--math/arpack/pkg-plist2
6 files changed, 261 insertions, 215 deletions
diff --git a/math/arpack/Makefile b/math/arpack/Makefile
index 5cadd3500345..8391e5739c42 100644
--- a/math/arpack/Makefile
+++ b/math/arpack/Makefile
@@ -7,7 +7,7 @@
PORTNAME= arpack
PORTVERSION= 96
-PORTREVISION= 8
+PORTREVISION= 9
CATEGORIES= math
MASTER_SITES= http://www.caam.rice.edu/software/ARPACK/SRC/
DISTFILES= ${PORTNAME}${PORTVERSION}.tar.gz patch.tar.gz
@@ -17,10 +17,6 @@ DISTFILES+= ug.ps.gz
DIST_SUBDIR= arpack
EXTRACT_ONLY= ${PORTNAME}${PORTVERSION}.tar.gz
-PATCH_SITES= http://mathema.tician.de/news.tiker.net/files/
-PATCHFILES= arpack-arscnd-3.patch.gz
-PATCH_DIST_STRIP= -p1
-
MAINTAINER= bf@FreeBSD.org
COMMENT= Argand Library: large eigenvalue subroutines (serial version)
@@ -29,6 +25,34 @@ USE_FORTRAN= yes
USE_LDCONFIG= yes
WRKSRC = ${WRKDIR}/ARPACK
+# The following lapack symbols in arpack are renamed to avoid conflicts with other
+# lapack libraries:
+RENAMED_SYMBOLS= cgbtf2 cgbtrf cgbtrs cgeqr2 cgttrf cgttrs clacgv \
+ clacon clacpy cladiv clahqr clange clanhs clarf \
+ clarfg clarnv clartg clascl claset classq claswp \
+ clatrs cmach crot ctrevc ctrexc ctrsen ctrsyl cunm2r \
+ dgbtf2 dgbtrf dgbtrs dgeqr2 dgttrf dgttrs dlabad \
+ dlacon dlacpy dladiv dlae2 dlaev2 dlaexc dlagtm \
+ dlahqr dlaln2 dlamc1 dlamc2 dlamc3 dlamc4 dlamc5 \
+ dlamch dlange dlanhs dlanst dlanv2 dlaptm dlapy2 \
+ dlapy3 dlaran dlarf dlarfg dlarfx dlarnd dlarnv \
+ dlartg dlaruv dlascl dlaset dlasr dlasrt dlassq \
+ dlaswp dlasy2 dorm2r dpttrf dpttrs dsteqr dtrevc \
+ dtrexc dtrsen dtrsyl dzsum1 icmax1 ilaenv izmax1 \
+ lsame lsamen scsum1 second sgbtf2 sgbtrf sgbtrs \
+ sgeqr2 sgttrf sgttrs slabad slacon slacpy sladiv \
+ slae2 slaev2 slaexc slagtm slahqr slaln2 slamc1 \
+ slamc2 slamc3 slamc4 slamc5 slamch slange slanhs \
+ slanst slanv2 slaptm slapy2 slapy3 slaran slarf \
+ slarfg slarfx slarnd slarnv slartg slaruv slascl \
+ slaset slasr slasrt slassq slaswp slasy2 sorm2r \
+ spttrf spttrs ssteqr strevc strexc strsen strsyl \
+ xerbla xlaenv zgbtf2 zgbtrf zgbtrs zgeqr2 zgttrf \
+ zgttrs zlacgv zlacon zlacpy zladiv zlahqr zlange \
+ zlanhs zlarf zlarfg zlarnv zlartg zlascl zlaset \
+ zlassq zlaswp zlatrs zmach zrot ztrevc ztrexc ztrsen \
+ ztrsyl zunm2r
+
BANDTESTS= ssbdr1 ssbdr2 ssbdr3 ssbdr4 ssbdr5 ssbdr6 \
dsbdr1 dsbdr2 dsbdr3 dsbdr4 dsbdr5 dsbdr6 \
snbdr1 snbdr2 snbdr3 snbdr4 snbdr5 snbdr6 \
@@ -72,13 +96,35 @@ post-extract:
post-patch:
@${REINPLACE_CMD} -E \
- -e '/^(home|AR|FC|LDFLAGS|MAKE|PLAT|RANLIB|SHELL)[[:space:]]+=/d' \
- -e '/^ARPACKLIB[[:space:]]+=/s/_\$$\(PLAT\)//' \
- -e '\|^BLASLIB[[:space:]]+=|s|=.*|= ${LDFLAGS} ${BLAS}|' \
- -e '/^DIRS[[:space:]]+=/s/\$$\(BLASdir\)//' \
- -e '\|^FFLAGS[[:space:]]+=|s|=.*|= ${FFLAGS} $${PICFLAG}|' \
+ -e '/^(home|AR|FC|LDFLAGS|MAKE|PLAT|RANLIB|SHELL)[[:blank:]]+=/d' \
+ -e '/^ARPACKLIB[[:blank:]]+=/s/_\$$\(PLAT\)//' \
+ -e '\|^BLASLIB[[:blank:]]+=|s|=.*|= ${LDFLAGS} ${BLAS}|' \
+ -e '/^DIRS[[:blank:]]+=/s/\$$\(BLASdir\)//' \
+ -e '\|^FFLAGS[[:blank:]]+=|s|=.*|= ${FFLAGS} $${PICFLAG}|' \
${WRKSRC}/ARmake.inc
@${CP} -R ${WRKSRC} ${WRKSRC}_SHARED
+ @${ECHO_CMD} ${RENAMED_SYMBOLS} | ${AWK} \
+ 'BEGIN { printf "%s\n\n%s\t%s\n%s\t%s\n\n", \
+ "/* arpack symbol renaming preprocessor macros, C interface */", \
+ "#ifndef", "_ARPACK_COMPAT_C_H_", \
+ "#define", "_ARPACK_COMPAT_C_H_" \
+ > "${WRKDIR}/arpack_compat_c.h" ; \
+ printf "%s\n\n%s\t%s\n%s\t%s\n\n", \
+ "/* arpack symbol renaming preprocessor macros, FORTRAN interface */", \
+ "#ifndef", "_ARPACK_COMPAT_F_H_", \
+ "#define", "_ARPACK_COMPAT_F_H_" \
+ > "${WRKDIR}/arpack_compat_f.h" } ; \
+ { for (i = 1; i <= NF; i++) { \
+ printf "%s\t%s%s\t%s%s%s\n", "#define", $$i, "_", \
+ "arpack_", $$i, "_" > "${WRKDIR}/arpack_compat_c.h" ; \
+ printf "%s\t%s\t%s%s\n%s\t%s\t%s%s\n", "#define", \
+ toupper($$i), "ARPACK_", toupper($$i), "#define", $$i, \
+ "ARPACK_", toupper($$i) \
+ > "${WRKDIR}/arpack_compat_f.h" ; \
+ printf "%s%s%s\n", $$i, " arpack_", $$i \
+ > "${WRKDIR}/rename" } } ; \
+ END { print "\n#endif" > "${WRKDIR}/arpack_compat_c.h" ; \
+ print "\n#endif" > "${WRKDIR}/arpack_compat_f.h" }' -
do-build:
@cd ${WRKSRC} ; ${SETENV} ${MAKE_ENV} \
@@ -87,12 +133,17 @@ do-build:
@cd ${WRKSRC}_SHARED ; ${SETENV} ${MAKE_ENV} \
PICFLAG=${PICFLAG} home="${WRKSRC}_SHARED" \
${MAKE} ${_MAKE_JOBS} ${MAKE_ARGS} ${ALL_TARGET} ; \
- ${LD} -Bshareable -o libarpack.so.1 -x -soname libarpack.so.1 --whole-archive libarpack.a
+ ${FC} ${FFLAGS} ${PICFLAG} ${LDFLAGS} -shared \
+ -o libarpack.so.1 -Wl,-x -Wl,-soname,libarpack.so.1 \
+ -Wl,--whole-archive libarpack.a -Wl,--no-whole-archive
do-install:
- @${INSTALL_DATA} ${FILESDIR}/arpack.h ${PREFIX}/include
- @${INSTALL_DATA} ${WRKSRC}/libarpack.a ${PREFIX}/lib
- @${INSTALL_DATA} ${WRKSRC}_SHARED/libarpack.so.1 ${PREFIX}/lib
+ @${INSTALL_DATA} ${FILESDIR}/arpack.h ${WRKDIR}/arpack_compat_c.h \
+ ${WRKDIR}/arpack_compat_f.h ${PREFIX}/include
+.for lib in /libarpack.a _SHARED/libarpack.so.1
+ @${OBJCOPY} --redefine-syms ${WRKDIR}/rename ${WRKSRC}${lib}
+ @${INSTALL_DATA} ${WRKSRC}${lib} ${PREFIX}/lib
+.endfor
@${LN} -sf libarpack.so.1 ${PREFIX}/lib/libarpack.so
.if !defined(NOPORTDOCS)
@${MKDIR} ${DOCSDIR}
@@ -107,10 +158,12 @@ check regression-test test: simpletest
simpletest: build
@cd ${WRKSRC}/EXAMPLES/SIMPLE ; ${SETENV} ${MAKE_ENV} \
PICFLAG= home="${WRKSRC}" \
- ${MAKE} ${_MAKE_JOBS} ${MAKE_ARGS} simple ; ${SIMPLETESTS:S|^|./|:S|$| ; |}
+ ${MAKE} ${_MAKE_JOBS} ${MAKE_ARGS} simple ; \
+ ${SIMPLETESTS:S|^|./|:S|$| ; |}
@cd ${WRKSRC}_SHARED/EXAMPLES/SIMPLE ; ${SETENV} ${MAKE_ENV} \
PICFLAG=${PICFLAG} home="${WRKSRC}_SHARED" \
- ${MAKE} ${_MAKE_JOBS} ${MAKE_ARGS} simple ; ${SIMPLETESTS:S|^|./|:S|$| ; |}
+ ${MAKE} ${_MAKE_JOBS} ${MAKE_ARGS} simple ; \
+ ${SIMPLETESTS:S|^|./|:S|$| ; |}
fulltest: fulltest-static fulltest-shared
@@ -118,14 +171,16 @@ fulltest-static: lapack-drivers-static
.for d in BAND COMPLEX NONSYM SVD SYM
@cd ${WRKSRC}/EXAMPLES/${d} ; ${SETENV} ${MAKE_ENV} \
PICFLAG= home="${WRKSRC}" \
- ${MAKE} ${_MAKE_JOBS} ${MAKE_ARGS} ${${d}TESTS} ; ${${d}TESTS:S|^|./|:S|$| ; |}
+ ${MAKE} ${_MAKE_JOBS} ${MAKE_ARGS} ${${d}TESTS} ; \
+ ${${d}TESTS:S|^|./|:S|$| ; |}
.endfor
fulltest-shared: lapack-drivers-shared
.for d in BAND COMPLEX NONSYM SIMPLE SVD SYM
@cd ${WRKSRC}_SHARED/EXAMPLES/${d} ; ${SETENV} ${MAKE_ENV} \
PICFLAG=${PICFLAG} home="${WRKSRC}_SHARED" \
- ${MAKE} ${_MAKE_JOBS} ${MAKE_ARGS} ${${d}TESTS} ; ${${d}TESTS:S|^|./|:S|$| ; |}
+ ${MAKE} ${_MAKE_JOBS} ${MAKE_ARGS} ${${d}TESTS} ; \
+ ${${d}TESTS:S|^|./|:S|$| ; |}
.endfor
lapack-drivers-static: build
diff --git a/math/arpack/distinfo b/math/arpack/distinfo
index 89ce7e837a49..82199882906e 100644
--- a/math/arpack/distinfo
+++ b/math/arpack/distinfo
@@ -4,5 +4,3 @@ SHA256 (arpack/patch.tar.gz) = af8914d60af47e49fbad55812d0a5d0a7040fba90c93e5ef1
SIZE (arpack/patch.tar.gz) = 226473
SHA256 (arpack/ug.ps.gz) = ff1faac74bfc42442955906132756ecd7f0034803898d507dbd1bc960f6f4ab0
SIZE (arpack/ug.ps.gz) = 248543
-SHA256 (arpack/arpack-arscnd-3.patch.gz) = 497514b51a06483f11f4b70534746fbfa2e8128d5e499fda0cbad9e18690fc4f
-SIZE (arpack/arpack-arscnd-3.patch.gz) = 8291
diff --git a/math/arpack/files/arpack.h b/math/arpack/files/arpack.h
index f3fa35a0371f..5ffc7bffc8f4 100644
--- a/math/arpack/files/arpack.h
+++ b/math/arpack/files/arpack.h
@@ -1,38 +1,42 @@
+#ifndef _ARPACK_H_
+#define _ARPACK_H_
+/* for use with f2c.h or equivalent */
+
extern int caxpy_(integer *n, complex *ca, complex *cx, integer *incx, complex *cy, integer *incy);
extern int ccopy_(integer *n, complex *cx, integer *incx, complex *cy, integer *incy);
extern C_f cdotc_(complex * ret_val, integer *n, complex *cx, integer *incx, complex *cy, integer *incy);
extern C_f cdotu_(complex * ret_val, integer *n, complex *cx, integer *incx, complex *cy, integer *incy);
extern int cgbmv_(char *trans, integer *m, integer *n, integer *kl, integer *ku, complex *alpha, complex *a, integer *lda, complex *x, integer *incx, complex *beta, complex *y, integer *incy, ftnlen trans_len);
-extern int cgbtf2_(integer *m, integer *n, integer *kl, integer *ku, complex *ab, integer *ldab, integer *ipiv, integer *info);
-extern int cgbtrf_(integer *m, integer *n, integer *kl, integer *ku, complex *ab, integer *ldab, integer *ipiv, integer *info);
-extern int cgbtrs_(char *trans, integer *n, integer *kl, integer *ku, integer *nrhs, complex *ab, integer *ldab, integer *ipiv, complex *b, integer *ldb, integer *info, ftnlen trans_len);
+extern int arpack_cgbtf2_(integer *m, integer *n, integer *kl, integer *ku, complex *ab, integer *ldab, integer *ipiv, integer *info);
+extern int arpack_cgbtrf_(integer *m, integer *n, integer *kl, integer *ku, complex *ab, integer *ldab, integer *ipiv, integer *info);
+extern int arpack_cgbtrs_(char *trans, integer *n, integer *kl, integer *ku, integer *nrhs, complex *ab, integer *ldab, integer *ipiv, complex *b, integer *ldb, integer *info, ftnlen trans_len);
extern int cgemm_(char *transa, char *transb, integer *m, integer *n, integer *k, complex *alpha, complex *a, integer *lda, complex *b, integer *ldb, complex *beta, complex *c__, integer *ldc, ftnlen transa_len, ftnlen transb_len);
extern int cgemv_(char *trans, integer *m, integer *n, complex *alpha, complex *a, integer *lda, complex *x, integer *incx, complex *beta, complex *y, integer *incy, ftnlen trans_len);
-extern int cgeqr2_(integer *m, integer *n, complex *a, integer *lda, complex *tau, complex *work, integer *info);
+extern int arpack_cgeqr2_(integer *m, integer *n, complex *a, integer *lda, complex *tau, complex *work, integer *info);
extern int cgerc_(integer *m, integer *n, complex *alpha, complex *x, integer *incx, complex *y, integer *incy, complex *a, integer *lda);
extern int cgeru_(integer *m, integer *n, complex *alpha, complex *x, integer *incx, complex *y, integer *incy, complex *a, integer *lda);
extern int cgetv0_(integer *ido, char *bmat, integer *itry, logical *initv, integer *n, integer *j, complex *v, integer *ldv, complex *resid, real *rnorm, integer *ipntr, complex *workd, integer *ierr, ftnlen bmat_len);
/* comlen debug_ 96 */
/* comlen timing_ 124 */
-extern int cgttrf_(integer *n, complex *dl, complex *d__, complex *du, complex *du2, integer *ipiv, integer *info);
-extern int cgttrs_(char *trans, integer *n, integer *nrhs, complex *dl, complex *d__, complex *du, complex *du2, integer *ipiv, complex *b, integer *ldb, integer *info, ftnlen trans_len);
-extern int clacgv_(integer *n, complex *x, integer *incx);
-extern int clacon_(integer *n, complex *v, complex *x, real *est, integer *kase);
-extern int clacpy_(char *uplo, integer *m, integer *n, complex *a, integer *lda, complex *b, integer *ldb, ftnlen uplo_len);
-extern C_f cladiv_(complex * ret_val, complex *x, complex *y);
-extern int clahqr_(logical *wantt, logical *wantz, integer *n, integer *ilo, integer *ihi, complex *h__, integer *ldh, complex *w, integer *iloz, integer *ihiz, complex *z__, integer *ldz, integer *info);
-extern E_f clange_(char *norm, integer *m, integer *n, complex *a, integer *lda, real *work, ftnlen norm_len);
-extern E_f clanhs_(char *norm, integer *n, complex *a, integer *lda, real *work, ftnlen norm_len);
-extern int clarf_(char *side, integer *m, integer *n, complex *v, integer *incv, complex *tau, complex *c__, integer *ldc, complex *work, ftnlen side_len);
-extern int clarfg_(integer *n, complex *alpha, complex *x, integer *incx, complex *tau);
-extern int clarnv_(integer *idist, integer *iseed, integer *n, complex *x);
-extern int clartg_(complex *f, complex *g, real *cs, complex *sn, complex *r__);
-extern int clascl_(char *type__, integer *kl, integer *ku, real *cfrom, real *cto, integer *m, integer *n, complex *a, integer *lda, integer *info, ftnlen type_len);
-extern int claset_(char *uplo, integer *m, integer *n, complex *alpha, complex *beta, complex *a, integer *lda, ftnlen uplo_len);
-extern int classq_(integer *n, complex *x, integer *incx, real *scale, real *sumsq);
-extern int claswp_(integer *n, complex *a, integer *lda, integer *k1, integer *k2, integer *ipiv, integer *incx);
-extern int clatrs_(char *uplo, char *trans, char *diag, char *normin, integer *n, complex *a, integer *lda, complex *x, real *scale, real *cnorm, integer *info, ftnlen uplo_len, ftnlen trans_len, ftnlen diag_len, ftnlen normin_len);
-extern E_f cmach_(integer *job);
+extern int arpack_cgttrf_(integer *n, complex *dl, complex *d__, complex *du, complex *du2, integer *ipiv, integer *info);
+extern int arpack_cgttrs_(char *trans, integer *n, integer *nrhs, complex *dl, complex *d__, complex *du, complex *du2, integer *ipiv, complex *b, integer *ldb, integer *info, ftnlen trans_len);
+extern int arpack_clacgv_(integer *n, complex *x, integer *incx);
+extern int arpack_clacon_(integer *n, complex *v, complex *x, real *est, integer *kase);
+extern int arpack_clacpy_(char *uplo, integer *m, integer *n, complex *a, integer *lda, complex *b, integer *ldb, ftnlen uplo_len);
+extern C_f arpack_cladiv_(complex * ret_val, complex *x, complex *y);
+extern int arpack_clahqr_(logical *wantt, logical *wantz, integer *n, integer *ilo, integer *ihi, complex *h__, integer *ldh, complex *w, integer *iloz, integer *ihiz, complex *z__, integer *ldz, integer *info);
+extern E_f arpack_clange_(char *norm, integer *m, integer *n, complex *a, integer *lda, real *work, ftnlen norm_len);
+extern E_f arpack_clanhs_(char *norm, integer *n, complex *a, integer *lda, real *work, ftnlen norm_len);
+extern int arpack_clarf_(char *side, integer *m, integer *n, complex *v, integer *incv, complex *tau, complex *c__, integer *ldc, complex *work, ftnlen side_len);
+extern int arpack_clarfg_(integer *n, complex *alpha, complex *x, integer *incx, complex *tau);
+extern int arpack_clarnv_(integer *idist, integer *iseed, integer *n, complex *x);
+extern int arpack_clartg_(complex *f, complex *g, real *cs, complex *sn, complex *r__);
+extern int arpack_clascl_(char *type__, integer *kl, integer *ku, real *cfrom, real *cto, integer *m, integer *n, complex *a, integer *lda, integer *info, ftnlen type_len);
+extern int arpack_claset_(char *uplo, integer *m, integer *n, complex *alpha, complex *beta, complex *a, integer *lda, ftnlen uplo_len);
+extern int arpack_classq_(integer *n, complex *x, integer *incx, real *scale, real *sumsq);
+extern int arpack_claswp_(integer *n, complex *a, integer *lda, integer *k1, integer *k2, integer *ipiv, integer *incx);
+extern int arpack_clatrs_(char *uplo, char *trans, char *diag, char *normin, integer *n, complex *a, integer *lda, complex *x, real *scale, real *cnorm, integer *info, ftnlen uplo_len, ftnlen trans_len, ftnlen diag_len, ftnlen normin_len);
+extern E_f arpack_cmach_(integer *job);
extern int cnaitr_(integer *ido, char *bmat, integer *n, integer *k, integer *np, integer *nb, complex *resid, real *rnorm, complex *v, integer *ldv, complex *h__, integer *ldh, integer *ipntr, complex *workd, integer *info, ftnlen bmat_len);
/* comlen debug_ 96 */
/* comlen timing_ 124 */
@@ -54,7 +58,7 @@ extern int cneupd_(logical *rvec, char *howmny, logical *select, complex *d__, c
extern int cngets_(integer *ishift, char *which, integer *kev, integer *np, complex *ritz, complex *bounds, ftnlen which_len);
/* comlen debug_ 96 */
/* comlen timing_ 124 */
-extern int crot_(integer *n, complex *cx, integer *incx, complex *cy, integer *incy, real *c__, complex *s);
+extern int arpack_crot_(integer *n, complex *cx, integer *incx, complex *cy, integer *incy, real *c__, complex *s);
extern int cscal_(integer *n, complex *ca, complex *cx, integer *incx);
extern int csortc_(char *which, logical *apply, integer *n, complex *x, complex *y, ftnlen which_len);
extern int csscal_(integer *n, real *sa, complex *cx, integer *incx);
@@ -62,70 +66,70 @@ extern int cstatn_();
/* comlen timing_ 124 */
extern int cswap_(integer *n, complex *cx, integer *incx, complex *cy, integer *incy);
extern int ctbsv_(char *uplo, char *trans, char *diag, integer *n, integer *k, complex *a, integer *lda, complex *x, integer *incx, ftnlen uplo_len, ftnlen trans_len, ftnlen diag_len);
-extern int ctrevc_(char *side, char *howmny, logical *select, integer *n, complex *t, integer *ldt, complex *vl, integer *ldvl, complex *vr, integer *ldvr, integer *mm, integer *m, complex *work, real *rwork, integer *info, ftnlen side_len, ftnlen howmny_len);
-extern int ctrexc_(char *compq, integer *n, complex *t, integer *ldt, complex *q, integer *ldq, integer *ifst, integer *ilst, integer *info, ftnlen compq_len);
+extern int arpack_ctrevc_(char *side, char *howmny, logical *select, integer *n, complex *t, integer *ldt, complex *vl, integer *ldvl, complex *vr, integer *ldvr, integer *mm, integer *m, complex *work, real *rwork, integer *info, ftnlen side_len, ftnlen howmny_len);
+extern int arpack_ctrexc_(char *compq, integer *n, complex *t, integer *ldt, complex *q, integer *ldq, integer *ifst, integer *ilst, integer *info, ftnlen compq_len);
extern int ctrmm_(char *side, char *uplo, char *transa, char *diag, integer *m, integer *n, complex *alpha, complex *a, integer *lda, complex *b, integer *ldb, ftnlen side_len, ftnlen uplo_len, ftnlen transa_len, ftnlen diag_len);
-extern int ctrsen_(char *job, char *compq, logical *select, integer *n, complex *t, integer *ldt, complex *q, integer *ldq, complex *w, integer *m, real *s, real *sep, complex *work, integer *lwork, integer *info, ftnlen job_len, ftnlen compq_len);
+extern int arpack_ctrsen_(char *job, char *compq, logical *select, integer *n, complex *t, integer *ldt, complex *q, integer *ldq, complex *w, integer *m, real *s, real *sep, complex *work, integer *lwork, integer *info, ftnlen job_len, ftnlen compq_len);
extern int ctrsm_(char *side, char *uplo, char *transa, char *diag, integer *m, integer *n, complex *alpha, complex *a, integer *lda, complex *b, integer *ldb, ftnlen side_len, ftnlen uplo_len, ftnlen transa_len, ftnlen diag_len);
extern int ctrsv_(char *uplo, char *trans, char *diag, integer *n, complex *a, integer *lda, complex *x, integer *incx, ftnlen uplo_len, ftnlen trans_len, ftnlen diag_len);
-extern int ctrsyl_(char *trana, char *tranb, integer *isgn, integer *m, integer *n, complex *a, integer *lda, complex *b, integer *ldb, complex *c__, integer *ldc, real *scale, integer *info, ftnlen trana_len, ftnlen tranb_len);
-extern int cunm2r_(char *side, char *trans, integer *m, integer *n, integer *k, complex *a, integer *lda, complex *tau, complex *c__, integer *ldc, complex *work, integer *info, ftnlen side_len, ftnlen trans_len);
+extern int arpack_ctrsyl_(char *trana, char *tranb, integer *isgn, integer *m, integer *n, complex *a, integer *lda, complex *b, integer *ldb, complex *c__, integer *ldc, real *scale, integer *info, ftnlen trana_len, ftnlen tranb_len);
+extern int arpack_cunm2r_(char *side, char *trans, integer *m, integer *n, integer *k, complex *a, integer *lda, complex *tau, complex *c__, integer *ldc, complex *work, integer *info, ftnlen side_len, ftnlen trans_len);
extern doublereal dasum_(integer *n, doublereal *dx, integer *incx);
extern int daxpy_(integer *n, doublereal *da, doublereal *dx, integer *incx, doublereal *dy, integer *incy);
extern int dcopy_(integer *n, doublereal *dx, integer *incx, doublereal *dy, integer *incy);
extern doublereal ddot_(integer *n, doublereal *dx, integer *incx, doublereal *dy, integer *incy);
extern int dgbmv_(char *trans, integer *m, integer *n, integer *kl, integer *ku, doublereal *alpha, doublereal *a, integer *lda, doublereal *x, integer *incx, doublereal *beta, doublereal *y, integer *incy, ftnlen trans_len);
-extern int dgbtf2_(integer *m, integer *n, integer *kl, integer *ku, doublereal *ab, integer *ldab, integer *ipiv, integer *info);
-extern int dgbtrf_(integer *m, integer *n, integer *kl, integer *ku, doublereal *ab, integer *ldab, integer *ipiv, integer *info);
-extern int dgbtrs_(char *trans, integer *n, integer *kl, integer *ku, integer *nrhs, doublereal *ab, integer *ldab, integer *ipiv, doublereal *b, integer *ldb, integer *info, ftnlen trans_len);
+extern int arpack_dgbtf2_(integer *m, integer *n, integer *kl, integer *ku, doublereal *ab, integer *ldab, integer *ipiv, integer *info);
+extern int arpack_dgbtrf_(integer *m, integer *n, integer *kl, integer *ku, doublereal *ab, integer *ldab, integer *ipiv, integer *info);
+extern int arpack_dgbtrs_(char *trans, integer *n, integer *kl, integer *ku, integer *nrhs, doublereal *ab, integer *ldab, integer *ipiv, doublereal *b, integer *ldb, integer *info, ftnlen trans_len);
extern int dgemm_(char *transa, char *transb, integer *m, integer *n, integer *k, doublereal *alpha, doublereal *a, integer *lda, doublereal *b, integer *ldb, doublereal *beta, doublereal *c__, integer *ldc, ftnlen transa_len, ftnlen transb_len);
extern int dgemv_(char *trans, integer *m, integer *n, doublereal *alpha, doublereal *a, integer *lda, doublereal *x, integer *incx, doublereal *beta, doublereal *y, integer *incy, ftnlen trans_len);
-extern int dgeqr2_(integer *m, integer *n, doublereal *a, integer *lda, doublereal *tau, doublereal *work, integer *info);
+extern int arpack_dgeqr2_(integer *m, integer *n, doublereal *a, integer *lda, doublereal *tau, doublereal *work, integer *info);
extern int dger_(integer *m, integer *n, doublereal *alpha, doublereal *x, integer *incx, doublereal *y, integer *incy, doublereal *a, integer *lda);
extern int dgetv0_(integer *ido, char *bmat, integer *itry, logical *initv, integer *n, integer *j, doublereal *v, integer *ldv, doublereal *resid, doublereal *rnorm, integer *ipntr, doublereal *workd, integer *ierr, ftnlen bmat_len);
/* comlen debug_ 96 */
/* comlen timing_ 124 */
-extern int dgttrf_(integer *n, doublereal *dl, doublereal *d__, doublereal *du, doublereal *du2, integer *ipiv, integer *info);
-extern int dgttrs_(char *trans, integer *n, integer *nrhs, doublereal *dl, doublereal *d__, doublereal *du, doublereal *du2, integer *ipiv, doublereal *b, integer *ldb, integer *info, ftnlen trans_len);
-extern int dlabad_(doublereal *small, doublereal *large);
-extern int dlacon_(integer *n, doublereal *v, doublereal *x, integer *isgn, doublereal *est, integer *kase);
-extern int dlacpy_(char *uplo, integer *m, integer *n, doublereal *a, integer *lda, doublereal *b, integer *ldb, ftnlen uplo_len);
-extern int dladiv_(doublereal *a, doublereal *b, doublereal *c__, doublereal *d__, doublereal *p, doublereal *q);
-extern int dlae2_(doublereal *a, doublereal *b, doublereal *c__, doublereal *rt1, doublereal *rt2);
-extern int dlaev2_(doublereal *a, doublereal *b, doublereal *c__, doublereal *rt1, doublereal *rt2, doublereal *cs1, doublereal *sn1);
-extern int dlaexc_(logical *wantq, integer *n, doublereal *t, integer *ldt, doublereal *q, integer *ldq, integer *j1, integer *n1, integer *n2, doublereal *work, integer *info);
-extern int dlagtm_(char *trans, integer *n, integer *nrhs, doublereal *alpha, doublereal *dl, doublereal *d__, doublereal *du, doublereal *x, integer *ldx, doublereal *beta, doublereal *b, integer *ldb, ftnlen trans_len);
-extern int dlahqr_(logical *wantt, logical *wantz, integer *n, integer *ilo, integer *ihi, doublereal *h__, integer *ldh, doublereal *wr, doublereal *wi, integer *iloz, integer *ihiz, doublereal *z__, integer *ldz, integer *info);
-extern int dlaln2_(logical *ltrans, integer *na, integer *nw, doublereal *smin, doublereal *ca, doublereal *a, integer *lda, doublereal *d1, doublereal *d2, doublereal *b, integer *ldb, doublereal *wr, doublereal *wi, doublereal *x, integer *ldx, doublereal *scale, doublereal *xnorm, integer *info);
-extern doublereal dlamch_(char *cmach, ftnlen cmach_len);
-extern int dlamc1_(integer *beta, integer *t, logical *rnd, logical *ieee1);
-extern int dlamc2_(integer *beta, integer *t, logical *rnd, doublereal *eps, integer *emin, doublereal *rmin, integer *emax, doublereal *rmax);
-extern doublereal dlamc3_(doublereal *a, doublereal *b);
-extern int dlamc4_(integer *emin, doublereal *start, integer *base);
-extern int dlamc5_(integer *beta, integer *p, integer *emin, logical *ieee, integer *emax, doublereal *rmax);
-extern doublereal dlange_(char *norm, integer *m, integer *n, doublereal *a, integer *lda, doublereal *work, ftnlen norm_len);
-extern doublereal dlanhs_(char *norm, integer *n, doublereal *a, integer *lda, doublereal *work, ftnlen norm_len);
-extern doublereal dlanst_(char *norm, integer *n, doublereal *d__, doublereal *e, ftnlen norm_len);
-extern int dlanv2_(doublereal *a, doublereal *b, doublereal *c__, doublereal *d__, doublereal *rt1r, doublereal *rt1i, doublereal *rt2r, doublereal *rt2i, doublereal *cs, doublereal *sn);
-extern int dlaptm_(integer *n, integer *nrhs, doublereal *alpha, doublereal *d__, doublereal *e, doublereal *x, integer *ldx, doublereal *beta, doublereal *b, integer *ldb);
-extern doublereal dlapy2_(doublereal *x, doublereal *y);
-extern doublereal dlapy3_(doublereal *x, doublereal *y, doublereal *z__);
+extern int arpack_dgttrf_(integer *n, doublereal *dl, doublereal *d__, doublereal *du, doublereal *du2, integer *ipiv, integer *info);
+extern int arpack_dgttrs_(char *trans, integer *n, integer *nrhs, doublereal *dl, doublereal *d__, doublereal *du, doublereal *du2, integer *ipiv, doublereal *b, integer *ldb, integer *info, ftnlen trans_len);
+extern int arpack_dlabad_(doublereal *small, doublereal *large);
+extern int arpack_dlacon_(integer *n, doublereal *v, doublereal *x, integer *isgn, doublereal *est, integer *kase);
+extern int arpack_dlacpy_(char *uplo, integer *m, integer *n, doublereal *a, integer *lda, doublereal *b, integer *ldb, ftnlen uplo_len);
+extern int arpack_dladiv_(doublereal *a, doublereal *b, doublereal *c__, doublereal *d__, doublereal *p, doublereal *q);
+extern int arpack_dlae2_(doublereal *a, doublereal *b, doublereal *c__, doublereal *rt1, doublereal *rt2);
+extern int arpack_dlaev2_(doublereal *a, doublereal *b, doublereal *c__, doublereal *rt1, doublereal *rt2, doublereal *cs1, doublereal *sn1);
+extern int arpack_dlaexc_(logical *wantq, integer *n, doublereal *t, integer *ldt, doublereal *q, integer *ldq, integer *j1, integer *n1, integer *n2, doublereal *work, integer *info);
+extern int arpack_dlagtm_(char *trans, integer *n, integer *nrhs, doublereal *alpha, doublereal *dl, doublereal *d__, doublereal *du, doublereal *x, integer *ldx, doublereal *beta, doublereal *b, integer *ldb, ftnlen trans_len);
+extern int arpack_dlahqr_(logical *wantt, logical *wantz, integer *n, integer *ilo, integer *ihi, doublereal *h__, integer *ldh, doublereal *wr, doublereal *wi, integer *iloz, integer *ihiz, doublereal *z__, integer *ldz, integer *info);
+extern int arpack_dlaln2_(logical *ltrans, integer *na, integer *nw, doublereal *smin, doublereal *ca, doublereal *a, integer *lda, doublereal *d1, doublereal *d2, doublereal *b, integer *ldb, doublereal *wr, doublereal *wi, doublereal *x, integer *ldx, doublereal *scale, doublereal *xnorm, integer *info);
+extern doublereal arpack_dlamch_(char *cmach, ftnlen cmach_len);
+extern int arpack_dlamc1_(integer *beta, integer *t, logical *rnd, logical *ieee1);
+extern int arpack_dlamc2_(integer *beta, integer *t, logical *rnd, doublereal *eps, integer *emin, doublereal *rmin, integer *emax, doublereal *rmax);
+extern doublereal arpack_dlamc3_(doublereal *a, doublereal *b);
+extern int arpack_dlamc4_(integer *emin, doublereal *start, integer *base);
+extern int arpack_dlamc5_(integer *beta, integer *p, integer *emin, logical *ieee, integer *emax, doublereal *rmax);
+extern doublereal arpack_dlange_(char *norm, integer *m, integer *n, doublereal *a, integer *lda, doublereal *work, ftnlen norm_len);
+extern doublereal arpack_dlanhs_(char *norm, integer *n, doublereal *a, integer *lda, doublereal *work, ftnlen norm_len);
+extern doublereal arpack_dlanst_(char *norm, integer *n, doublereal *d__, doublereal *e, ftnlen norm_len);
+extern int arpack_dlanv2_(doublereal *a, doublereal *b, doublereal *c__, doublereal *d__, doublereal *rt1r, doublereal *rt1i, doublereal *rt2r, doublereal *rt2i, doublereal *cs, doublereal *sn);
+extern int arpack_dlaptm_(integer *n, integer *nrhs, doublereal *alpha, doublereal *d__, doublereal *e, doublereal *x, integer *ldx, doublereal *beta, doublereal *b, integer *ldb);
+extern doublereal arpack_dlapy2_(doublereal *x, doublereal *y);
+extern doublereal arpack_dlapy3_(doublereal *x, doublereal *y, doublereal *z__);
extern int dlaqrb_(logical *wantt, integer *n, integer *ilo, integer *ihi, doublereal *h__, integer *ldh, doublereal *wr, doublereal *wi, doublereal *z__, integer *info);
-extern doublereal dlaran_(integer *iseed);
-extern int dlarf_(char *side, integer *m, integer *n, doublereal *v, integer *incv, doublereal *tau, doublereal *c__, integer *ldc, doublereal *work, ftnlen side_len);
-extern int dlarfg_(integer *n, doublereal *alpha, doublereal *x, integer *incx, doublereal *tau);
-extern int dlarfx_(char *side, integer *m, integer *n, doublereal *v, doublereal *tau, doublereal *c__, integer *ldc, doublereal *work, ftnlen side_len);
-extern doublereal dlarnd_(integer *idist, integer *iseed);
-extern int dlarnv_(integer *idist, integer *iseed, integer *n, doublereal *x);
-extern int dlartg_(doublereal *f, doublereal *g, doublereal *cs, doublereal *sn, doublereal *r__);
-extern int dlaruv_(integer *iseed, integer *n, doublereal *x);
-extern int dlascl_(char *type__, integer *kl, integer *ku, doublereal *cfrom, doublereal *cto, integer *m, integer *n, doublereal *a, integer *lda, integer *info, ftnlen type_len);
-extern int dlaset_(char *uplo, integer *m, integer *n, doublereal *alpha, doublereal *beta, doublereal *a, integer *lda, ftnlen uplo_len);
-extern int dlasr_(char *side, char *pivot, char *direct, integer *m, integer *n, doublereal *c__, doublereal *s, doublereal *a, integer *lda, ftnlen side_len, ftnlen pivot_len, ftnlen direct_len);
-extern int dlasrt_(char *id, integer *n, doublereal *d__, integer *info, ftnlen id_len);
-extern int dlassq_(integer *n, doublereal *x, integer *incx, doublereal *scale, doublereal *sumsq);
-extern int dlaswp_(integer *n, doublereal *a, integer *lda, integer *k1, integer *k2, integer *ipiv, integer *incx);
-extern int dlasy2_(logical *ltranl, logical *ltranr, integer *isgn, integer *n1, integer *n2, doublereal *tl, integer *ldtl, doublereal *tr, integer *ldtr, doublereal *b, integer *ldb, doublereal *scale, doublereal *x, integer *ldx, doublereal *xnorm, integer *info);
+extern doublereal arpack_dlaran_(integer *iseed);
+extern int arpack_dlarf_(char *side, integer *m, integer *n, doublereal *v, integer *incv, doublereal *tau, doublereal *c__, integer *ldc, doublereal *work, ftnlen side_len);
+extern int arpack_dlarfg_(integer *n, doublereal *alpha, doublereal *x, integer *incx, doublereal *tau);
+extern int arpack_dlarfx_(char *side, integer *m, integer *n, doublereal *v, doublereal *tau, doublereal *c__, integer *ldc, doublereal *work, ftnlen side_len);
+extern doublereal arpack_dlarnd_(integer *idist, integer *iseed);
+extern int arpack_dlarnv_(integer *idist, integer *iseed, integer *n, doublereal *x);
+extern int arpack_dlartg_(doublereal *f, doublereal *g, doublereal *cs, doublereal *sn, doublereal *r__);
+extern int arpack_dlaruv_(integer *iseed, integer *n, doublereal *x);
+extern int arpack_dlascl_(char *type__, integer *kl, integer *ku, doublereal *cfrom, doublereal *cto, integer *m, integer *n, doublereal *a, integer *lda, integer *info, ftnlen type_len);
+extern int arpack_dlaset_(char *uplo, integer *m, integer *n, doublereal *alpha, doublereal *beta, doublereal *a, integer *lda, ftnlen uplo_len);
+extern int arpack_dlasr_(char *side, char *pivot, char *direct, integer *m, integer *n, doublereal *c__, doublereal *s, doublereal *a, integer *lda, ftnlen side_len, ftnlen pivot_len, ftnlen direct_len);
+extern int arpack_dlasrt_(char *id, integer *n, doublereal *d__, integer *info, ftnlen id_len);
+extern int arpack_dlassq_(integer *n, doublereal *x, integer *incx, doublereal *scale, doublereal *sumsq);
+extern int arpack_dlaswp_(integer *n, doublereal *a, integer *lda, integer *k1, integer *k2, integer *ipiv, integer *incx);
+extern int arpack_dlasy2_(logical *ltranl, logical *ltranr, integer *isgn, integer *n1, integer *n2, doublereal *tl, integer *ldtl, doublereal *tr, integer *ldtr, doublereal *b, integer *ldb, doublereal *scale, doublereal *x, integer *ldx, doublereal *xnorm, integer *info);
extern int dnaitr_(integer *ido, char *bmat, integer *n, integer *k, integer *np, integer *nb, doublereal *resid, doublereal *rnorm, doublereal *v, integer *ldv, doublereal *h__, integer *ldh, integer *ipntr, doublereal *workd, integer *info, ftnlen bmat_len);
/* comlen debug_ 96 */
/* comlen timing_ 124 */
@@ -151,9 +155,9 @@ extern int dngets_(integer *ishift, char *which, integer *kev, integer *np, doub
/* comlen debug_ 96 */
/* comlen timing_ 124 */
extern doublereal dnrm2_(integer *n, doublereal *dx, integer *incx);
-extern int dorm2r_(char *side, char *trans, integer *m, integer *n, integer *k, doublereal *a, integer *lda, doublereal *tau, doublereal *c__, integer *ldc, doublereal *work, integer *info, ftnlen side_len, ftnlen trans_len);
-extern int dpttrf_(integer *n, doublereal *d__, doublereal *e, integer *info);
-extern int dpttrs_(integer *n, integer *nrhs, doublereal *d__, doublereal *e, doublereal *b, integer *ldb, integer *info);
+extern int arpack_dorm2r_(char *side, char *trans, integer *m, integer *n, integer *k, doublereal *a, integer *lda, doublereal *tau, doublereal *c__, integer *ldc, doublereal *work, integer *info, ftnlen side_len, ftnlen trans_len);
+extern int arpack_dpttrf_(integer *n, doublereal *d__, doublereal *e, integer *info);
+extern int arpack_dpttrs_(integer *n, integer *nrhs, doublereal *d__, doublereal *e, doublereal *b, integer *ldb, integer *info);
extern int drot_(integer *n, doublereal *dx, integer *incx, doublereal *dy, integer *incy, doublereal *c__, doublereal *s);
extern int drotg_(doublereal *da, doublereal *db, doublereal *c__, doublereal *s);
extern int dsaitr_(integer *ido, char *bmat, integer *n, integer *k, integer *np, integer *mode, doublereal *resid, doublereal *rnorm, doublereal *v, integer *ldv, doublereal *h__, integer *ldh, integer *ipntr, doublereal *workd, integer *info, ftnlen bmat_len);
@@ -188,90 +192,90 @@ extern int dstatn_();
/* comlen timing_ 124 */
extern int dstats_();
/* comlen timing_ 124 */
-extern int dsteqr_(char *compz, integer *n, doublereal *d__, doublereal *e, doublereal *z__, integer *ldz, doublereal *work, integer *info, ftnlen compz_len);
+extern int arpack_dsteqr_(char *compz, integer *n, doublereal *d__, doublereal *e, doublereal *z__, integer *ldz, doublereal *work, integer *info, ftnlen compz_len);
extern int dstqrb_(integer *n, doublereal *d__, doublereal *e, doublereal *z__, doublereal *work, integer *info);
extern int dswap_(integer *n, doublereal *dx, integer *incx, doublereal *dy, integer *incy);
extern int dsymv_(char *uplo, integer *n, doublereal *alpha, doublereal *a, integer *lda, doublereal *x, integer *incx, doublereal *beta, doublereal *y, integer *incy, ftnlen uplo_len);
extern int dsyr2_(char *uplo, integer *n, doublereal *alpha, doublereal *x, integer *incx, doublereal *y, integer *incy, doublereal *a, integer *lda, ftnlen uplo_len);
extern int dtbsv_(char *uplo, char *trans, char *diag, integer *n, integer *k, doublereal *a, integer *lda, doublereal *x, integer *incx, ftnlen uplo_len, ftnlen trans_len, ftnlen diag_len);
-extern int dtrevc_(char *side, char *howmny, logical *select, integer *n, doublereal *t, integer *ldt, doublereal *vl, integer *ldvl, doublereal *vr, integer *ldvr, integer *mm, integer *m, doublereal *work, integer *info, ftnlen side_len, ftnlen howmny_len);
-extern int dtrexc_(char *compq, integer *n, doublereal *t, integer *ldt, doublereal *q, integer *ldq, integer *ifst, integer *ilst, doublereal *work, integer *info, ftnlen compq_len);
+extern int arpack_dtrevc_(char *side, char *howmny, logical *select, integer *n, doublereal *t, integer *ldt, doublereal *vl, integer *ldvl, doublereal *vr, integer *ldvr, integer *mm, integer *m, doublereal *work, integer *info, ftnlen side_len, ftnlen howmny_len);
+extern int arpack_dtrexc_(char *compq, integer *n, doublereal *t, integer *ldt, doublereal *q, integer *ldq, integer *ifst, integer *ilst, doublereal *work, integer *info, ftnlen compq_len);
extern int dtrmm_(char *side, char *uplo, char *transa, char *diag, integer *m, integer *n, doublereal *alpha, doublereal *a, integer *lda, doublereal *b, integer *ldb, ftnlen side_len, ftnlen uplo_len, ftnlen transa_len, ftnlen diag_len);
-extern int dtrsen_(char *job, char *compq, logical *select, integer *n, doublereal *t, integer *ldt, doublereal *q, integer *ldq, doublereal *wr, doublereal *wi, integer *m, doublereal *s, doublereal *sep, doublereal *work, integer *lwork, integer *iwork, integer *liwork, integer *info, ftnlen job_len, ftnlen compq_len);
+extern int arpack_dtrsen_(char *job, char *compq, logical *select, integer *n, doublereal *t, integer *ldt, doublereal *q, integer *ldq, doublereal *wr, doublereal *wi, integer *m, doublereal *s, doublereal *sep, doublereal *work, integer *lwork, integer *iwork, integer *liwork, integer *info, ftnlen job_len, ftnlen compq_len);
extern int dtrsm_(char *side, char *uplo, char *transa, char *diag, integer *m, integer *n, doublereal *alpha, doublereal *a, integer *lda, doublereal *b, integer *ldb, ftnlen side_len, ftnlen uplo_len, ftnlen transa_len, ftnlen diag_len);
-extern int dtrsyl_(char *trana, char *tranb, integer *isgn, integer *m, integer *n, doublereal *a, integer *lda, doublereal *b, integer *ldb, doublereal *c__, integer *ldc, doublereal *scale, integer *info, ftnlen trana_len, ftnlen tranb_len);
+extern int arpack_dtrsyl_(char *trana, char *tranb, integer *isgn, integer *m, integer *n, doublereal *a, integer *lda, doublereal *b, integer *ldb, doublereal *c__, integer *ldc, doublereal *scale, integer *info, ftnlen trana_len, ftnlen tranb_len);
extern doublereal dzasum_(integer *n, doublecomplex *zx, integer *incx);
extern doublereal dznrm2_(integer *n, doublecomplex *x, integer *incx);
-extern doublereal dzsum1_(integer *n, doublecomplex *cx, integer *incx);
+extern doublereal arpack_dzsum1_(integer *n, doublecomplex *cx, integer *incx);
extern integer icamax_(integer *n, complex *cx, integer *incx);
-extern integer icmax1_(integer *n, complex *cx, integer *incx);
+extern integer arpack_icmax1_(integer *n, complex *cx, integer *incx);
extern integer idamax_(integer *n, doublereal *dx, integer *incx);
-extern integer ilaenv_(integer *ispec, char *name__, char *opts, integer *n1, integer *n2, integer *n3, integer *n4, ftnlen name_len, ftnlen opts_len);
+extern integer arpack_ilaenv_(integer *ispec, char *name__, char *opts, integer *n1, integer *n2, integer *n3, integer *n4, ftnlen name_len, ftnlen opts_len);
extern integer isamax_(integer *n, real *sx, integer *incx);
extern integer izamax_(integer *n, doublecomplex *zx, integer *incx);
extern doublereal dcabs1_(doublecomplex *z__);
-extern integer izmax1_(integer *n, doublecomplex *cx, integer *incx);
-extern logical lsame_(char *ca, char *cb, ftnlen ca_len, ftnlen cb_len);
-extern logical lsamen_(integer *n, char *ca, char *cb, ftnlen ca_len, ftnlen cb_len);
+extern integer arpack_izmax1_(integer *n, doublecomplex *cx, integer *incx);
+extern logical arpack_lsame_(char *ca, char *cb, ftnlen ca_len, ftnlen cb_len);
+extern logical arpack_lsamen_(integer *n, char *ca, char *cb, ftnlen ca_len, ftnlen cb_len);
extern E_f sasum_(integer *n, real *sx, integer *incx);
extern int saxpy_(integer *n, real *sa, real *sx, integer *incx, real *sy, integer *incy);
extern E_f scasum_(integer *n, complex *cx, integer *incx);
extern E_f scnrm2_(integer *n, complex *x, integer *incx);
extern int scopy_(integer *n, real *sx, integer *incx, real *sy, integer *incy);
-extern E_f scsum1_(integer *n, complex *cx, integer *incx);
+extern E_f arpack_scsum1_(integer *n, complex *cx, integer *incx);
extern E_f sdot_(integer *n, real *sx, integer *incx, real *sy, integer *incy);
extern int sgbmv_(char *trans, integer *m, integer *n, integer *kl, integer *ku, real *alpha, real *a, integer *lda, real *x, integer *incx, real *beta, real *y, integer *incy, ftnlen trans_len);
-extern int sgbtf2_(integer *m, integer *n, integer *kl, integer *ku, real *ab, integer *ldab, integer *ipiv, integer *info);
-extern int sgbtrf_(integer *m, integer *n, integer *kl, integer *ku, real *ab, integer *ldab, integer *ipiv, integer *info);
-extern int sgbtrs_(char *trans, integer *n, integer *kl, integer *ku, integer *nrhs, real *ab, integer *ldab, integer *ipiv, real *b, integer *ldb, integer *info, ftnlen trans_len);
+extern int arpack_sgbtf2_(integer *m, integer *n, integer *kl, integer *ku, real *ab, integer *ldab, integer *ipiv, integer *info);
+extern int arpack_sgbtrf_(integer *m, integer *n, integer *kl, integer *ku, real *ab, integer *ldab, integer *ipiv, integer *info);
+extern int arpack_sgbtrs_(char *trans, integer *n, integer *kl, integer *ku, integer *nrhs, real *ab, integer *ldab, integer *ipiv, real *b, integer *ldb, integer *info, ftnlen trans_len);
extern int sgemm_(char *transa, char *transb, integer *m, integer *n, integer *k, real *alpha, real *a, integer *lda, real *b, integer *ldb, real *beta, real *c__, integer *ldc, ftnlen transa_len, ftnlen transb_len);
extern int sgemv_(char *trans, integer *m, integer *n, real *alpha, real *a, integer *lda, real *x, integer *incx, real *beta, real *y, integer *incy, ftnlen trans_len);
-extern int sgeqr2_(integer *m, integer *n, real *a, integer *lda, real *tau, real *work, integer *info);
+extern int arpack_sgeqr2_(integer *m, integer *n, real *a, integer *lda, real *tau, real *work, integer *info);
extern int sger_(integer *m, integer *n, real *alpha, real *x, integer *incx, real *y, integer *incy, real *a, integer *lda);
extern int sgetv0_(integer *ido, char *bmat, integer *itry, logical *initv, integer *n, integer *j, real *v, integer *ldv, real *resid, real *rnorm, integer *ipntr, real *workd, integer *ierr, ftnlen bmat_len);
/* comlen debug_ 96 */
/* comlen timing_ 124 */
-extern int sgttrf_(integer *n, real *dl, real *d__, real *du, real *du2, integer *ipiv, integer *info);
-extern int sgttrs_(char *trans, integer *n, integer *nrhs, real *dl, real *d__, real *du, real *du2, integer *ipiv, real *b, integer *ldb, integer *info, ftnlen trans_len);
-extern int slabad_(real *small, real *large);
-extern int slacon_(integer *n, real *v, real *x, integer *isgn, real *est, integer *kase);
-extern int slacpy_(char *uplo, integer *m, integer *n, real *a, integer *lda, real *b, integer *ldb, ftnlen uplo_len);
-extern int sladiv_(real *a, real *b, real *c__, real *d__, real *p, real *q);
-extern int slae2_(real *a, real *b, real *c__, real *rt1, real *rt2);
-extern int slaev2_(real *a, real *b, real *c__, real *rt1, real *rt2, real *cs1, real *sn1);
-extern int slaexc_(logical *wantq, integer *n, real *t, integer *ldt, real *q, integer *ldq, integer *j1, integer *n1, integer *n2, real *work, integer *info);
-extern int slagtm_(char *trans, integer *n, integer *nrhs, real *alpha, real *dl, real *d__, real *du, real *x, integer *ldx, real *beta, real *b, integer *ldb, ftnlen trans_len);
-extern int slahqr_(logical *wantt, logical *wantz, integer *n, integer *ilo, integer *ihi, real *h__, integer *ldh, real *wr, real *wi, integer *iloz, integer *ihiz, real *z__, integer *ldz, integer *info);
-extern int slaln2_(logical *ltrans, integer *na, integer *nw, real *smin, real *ca, real *a, integer *lda, real *d1, real *d2, real *b, integer *ldb, real *wr, real *wi, real *x, integer *ldx, real *scale, real *xnorm, integer *info);
-extern E_f slamch_(char *cmach, ftnlen cmach_len);
-extern int slamc1_(integer *beta, integer *t, logical *rnd, logical *ieee1);
-extern int slamc2_(integer *beta, integer *t, logical *rnd, real *eps, integer *emin, real *rmin, integer *emax, real *rmax);
-extern E_f slamc3_(real *a, real *b);
-extern int slamc4_(integer *emin, real *start, integer *base);
-extern int slamc5_(integer *beta, integer *p, integer *emin, logical *ieee, integer *emax, real *rmax);
-extern E_f slange_(char *norm, integer *m, integer *n, real *a, integer *lda, real *work, ftnlen norm_len);
-extern E_f slanhs_(char *norm, integer *n, real *a, integer *lda, real *work, ftnlen norm_len);
-extern E_f slanst_(char *norm, integer *n, real *d__, real *e, ftnlen norm_len);
-extern int slanv2_(real *a, real *b, real *c__, real *d__, real *rt1r, real *rt1i, real *rt2r, real *rt2i, real *cs, real *sn);
-extern int slaptm_(integer *n, integer *nrhs, real *alpha, real *d__, real *e, real *x, integer *ldx, real *beta, real *b, integer *ldb);
-extern E_f slapy2_(real *x, real *y);
-extern E_f slapy3_(real *x, real *y, real *z__);
+extern int arpack_sgttrf_(integer *n, real *dl, real *d__, real *du, real *du2, integer *ipiv, integer *info);
+extern int arpack_sgttrs_(char *trans, integer *n, integer *nrhs, real *dl, real *d__, real *du, real *du2, integer *ipiv, real *b, integer *ldb, integer *info, ftnlen trans_len);
+extern int arpack_slabad_(real *small, real *large);
+extern int arpack_slacon_(integer *n, real *v, real *x, integer *isgn, real *est, integer *kase);
+extern int arpack_slacpy_(char *uplo, integer *m, integer *n, real *a, integer *lda, real *b, integer *ldb, ftnlen uplo_len);
+extern int arpack_sladiv_(real *a, real *b, real *c__, real *d__, real *p, real *q);
+extern int arpack_slae2_(real *a, real *b, real *c__, real *rt1, real *rt2);
+extern int arpack_slaev2_(real *a, real *b, real *c__, real *rt1, real *rt2, real *cs1, real *sn1);
+extern int arpack_slaexc_(logical *wantq, integer *n, real *t, integer *ldt, real *q, integer *ldq, integer *j1, integer *n1, integer *n2, real *work, integer *info);
+extern int arpack_slagtm_(char *trans, integer *n, integer *nrhs, real *alpha, real *dl, real *d__, real *du, real *x, integer *ldx, real *beta, real *b, integer *ldb, ftnlen trans_len);
+extern int arpack_slahqr_(logical *wantt, logical *wantz, integer *n, integer *ilo, integer *ihi, real *h__, integer *ldh, real *wr, real *wi, integer *iloz, integer *ihiz, real *z__, integer *ldz, integer *info);
+extern int arpack_slaln2_(logical *ltrans, integer *na, integer *nw, real *smin, real *ca, real *a, integer *lda, real *d1, real *d2, real *b, integer *ldb, real *wr, real *wi, real *x, integer *ldx, real *scale, real *xnorm, integer *info);
+extern E_f arpack_slamch_(char *cmach, ftnlen cmach_len);
+extern int arpack_slamc1_(integer *beta, integer *t, logical *rnd, logical *ieee1);
+extern int arpack_slamc2_(integer *beta, integer *t, logical *rnd, real *eps, integer *emin, real *rmin, integer *emax, real *rmax);
+extern E_f arpack_slamc3_(real *a, real *b);
+extern int arpack_slamc4_(integer *emin, real *start, integer *base);
+extern int arpack_slamc5_(integer *beta, integer *p, integer *emin, logical *ieee, integer *emax, real *rmax);
+extern E_f arpack_slange_(char *norm, integer *m, integer *n, real *a, integer *lda, real *work, ftnlen norm_len);
+extern E_f arpack_slanhs_(char *norm, integer *n, real *a, integer *lda, real *work, ftnlen norm_len);
+extern E_f arpack_slanst_(char *norm, integer *n, real *d__, real *e, ftnlen norm_len);
+extern int arpack_slanv2_(real *a, real *b, real *c__, real *d__, real *rt1r, real *rt1i, real *rt2r, real *rt2i, real *cs, real *sn);
+extern int arpack_slaptm_(integer *n, integer *nrhs, real *alpha, real *d__, real *e, real *x, integer *ldx, real *beta, real *b, integer *ldb);
+extern E_f arpack_slapy2_(real *x, real *y);
+extern E_f arpack_slapy3_(real *x, real *y, real *z__);
extern int slaqrb_(logical *wantt, integer *n, integer *ilo, integer *ihi, real *h__, integer *ldh, real *wr, real *wi, real *z__, integer *info);
-extern E_f slaran_(integer *iseed);
-extern int slarf_(char *side, integer *m, integer *n, real *v, integer *incv, real *tau, real *c__, integer *ldc, real *work, ftnlen side_len);
-extern int slarfg_(integer *n, real *alpha, real *x, integer *incx, real *tau);
-extern int slarfx_(char *side, integer *m, integer *n, real *v, real *tau, real *c__, integer *ldc, real *work, ftnlen side_len);
-extern E_f slarnd_(integer *idist, integer *iseed);
-extern int slarnv_(integer *idist, integer *iseed, integer *n, real *x);
-extern int slartg_(real *f, real *g, real *cs, real *sn, real *r__);
-extern int slaruv_(integer *iseed, integer *n, real *x);
-extern int slascl_(char *type__, integer *kl, integer *ku, real *cfrom, real *cto, integer *m, integer *n, real *a, integer *lda, integer *info, ftnlen type_len);
-extern int slaset_(char *uplo, integer *m, integer *n, real *alpha, real *beta, real *a, integer *lda, ftnlen uplo_len);
-extern int slasr_(char *side, char *pivot, char *direct, integer *m, integer *n, real *c__, real *s, real *a, integer *lda, ftnlen side_len, ftnlen pivot_len, ftnlen direct_len);
-extern int slasrt_(char *id, integer *n, real *d__, integer *info, ftnlen id_len);
-extern int slassq_(integer *n, real *x, integer *incx, real *scale, real *sumsq);
-extern int slaswp_(integer *n, real *a, integer *lda, integer *k1, integer *k2, integer *ipiv, integer *incx);
-extern int slasy2_(logical *ltranl, logical *ltranr, integer *isgn, integer *n1, integer *n2, real *tl, integer *ldtl, real *tr, integer *ldtr, real *b, integer *ldb, real *scale, real *x, integer *ldx, real *xnorm, integer *info);
+extern E_f arpack_slaran_(integer *iseed);
+extern int arpack_slarf_(char *side, integer *m, integer *n, real *v, integer *incv, real *tau, real *c__, integer *ldc, real *work, ftnlen side_len);
+extern int arpack_slarfg_(integer *n, real *alpha, real *x, integer *incx, real *tau);
+extern int arpack_slarfx_(char *side, integer *m, integer *n, real *v, real *tau, real *c__, integer *ldc, real *work, ftnlen side_len);
+extern E_f arpack_slarnd_(integer *idist, integer *iseed);
+extern int arpack_slarnv_(integer *idist, integer *iseed, integer *n, real *x);
+extern int arpack_slartg_(real *f, real *g, real *cs, real *sn, real *r__);
+extern int arpack_slaruv_(integer *iseed, integer *n, real *x);
+extern int arpack_slascl_(char *type__, integer *kl, integer *ku, real *cfrom, real *cto, integer *m, integer *n, real *a, integer *lda, integer *info, ftnlen type_len);
+extern int arpack_slaset_(char *uplo, integer *m, integer *n, real *alpha, real *beta, real *a, integer *lda, ftnlen uplo_len);
+extern int arpack_slasr_(char *side, char *pivot, char *direct, integer *m, integer *n, real *c__, real *s, real *a, integer *lda, ftnlen side_len, ftnlen pivot_len, ftnlen direct_len);
+extern int arpack_slasrt_(char *id, integer *n, real *d__, integer *info, ftnlen id_len);
+extern int arpack_slassq_(integer *n, real *x, integer *incx, real *scale, real *sumsq);
+extern int arpack_slaswp_(integer *n, real *a, integer *lda, integer *k1, integer *k2, integer *ipiv, integer *incx);
+extern int arpack_slasy2_(logical *ltranl, logical *ltranr, integer *isgn, integer *n1, integer *n2, real *tl, integer *ldtl, real *tr, integer *ldtr, real *b, integer *ldb, real *scale, real *x, integer *ldx, real *xnorm, integer *info);
extern int snaitr_(integer *ido, char *bmat, integer *n, integer *k, integer *np, integer *nb, real *resid, real *rnorm, real *v, integer *ldv, real *h__, integer *ldh, integer *ipntr, real *workd, integer *info, ftnlen bmat_len);
/* comlen debug_ 96 */
/* comlen timing_ 124 */
@@ -297,9 +301,9 @@ extern int sngets_(integer *ishift, char *which, integer *kev, integer *np, real
/* comlen debug_ 96 */
/* comlen timing_ 124 */
extern E_f snrm2_(integer *n, real *sx, integer *incx);
-extern int sorm2r_(char *side, char *trans, integer *m, integer *n, integer *k, real *a, integer *lda, real *tau, real *c__, integer *ldc, real *work, integer *info, ftnlen side_len, ftnlen trans_len);
-extern int spttrf_(integer *n, real *d__, real *e, integer *info);
-extern int spttrs_(integer *n, integer *nrhs, real *d__, real *e, real *b, integer *ldb, integer *info);
+extern int arpack_sorm2r_(char *side, char *trans, integer *m, integer *n, integer *k, real *a, integer *lda, real *tau, real *c__, integer *ldc, real *work, integer *info, ftnlen side_len, ftnlen trans_len);
+extern int arpack_spttrf_(integer *n, real *d__, real *e, integer *info);
+extern int arpack_spttrs_(integer *n, integer *nrhs, real *d__, real *e, real *b, integer *ldb, integer *info);
extern int srot_(integer *n, real *sx, integer *incx, real *sy, integer *incy, real *c__, real *s);
extern int srotg_(real *sa, real *sb, real *c__, real *s);
extern int ssaitr_(integer *ido, char *bmat, integer *n, integer *k, integer *np, integer *mode, real *resid, real *rnorm, real *v, integer *ldv, real *h__, integer *ldh, integer *ipntr, real *workd, integer *info, ftnlen bmat_len);
@@ -334,20 +338,20 @@ extern int sstatn_();
/* comlen timing_ 124 */
extern int sstats_();
/* comlen timing_ 124 */
-extern int ssteqr_(char *compz, integer *n, real *d__, real *e, real *z__, integer *ldz, real *work, integer *info, ftnlen compz_len);
+extern int arpack_ssteqr_(char *compz, integer *n, real *d__, real *e, real *z__, integer *ldz, real *work, integer *info, ftnlen compz_len);
extern int sstqrb_(integer *n, real *d__, real *e, real *z__, real *work, integer *info);
extern int sswap_(integer *n, real *sx, integer *incx, real *sy, integer *incy);
extern int ssymv_(char *uplo, integer *n, real *alpha, real *a, integer *lda, real *x, integer *incx, real *beta, real *y, integer *incy, ftnlen uplo_len);
extern int ssyr2_(char *uplo, integer *n, real *alpha, real *x, integer *incx, real *y, integer *incy, real *a, integer *lda, ftnlen uplo_len);
extern int stbsv_(char *uplo, char *trans, char *diag, integer *n, integer *k, real *a, integer *lda, real *x, integer *incx, ftnlen uplo_len, ftnlen trans_len, ftnlen diag_len);
-extern int strevc_(char *side, char *howmny, logical *select, integer *n, real *t, integer *ldt, real *vl, integer *ldvl, real *vr, integer *ldvr, integer *mm, integer *m, real *work, integer *info, ftnlen side_len, ftnlen howmny_len);
-extern int strexc_(char *compq, integer *n, real *t, integer *ldt, real *q, integer *ldq, integer *ifst, integer *ilst, real *work, integer *info, ftnlen compq_len);
+extern int arpack_strevc_(char *side, char *howmny, logical *select, integer *n, real *t, integer *ldt, real *vl, integer *ldvl, real *vr, integer *ldvr, integer *mm, integer *m, real *work, integer *info, ftnlen side_len, ftnlen howmny_len);
+extern int arpack_strexc_(char *compq, integer *n, real *t, integer *ldt, real *q, integer *ldq, integer *ifst, integer *ilst, real *work, integer *info, ftnlen compq_len);
extern int strmm_(char *side, char *uplo, char *transa, char *diag, integer *m, integer *n, real *alpha, real *a, integer *lda, real *b, integer *ldb, ftnlen side_len, ftnlen uplo_len, ftnlen transa_len, ftnlen diag_len);
-extern int strsen_(char *job, char *compq, logical *select, integer *n, real *t, integer *ldt, real *q, integer *ldq, real *wr, real *wi, integer *m, real *s, real *sep, real *work, integer *lwork, integer *iwork, integer *liwork, integer *info, ftnlen job_len, ftnlen compq_len);
+extern int arpack_strsen_(char *job, char *compq, logical *select, integer *n, real *t, integer *ldt, real *q, integer *ldq, real *wr, real *wi, integer *m, real *s, real *sep, real *work, integer *lwork, integer *iwork, integer *liwork, integer *info, ftnlen job_len, ftnlen compq_len);
extern int strsm_(char *side, char *uplo, char *transa, char *diag, integer *m, integer *n, real *alpha, real *a, integer *lda, real *b, integer *ldb, ftnlen side_len, ftnlen uplo_len, ftnlen transa_len, ftnlen diag_len);
-extern int strsyl_(char *trana, char *tranb, integer *isgn, integer *m, integer *n, real *a, integer *lda, real *b, integer *ldb, real *c__, integer *ldc, real *scale, integer *info, ftnlen trana_len, ftnlen tranb_len);
-extern int xerbla_(char *srname, integer *info, ftnlen srname_len);
-extern int xlaenv_(integer *ispec, integer *nvalue);
+extern int arpack_strsyl_(char *trana, char *tranb, integer *isgn, integer *m, integer *n, real *a, integer *lda, real *b, integer *ldb, real *c__, integer *ldc, real *scale, integer *info, ftnlen trana_len, ftnlen tranb_len);
+extern int arpack_xerbla_(char *srname, integer *info, ftnlen srname_len);
+extern int arpack_xlaenv_(integer *ispec, integer *nvalue);
/* comlen claenv_ 400 */
extern int zaxpy_(integer *n, doublecomplex *za, doublecomplex *zx, integer *incx, doublecomplex *zy, integer *incy);
extern int zcopy_(integer *n, doublecomplex *zx, integer *incx, doublecomplex *zy, integer *incy);
@@ -355,36 +359,36 @@ extern Z_f zdotc_(doublecomplex * ret_val, integer *n, doublecomplex *zx, intege
extern Z_f zdotu_(doublecomplex * ret_val, integer *n, doublecomplex *zx, integer *incx, doublecomplex *zy, integer *incy);
extern int zdscal_(integer *n, doublereal *da, doublecomplex *zx, integer *incx);
extern int zgbmv_(char *trans, integer *m, integer *n, integer *kl, integer *ku, doublecomplex *alpha, doublecomplex *a, integer *lda, doublecomplex *x, integer *incx, doublecomplex *beta, doublecomplex *y, integer *incy, ftnlen trans_len);
-extern int zgbtf2_(integer *m, integer *n, integer *kl, integer *ku, doublecomplex *ab, integer *ldab, integer *ipiv, integer *info);
-extern int zgbtrf_(integer *m, integer *n, integer *kl, integer *ku, doublecomplex *ab, integer *ldab, integer *ipiv, integer *info);
-extern int zgbtrs_(char *trans, integer *n, integer *kl, integer *ku, integer *nrhs, doublecomplex *ab, integer *ldab, integer *ipiv, doublecomplex *b, integer *ldb, integer *info, ftnlen trans_len);
+extern int arpack_zgbtf2_(integer *m, integer *n, integer *kl, integer *ku, doublecomplex *ab, integer *ldab, integer *ipiv, integer *info);
+extern int arpack_zgbtrf_(integer *m, integer *n, integer *kl, integer *ku, doublecomplex *ab, integer *ldab, integer *ipiv, integer *info);
+extern int arpack_zgbtrs_(char *trans, integer *n, integer *kl, integer *ku, integer *nrhs, doublecomplex *ab, integer *ldab, integer *ipiv, doublecomplex *b, integer *ldb, integer *info, ftnlen trans_len);
extern int zgemm_(char *transa, char *transb, integer *m, integer *n, integer *k, doublecomplex *alpha, doublecomplex *a, integer *lda, doublecomplex *b, integer *ldb, doublecomplex *beta, doublecomplex *c__, integer *ldc, ftnlen transa_len, ftnlen transb_len);
extern int zgemv_(char *trans, integer *m, integer *n, doublecomplex *alpha, doublecomplex *a, integer *lda, doublecomplex *x, integer *incx, doublecomplex *beta, doublecomplex *y, integer *incy, ftnlen trans_len);
-extern int zgeqr2_(integer *m, integer *n, doublecomplex *a, integer *lda, doublecomplex *tau, doublecomplex *work, integer *info);
+extern int arpack_zgeqr2_(integer *m, integer *n, doublecomplex *a, integer *lda, doublecomplex *tau, doublecomplex *work, integer *info);
extern int zgerc_(integer *m, integer *n, doublecomplex *alpha, doublecomplex *x, integer *incx, doublecomplex *y, integer *incy, doublecomplex *a, integer *lda);
extern int zgeru_(integer *m, integer *n, doublecomplex *alpha, doublecomplex *x, integer *incx, doublecomplex *y, integer *incy, doublecomplex *a, integer *lda);
extern int zgetv0_(integer *ido, char *bmat, integer *itry, logical *initv, integer *n, integer *j, doublecomplex *v, integer *ldv, doublecomplex *resid, doublereal *rnorm, integer *ipntr, doublecomplex *workd, integer *ierr, ftnlen bmat_len);
/* comlen debug_ 96 */
/* comlen timing_ 124 */
-extern int zgttrf_(integer *n, doublecomplex *dl, doublecomplex *d__, doublecomplex *du, doublecomplex *du2, integer *ipiv, integer *info);
-extern int zgttrs_(char *trans, integer *n, integer *nrhs, doublecomplex *dl, doublecomplex *d__, doublecomplex *du, doublecomplex *du2, integer *ipiv, doublecomplex *b, integer *ldb, integer *info, ftnlen trans_len);
-extern int zlacgv_(integer *n, doublecomplex *x, integer *incx);
-extern int zlacon_(integer *n, doublecomplex *v, doublecomplex *x, doublereal *est, integer *kase);
-extern int zlacpy_(char *uplo, integer *m, integer *n, doublecomplex *a, integer *lda, doublecomplex *b, integer *ldb, ftnlen uplo_len);
-extern Z_f zladiv_(doublecomplex * ret_val, doublecomplex *x, doublecomplex *y);
-extern int zlahqr_(logical *wantt, logical *wantz, integer *n, integer *ilo, integer *ihi, doublecomplex *h__, integer *ldh, doublecomplex *w, integer *iloz, integer *ihiz, doublecomplex *z__, integer *ldz, integer *info);
-extern doublereal zlange_(char *norm, integer *m, integer *n, doublecomplex *a, integer *lda, doublereal *work, ftnlen norm_len);
-extern doublereal zlanhs_(char *norm, integer *n, doublecomplex *a, integer *lda, doublereal *work, ftnlen norm_len);
-extern int zlarf_(char *side, integer *m, integer *n, doublecomplex *v, integer *incv, doublecomplex *tau, doublecomplex *c__, integer *ldc, doublecomplex *work, ftnlen side_len);
-extern int zlarfg_(integer *n, doublecomplex *alpha, doublecomplex *x, integer *incx, doublecomplex *tau);
-extern int zlarnv_(integer *idist, integer *iseed, integer *n, doublecomplex *x);
-extern int zlartg_(doublecomplex *f, doublecomplex *g, doublereal *cs, doublecomplex *sn, doublecomplex *r__);
-extern int zlascl_(char *type__, integer *kl, integer *ku, doublereal *cfrom, doublereal *cto, integer *m, integer *n, doublecomplex *a, integer *lda, integer *info, ftnlen type_len);
-extern int zlaset_(char *uplo, integer *m, integer *n, doublecomplex *alpha, doublecomplex *beta, doublecomplex *a, integer *lda, ftnlen uplo_len);
-extern int zlassq_(integer *n, doublecomplex *x, integer *incx, doublereal *scale, doublereal *sumsq);
-extern int zlaswp_(integer *n, doublecomplex *a, integer *lda, integer *k1, integer *k2, integer *ipiv, integer *incx);
-extern int zlatrs_(char *uplo, char *trans, char *diag, char *normin, integer *n, doublecomplex *a, integer *lda, doublecomplex *x, doublereal *scale, doublereal *cnorm, integer *info, ftnlen uplo_len, ftnlen trans_len, ftnlen diag_len, ftnlen normin_len);
-extern doublereal zmach_(integer *job);
+extern int arpack_zgttrf_(integer *n, doublecomplex *dl, doublecomplex *d__, doublecomplex *du, doublecomplex *du2, integer *ipiv, integer *info);
+extern int arpack_zgttrs_(char *trans, integer *n, integer *nrhs, doublecomplex *dl, doublecomplex *d__, doublecomplex *du, doublecomplex *du2, integer *ipiv, doublecomplex *b, integer *ldb, integer *info, ftnlen trans_len);
+extern int arpack_zlacgv_(integer *n, doublecomplex *x, integer *incx);
+extern int arpack_zlacon_(integer *n, doublecomplex *v, doublecomplex *x, doublereal *est, integer *kase);
+extern int arpack_zlacpy_(char *uplo, integer *m, integer *n, doublecomplex *a, integer *lda, doublecomplex *b, integer *ldb, ftnlen uplo_len);
+extern Z_f arpack_zladiv_(doublecomplex * ret_val, doublecomplex *x, doublecomplex *y);
+extern int arpack_zlahqr_(logical *wantt, logical *wantz, integer *n, integer *ilo, integer *ihi, doublecomplex *h__, integer *ldh, doublecomplex *w, integer *iloz, integer *ihiz, doublecomplex *z__, integer *ldz, integer *info);
+extern doublereal arpack_zlange_(char *norm, integer *m, integer *n, doublecomplex *a, integer *lda, doublereal *work, ftnlen norm_len);
+extern doublereal arpack_zlanhs_(char *norm, integer *n, doublecomplex *a, integer *lda, doublereal *work, ftnlen norm_len);
+extern int arpack_zlarf_(char *side, integer *m, integer *n, doublecomplex *v, integer *incv, doublecomplex *tau, doublecomplex *c__, integer *ldc, doublecomplex *work, ftnlen side_len);
+extern int arpack_zlarfg_(integer *n, doublecomplex *alpha, doublecomplex *x, integer *incx, doublecomplex *tau);
+extern int arpack_zlarnv_(integer *idist, integer *iseed, integer *n, doublecomplex *x);
+extern int arpack_zlartg_(doublecomplex *f, doublecomplex *g, doublereal *cs, doublecomplex *sn, doublecomplex *r__);
+extern int arpack_zlascl_(char *type__, integer *kl, integer *ku, doublereal *cfrom, doublereal *cto, integer *m, integer *n, doublecomplex *a, integer *lda, integer *info, ftnlen type_len);
+extern int arpack_zlaset_(char *uplo, integer *m, integer *n, doublecomplex *alpha, doublecomplex *beta, doublecomplex *a, integer *lda, ftnlen uplo_len);
+extern int arpack_zlassq_(integer *n, doublecomplex *x, integer *incx, doublereal *scale, doublereal *sumsq);
+extern int arpack_zlaswp_(integer *n, doublecomplex *a, integer *lda, integer *k1, integer *k2, integer *ipiv, integer *incx);
+extern int arpack_zlatrs_(char *uplo, char *trans, char *diag, char *normin, integer *n, doublecomplex *a, integer *lda, doublecomplex *x, doublereal *scale, doublereal *cnorm, integer *info, ftnlen uplo_len, ftnlen trans_len, ftnlen diag_len, ftnlen normin_len);
+extern doublereal arpack_zmach_(integer *job);
extern int znaitr_(integer *ido, char *bmat, integer *n, integer *k, integer *np, integer *nb, doublecomplex *resid, doublereal *rnorm, doublecomplex *v, integer *ldv, doublecomplex *h__, integer *ldh, integer *ipntr, doublecomplex *workd, integer *info, ftnlen bmat_len);
/* comlen debug_ 96 */
/* comlen timing_ 124 */
@@ -406,18 +410,20 @@ extern int zneupd_(logical *rvec, char *howmny, logical *select, doublecomplex *
extern int zngets_(integer *ishift, char *which, integer *kev, integer *np, doublecomplex *ritz, doublecomplex *bounds, ftnlen which_len);
/* comlen debug_ 96 */
/* comlen timing_ 124 */
-extern int zrot_(integer *n, doublecomplex *cx, integer *incx, doublecomplex *cy, integer *incy, doublereal *c__, doublecomplex *s);
+extern int arpack_zrot_(integer *n, doublecomplex *cx, integer *incx, doublecomplex *cy, integer *incy, doublereal *c__, doublecomplex *s);
extern int zscal_(integer *n, doublecomplex *za, doublecomplex *zx, integer *incx);
extern int zsortc_(char *which, logical *apply, integer *n, doublecomplex *x, doublecomplex *y, ftnlen which_len);
extern int zstatn_();
/* comlen timing_ 124 */
extern int zswap_(integer *n, doublecomplex *zx, integer *incx, doublecomplex *zy, integer *incy);
extern int ztbsv_(char *uplo, char *trans, char *diag, integer *n, integer *k, doublecomplex *a, integer *lda, doublecomplex *x, integer *incx, ftnlen uplo_len, ftnlen trans_len, ftnlen diag_len);
-extern int ztrevc_(char *side, char *howmny, logical *select, integer *n, doublecomplex *t, integer *ldt, doublecomplex *vl, integer *ldvl, doublecomplex *vr, integer *ldvr, integer *mm, integer *m, doublecomplex *work, doublereal *rwork, integer *info, ftnlen side_len, ftnlen howmny_len);
-extern int ztrexc_(char *compq, integer *n, doublecomplex *t, integer *ldt, doublecomplex *q, integer *ldq, integer *ifst, integer *ilst, integer *info, ftnlen compq_len);
+extern int arpack_ztrevc_(char *side, char *howmny, logical *select, integer *n, doublecomplex *t, integer *ldt, doublecomplex *vl, integer *ldvl, doublecomplex *vr, integer *ldvr, integer *mm, integer *m, doublecomplex *work, doublereal *rwork, integer *info, ftnlen side_len, ftnlen howmny_len);
+extern int arpack_ztrexc_(char *compq, integer *n, doublecomplex *t, integer *ldt, doublecomplex *q, integer *ldq, integer *ifst, integer *ilst, integer *info, ftnlen compq_len);
extern int ztrmm_(char *side, char *uplo, char *transa, char *diag, integer *m, integer *n, doublecomplex *alpha, doublecomplex *a, integer *lda, doublecomplex *b, integer *ldb, ftnlen side_len, ftnlen uplo_len, ftnlen transa_len, ftnlen diag_len);
-extern int ztrsen_(char *job, char *compq, logical *select, integer *n, doublecomplex *t, integer *ldt, doublecomplex *q, integer *ldq, doublecomplex *w, integer *m, doublereal *s, doublereal *sep, doublecomplex *work, integer *lwork, integer *info, ftnlen job_len, ftnlen compq_len);
+extern int arpack_ztrsen_(char *job, char *compq, logical *select, integer *n, doublecomplex *t, integer *ldt, doublecomplex *q, integer *ldq, doublecomplex *w, integer *m, doublereal *s, doublereal *sep, doublecomplex *work, integer *lwork, integer *info, ftnlen job_len, ftnlen compq_len);
extern int ztrsm_(char *side, char *uplo, char *transa, char *diag, integer *m, integer *n, doublecomplex *alpha, doublecomplex *a, integer *lda, doublecomplex *b, integer *ldb, ftnlen side_len, ftnlen uplo_len, ftnlen transa_len, ftnlen diag_len);
extern int ztrsv_(char *uplo, char *trans, char *diag, integer *n, doublecomplex *a, integer *lda, doublecomplex *x, integer *incx, ftnlen uplo_len, ftnlen trans_len, ftnlen diag_len);
-extern int ztrsyl_(char *trana, char *tranb, integer *isgn, integer *m, integer *n, doublecomplex *a, integer *lda, doublecomplex *b, integer *ldb, doublecomplex *c__, integer *ldc, doublereal *scale, integer *info, ftnlen trana_len, ftnlen tranb_len);
-extern int zunm2r_(char *side, char *trans, integer *m, integer *n, integer *k, doublecomplex *a, integer *lda, doublecomplex *tau, doublecomplex *c__, integer *ldc, doublecomplex *work, integer *info, ftnlen side_len, ftnlen trans_len);
+extern int arpack_ztrsyl_(char *trana, char *tranb, integer *isgn, integer *m, integer *n, doublecomplex *a, integer *lda, doublecomplex *b, integer *ldb, doublecomplex *c__, integer *ldc, doublereal *scale, integer *info, ftnlen trana_len, ftnlen tranb_len);
+extern int arpack_zunm2r_(char *side, char *trans, integer *m, integer *n, integer *k, doublecomplex *a, integer *lda, doublecomplex *tau, doublecomplex *c__, integer *ldc, doublecomplex *work, integer *info, ftnlen side_len, ftnlen trans_len);
+
+#endif
diff --git a/math/arpack/files/patch-UTIL+second.f b/math/arpack/files/patch-UTIL+second.f
index 1fa7785db706..5a0d65eae9e9 100644
--- a/math/arpack/files/patch-UTIL+second.f
+++ b/math/arpack/files/patch-UTIL+second.f
@@ -1,5 +1,5 @@
---- UTIL/arscnd.f.bak 2011-07-20 19:47:43.000000000 -0400
-+++ UTIL/arscnd.f 2011-07-20 19:48:05.000000000 -0400
+--- UTIL/second.f.bak 2011-07-20 19:47:43.000000000 -0400
++++ UTIL/second.f 2011-07-20 19:48:05.000000000 -0400
@@ -21,7 +21,6 @@
* ..
* .. External Functions ..
diff --git a/math/arpack/pkg-descr b/math/arpack/pkg-descr
index aa15944250e3..ab2a04876856 100644
--- a/math/arpack/pkg-descr
+++ b/math/arpack/pkg-descr
@@ -1,24 +1,9 @@
-The package is designed to compute a few eigenvalues and corresponding
-eigenvectors of a general n by n matrix A. It is most appropriate for large
-sparse or structured matrices A where structured means that a matrix-vector
-product w <- Av requires order n rather than the usual order n2 floating point
-operations. This software is based upon an algorithmic variant of the Arnoldi
-process called the Implicitly Restarted Arnoldi Method (IRAM). When the matrix
-A is symmetric it reduces to a variant of the Lanczos process called the
-Implicitly Restarted Lanczos Method (IRLM). These variants may be viewed as a
-synthesis of the Arnoldi/Lanczos process with the Implicitly Shifted QR
-technique that is suitable for large scale problems. For many standard
-problems, a matrix factorization is not required. Only the action of the matrix
-on a vector is needed.
-ARPACK software is capable of solving large scale symmetric, nonsymmetric,
-and generalized eigenproblems from significant application areas. The software
-is designed to compute a few (k) eigenvalues with user specified features
-such as those of largest real part or largest magnitude. Storage requirements
-are on the order of n*k locations. No auxiliary storage is required. A set
-of Schur basis vectors for the desired k-dimensional eigen-space is computed
-which is numerically orthogonal to working precision. Numerically accurate
-eigenvectors are available on request.
+ARPACK software is capable of solving large symmetric, nonsymmetric, and
+generalized eigenproblems. The software is designed to compute a few (k)
+eigenvalues with user-specified features, such as those of largest real part
+or largest magnitude. Storage requirements are on the order of n*k locations,
+and no auxiliary storage is required. A set of numerically orthogonal Schur
+basis vectors for the desired k-dimensional eigen-space is computed.
+Numerically accurate eigenvectors are available on request.
WWW: http://www.caam.rice.edu/software/ARPACK/
-
-NOTE: You MUST link with BLAS library or a replacement like ATLAS.
diff --git a/math/arpack/pkg-plist b/math/arpack/pkg-plist
index ccdb4b1e2bb7..cf4032ad28ae 100644
--- a/math/arpack/pkg-plist
+++ b/math/arpack/pkg-plist
@@ -2,6 +2,8 @@ lib/libarpack.a
lib/libarpack.so
lib/libarpack.so.1
include/arpack.h
+include/arpack_compat_c.h
+include/arpack_compat_f.h
%%PORTDOCS%%%%DOCSDIR%%/ex-complex.doc.gz
%%PORTDOCS%%%%DOCSDIR%%/ex-nonsym.doc.gz
%%PORTDOCS%%%%DOCSDIR%%/ex-sym.doc.gz