Collection of Fortran77 subroutines designed to solve large scale eigenvalue problems.
Fortran M4 C++ CMake C Makefile
Clone or download
Permalink
Failed to load latest commit information.
DOCUMENTS Revert " * Rename debug.h to debug-arpack.h to avoid collision (Closes Jun 24, 2018
EXAMPLES Revert " * Rename debug.h to debug-arpack.h to avoid collision (Closes Jun 24, 2018
PARPACK Revert " * Rename debug.h to debug-arpack.h to avoid collision (Closes Jun 24, 2018
SRC Revert " * Rename debug.h to debug-arpack.h to avoid collision (Closes Jun 24, 2018
TESTS Various improvement on build systems Jun 29, 2018
UTIL Remove all trailing whitespaces Jun 23, 2018
VISUAL_STUDIO remove source and update Makefile Aug 25, 2015
cmake Misc. typos Apr 3, 2018
m4 Test C++11 support on travis for autotools Apr 18, 2018
.clang-format Add clang-format using the Google coding style (#116) May 20, 2018
.gitignore Add bug_79_double_complex in .gitignore. Apr 7, 2018
.hgignore restore auto-generated files Jan 9, 2013
.travis.yml Travis-CI: use jobs (easier to check out what's wrong). (#138) Jun 30, 2018
CHANGES Add configuration summary. (#135) Jun 26, 2018
CMakeLists.txt Various improvement on build systems Jun 29, 2018
COPYING remove trailing spaces + minor update of the doc Oct 12, 2015
Makefile.am Revert " * Rename debug.h to debug-arpack.h to avoid collision (Closes Jun 24, 2018
PARPACK_CHANGES fix more typos Mar 10, 2018
README.md iso_c_binding: README.md. Apr 11, 2018
TODO autotools: run parpack tests with "mpirun -n 2". (#101) Mar 24, 2018
arpack-ng-config-version.cmake.in Fix consistency issues over the arpack name (#71) Oct 16, 2017
arpack-ng-config.cmake.in Auto-generated pc/cmake files: headers in dedicated files. Jun 24, 2018
arpack.h Fix correctness of C bindings Jun 9, 2018
arpack.hpp Synchronize C++ bindings with the fixed C bindings Jun 9, 2018
arpack.pc.in Auto-generated pc/cmake files: headers in dedicated files. Jun 24, 2018
bootstrap Replace auto-generated files with a bootstrap script Jan 1, 2015
configure.ac Various improvement on build systems Jun 29, 2018
debug.h Revert " * Rename debug.h to debug-arpack.h to avoid collision (Closes Jun 24, 2018
debug_c.h iso_c_binding: add debug support. Apr 5, 2018
debug_c.hpp iso_c_binding: add debug support. Apr 5, 2018
debug_icb.f90 Revert " * Rename debug.h to debug-arpack.h to avoid collision (Closes Jun 24, 2018
debug_init.f90 Initialize debug common block with "block data" (at Fortran side). Apr 8, 2018
detect_arpack_bug.m4 fix some typos Jun 23, 2018
parpack.h Fix C and C++ bindings for PARPACK Jun 9, 2018
parpack.hpp Fix C and C++ bindings for PARPACK Jun 9, 2018
stat.h iso_c_binding: add statistics support. Apr 9, 2018
stat_c.h iso_c_binding: add statistics support. Apr 9, 2018
stat_c.hpp iso_c_binding: add statistics support. Apr 9, 2018
stat_icb.f90 iso_c_binding: add statistics support. Apr 9, 2018

README.md

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


Coverage Status

Important Features:

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

This project is a joint project between Debian, Octave and Scilab in order to provide a common and maintained version of arpack.

Indeed, no single release has been published by Rice university for the last few years and since many software (Octave, Scilab, R, Matlab...) forked it and implemented their own modifications, arpack-ng aims to tackle this by providing a common repository and maintained versions.

arpack-ng is replacing arpack almost everywhere.

  1. You have successfully unbundled ARPACK-NG and are now in the ARPACK-NG directory that was created for you.

  2. The directory SRC contains the top level routines including the highest level reverse communication interface routines

  • ssaupd, dsaupd - symmetric single and double precision

  • snaupd, dnaupd - non-symmetric single and double precision

  • cnaupd, znaupd - complex non-symmetric single and double precision

    The headers of these routines contain full documentation of calling sequence and usage. Additional information is in the DOCUMENTS directory.

    The directory PARPACK contains the Parallel ARPACK routines.

  1. Example driver programs that illustrate all the computational modes, data types and precisions may be found in the EXAMPLES directory. Upon executing the 'ls EXAMPLES' command you should see
  • BAND

  • COMPLEX

  • NONSYM

  • README

  • SIMPLE

  • SVD

  • SYM

    Example programs for banded, complex, nonsymmetric, symmetric, and singular value decomposition may be found in the directories BAND, COMPLEX, NONSYM, SYM, SVD respectively. Look at the README file for further information. To get started, get into the SIMPLE directory to see example programs that illustrate the use of ARPACK in the simplest modes of operation for the most commonly posed standard eigenvalue problems.

    Example programs for Parallel ARPACK may be found in the directory PARPACK/EXAMPLES. Look at the README file for further information.

    The following instructions explain how to make the ARPACK library.

  1. Unlike ARPACK, ARPACK-NG is providing autotools based build system and iso_c_binding support (which enables to call fortran subroutines natively from C or C++).

Therefore, the classical commands should work as expected:

$ sh bootstrap
$ ./configure
$ make
$ make check
$ make install

Furthermore, ARPACK-NG now provides CMake functionality:

$ mkdir build
$ cd build
$ cmake -D EXAMPLES=ON -D MPI=ON -D BUILD_SHARED_LIBS=ON ..
$ make
$ make install

builds everything including examples and parallel support (with MPI).

To build with code coverage:

$ mkdir build
$ cd build
$ cmake -DCOVERALLS=ON -DCMAKE_BUILD_TYPE=Debug ..
$ make all check test coveralls

To get iso_c_binding support:

$ ./configure --enable-icb
$ cmake -D ICB=ON

The install will now provide arpack.h/hpp, parpack.h/hpp and friends. Examples of use can be found in ./TESTS and ./PARPACK/TESTS/MPI. A few related links can be found here:

  1. Within DOCUMENTS directory there are three files
  • ex-sym.doc

  • ex-nonsym.doc and

  • ex-complex.doc

    for templates on how to invoke the computational modes of ARPACK. Also look in the README.MD file for explanations concerning the other documents.

Authors:

Good luck and enjoy.