Collection of Fortran77 subroutines designed to solve large scale eigenvalue problems.
ARPACK-NG is a collection of Fortran77 subroutines designed to solve large scale eigenvalue problems.
$ ./bootstrap $ export FFLAGS='-DMKL_ILP64 -I/usr/include/mkl' $ export FCFLAGS='-DMKL_ILP64 -I/usr/include/mkl' $ export LIBS='-Wl,--no-as-needed -L/usr/lib/x86_64-linux-gnu -lmkl_sequential -lmkl_core -lpthread -lm -ldl' $ export INTERFACE64=1 $ ./configure --with-blas=mkl_gf_ilp64 --with-lapack=mkl_gf_ilp64 $ make all check
This project started as a joint project between Debian, Octave and Scilab in order to provide a common and maintained version of arpack. This is now a community project maintained by a few volunteers.
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, maintained versions with a testsuite.
arpack-ng is replacing arpack almost everywhere.
You have successfully unbundled ARPACK-NG and are now in the ARPACK-NG directory that was created for you.
The directory SRC contains the top level routines including the highest level reverse communication interface routines
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.
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.
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 use arpack from CMake, use ARPACK::ARPACK target:
find_package(arpack-ng) add_executable(main main.f) target_include_directories(main PUBLIC ARPACK::ARPACK) target_link_libraries(main ARPACK::ARPACK)
To use parpack from CMake, use PARPACK::PARPACK target:
find_package(arpack-ng) add_executable(main main.f) target_include_directories(main PUBLIC PARPACK::PARPACK) target_link_libraries(main PARPACK::PARPACK)
On mac OS, with GNU compilers, you may need to customize options:
$ LIBS="-framework Accelerate" FFLAGS="-ff2c -fno-second-underscore" FCFLAGS="-ff2c -fno-second-underscore" ./configure
To build with code coverage:
$ mkdir build $ cd build $ cmake -DCOVERALLS=ON -DCMAKE_BUILD_TYPE=Debug .. $ make all check test coveralls
To get isocbinding 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:
for templates on how to invoke the computational modes of ARPACK. Also look in the README.MD file for explanations concerning the other documents.
Good luck and enjoy.