pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/math/arpack Import ARPACK 96 as math/arpack.



details:   https://anonhg.NetBSD.org/pkgsrc/rev/d0e6e0671fcb
branches:  trunk
changeset: 604353:d0e6e0671fcb
user:      asau <asau%pkgsrc.org@localhost>
date:      Tue May 29 16:38:01 2012 +0000

description:
Import ARPACK 96 as math/arpack.
Contributed to pkgsrc-wip by Jason Bacon.

ARPACK is a collection of Fortran77 subroutines designed to solve large
scale eigenvalue problems.

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 n**2 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.

Important Features:

    o  Reverse Communication Interface.
    o  Single and Double Precision Real Arithmetic Versions for Symmetric,
       Non-symmetric, Standard or Generalized Problems.
    o  Single and Double Precision Complex Arithmetic Versions for Standard
       or Generalized Problems.
    o  Routines for Banded Matrices - Standard or Generalized Problems.
    o  Routines for The Singular Value Decomposition.
    o  Example driver routines that may be used as templates to implement
       numerous Shift-Invert strategies for all problem types, data types
       and precision.

diffstat:

 math/arpack/DESCR                       |  35 ++++++++++++++++++++++
 math/arpack/Makefile                    |  29 ++++++++++++++++++
 math/arpack/PLIST                       |   2 +
 math/arpack/buildlink3.mk               |  14 +++++++++
 math/arpack/distinfo                    |  10 ++++++
 math/arpack/patches/patch-ARmake.inc    |  51 +++++++++++++++++++++++++++++++++
 math/arpack/patches/patch-UTIL_second.f |  16 ++++++++++
 7 files changed, 157 insertions(+), 0 deletions(-)

diffs (185 lines):

