diff options
author | bf <bf@FreeBSD.org> | 2011-08-24 18:41:39 +0800 |
---|---|---|
committer | bf <bf@FreeBSD.org> | 2011-08-24 18:41:39 +0800 |
commit | 58834efc1da70c36cf9078b50675d62035ec9b16 (patch) | |
tree | 6722cd33d800e617fee9e305615f514ff2eded13 | |
parent | 4e40c6b3eed88cb3680997a4f5488e4da73bc37c (diff) | |
download | freebsd-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/Makefile | 91 | ||||
-rw-r--r-- | math/arpack/distinfo | 2 | ||||
-rw-r--r-- | math/arpack/files/arpack.h | 348 | ||||
-rw-r--r-- | math/arpack/files/patch-UTIL+second.f | 4 | ||||
-rw-r--r-- | math/arpack/pkg-descr | 29 | ||||
-rw-r--r-- | math/arpack/pkg-plist | 2 |
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 |