diff -r 4dc40cf5db9e -r d0e6e0671fcb math/arpack/DESCR
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/math/arpack/DESCR Tue May 29 16:38:01 2012 +0000
@@ -0,0 +1,35 @@
+ARPACK is a collection of Fortran77 subroutines designed to solve large
+scale eigenvalue problems.
+
+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 n**2 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.
+
+Important Features:
+
+    o  Reverse Communication Interface.
+    o  Single and Double Precision Real Arithmetic Versions for Symmetric,
+       Non-symmetric, Standard or Generalized Problems.
+    o  Single and Double Precision Complex Arithmetic Versions for Standard
+       or Generalized Problems.
+    o  Routines for Banded Matrices - Standard or Generalized Problems.
+    o  Routines for The Singular Value Decomposition.
+    o  Example driver routines that may be used as templates to implement
+       numerous Shift-Invert strategies for all problem types, data types
+       and precision.
diff -r 4dc40cf5db9e -r d0e6e0671fcb math/arpack/Makefile
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/math/arpack/Makefile      Tue May 29 16:38:01 2012 +0000
@@ -0,0 +1,29 @@
+# $NetBSD: Makefile,v 1.1.1.1 2012/05/29 16:38:01 asau Exp $
+
+DISTNAME=      arpack96
+PKGNAME=       arpack-96
+CATEGORIES=    math
+MASTER_SITES=  http://www.caam.rice.edu/software/ARPACK/SRC/
+DISTFILES=     arpack96.tar.gz patch.tar.gz
+
+MAINTAINER=    jwbacon%tds.net@localhost
+HOMEPAGE=      http://www.caam.rice.edu/software/ARPACK/SRC/
+COMMENT=       Library of subroutines to solve eigenvalue problems
+LICENSE=       original-bsd
+
+PKG_DESTDIR_SUPPORT=   user-destdir
+
+WRKSRC=                ${WRKDIR}/ARPACK
+USE_LANGUAGES= fortran77
+MAKE_ENV+=     WRKSRC=${WRKSRC}
+
+INSTALLATION_DIRS=     lib
+
+# Patches must be extracted AFTER the main dist to overwrite files
+post-extract:
+       cd ${WRKDIR} && ${TAR} -zxf ${DISTDIR}/patch.tar.gz
+
+do-install:
+       ${INSTALL_DATA} ${WRKSRC}/libarpack.a ${DESTDIR}${PREFIX}/lib
+
+.include "../../mk/bsd.pkg.mk"
diff -r 4dc40cf5db9e -r d0e6e0671fcb math/arpack/PLIST
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/math/arpack/PLIST Tue May 29 16:38:01 2012 +0000
@@ -0,0 +1,2 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2012/05/29 16:38:01 asau Exp $
+lib/libarpack.a
diff -r 4dc40cf5db9e -r d0e6e0671fcb math/arpack/buildlink3.mk
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/math/arpack/buildlink3.mk Tue May 29 16:38:01 2012 +0000
@@ -0,0 +1,14 @@
+# $NetBSD: buildlink3.mk,v 1.1.1.1 2012/05/29 16:38:01 asau Exp $
+
+BUILDLINK_DEPMETHOD.arpack?=   build
+
+BUILDLINK_TREE+=       arpack
+
+.if !defined(ARPACK_BUILDLINK3_MK)
+ARPACK_BUILDLINK3_MK:=
+
+BUILDLINK_API_DEPENDS.arpack+= arpack>=96
+BUILDLINK_PKGSRCDIR.arpack?=   ../../math/arpack
+.endif # ARPACK_BUILDLINK3_MK
+
+BUILDLINK_TREE+=       -arpack
diff -r 4dc40cf5db9e -r d0e6e0671fcb math/arpack/distinfo
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/math/arpack/distinfo      Tue May 29 16:38:01 2012 +0000
@@ -0,0 +1,10 @@
+$NetBSD: distinfo,v 1.1.1.1 2012/05/29 16:38:01 asau Exp $
+
+SHA1 (arpack96.tar.gz) = 3f91de2b39b484bc8365f8048c9eb109e0306e1c
+RMD160 (arpack96.tar.gz) = 3d1c1c307223961506066f895b7ab291861e73fe
+Size (arpack96.tar.gz) = 636865 bytes
+SHA1 (patch.tar.gz) = 9fc6db4180d516d834d959a5f079e63f174f98fa
+RMD160 (patch.tar.gz) = 4ccda2de8dc04c9ecb0ea722f230f5dd5c981154
+Size (patch.tar.gz) = 226473 bytes
+SHA1 (patch-ARmake.inc) = f3e11d5ef8f11c8c253a487baec5e0b18aa07a8c
+SHA1 (patch-UTIL_second.f) = 6a9d03f815b6d73669e637f5bfae6e8d38df90fd
diff -r 4dc40cf5db9e -r d0e6e0671fcb math/arpack/patches/patch-ARmake.inc
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/math/arpack/patches/patch-ARmake.inc      Tue May 29 16:38:01 2012 +0000
@@ -0,0 +1,51 @@
+$NetBSD: patch-ARmake.inc,v 1.1.1.1 2012/05/29 16:38:01 asau Exp $
+
+--- ARmake.inc.orig    1996-04-26 19:12:57.000000000 +0000
++++ ARmake.inc
+@@ -25,14 +25,14 @@
+ # | other than your home directory.      |
+ # %--------------------------------------%
+ #
+-home = $(HOME)/ARPACK
++home = ${WRKSRC}
+ #
+ #  %--------------------------------------%
+ #  | The platform identifier to suffix to |
+ #  | the end of library names             |
+ #  %--------------------------------------%
+ #
+-PLAT = SUN4
++# PLAT = SUN4
+ #
+ #  %------------------------------------------------------%
+ #  | The directories to find the various pieces of ARPACK |
+@@ -57,7 +57,7 @@ DIRS        = $(BLASdir) $(LAPACKdir) $(
+ # | The name of the libraries to be created/linked to |
+ # %---------------------------------------------------%
+ #
+-ARPACKLIB  = $(home)/libarpack_$(PLAT).a
++ARPACKLIB  = $(home)/libarpack.a
+ LAPACKLIB = 
+ BLASLIB = 
+ #
+@@ -101,8 +101,9 @@ ALIBS =  $(ARPACKLIB) $(LAPACKLIB) $(BLA
+ # | for your system.                        |
+ # %-----------------------------------------%
+ #
+-FC      = f77
+-FFLAGS        = -O -cg89
++# Provided by pkgsrc
++# FC      = gfortran
++FFLAGS        = -O -fPIC
+ 
+ LDFLAGS = 
+ CD      = cd
+@@ -112,7 +113,7 @@ ECHO    = echo
+ LN      = ln
+ LNFLAGS = -s
+ 
+-MAKE    = /bin/make
++# MAKE    = /bin/make
+ 
+ RM      = rm
+ RMFLAGS = -f
diff -r 4dc40cf5db9e -r d0e6e0671fcb math/arpack/patches/patch-UTIL_second.f
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/math/arpack/patches/patch-UTIL_second.f   Tue May 29 16:38:01 2012 +0000
@@ -0,0 +1,16 @@
+$NetBSD: patch-UTIL_second.f,v 1.1.1.1 2012/05/29 16:38:01 asau Exp $
+
+--- UTIL/second.f.orig 1995-10-02 18:56:44.000000000 +0000
++++ UTIL/second.f
+@@ -20,8 +20,9 @@
+       REAL               TARRAY( 2 )
+ *     ..
+ *     .. External Functions ..
+-      REAL               ETIME
+-      EXTERNAL           ETIME
++*  ETIME is intrinsic, so this causes undefined reference errors in newer gcc
++*      REAL               ETIME
++*      EXTERNAL           ETIME
+ *     ..
+ *     .. Executable Statements ..
+ *



Home | Main Index | Thread Index | Old Index