ARPACK

{{Infobox software

| name = ARPACK

| logo =

| screenshot =

| caption =

| collapsible =

| author =

| developer =

| released =

| latest release version =

| latest release date =

| latest preview version =

| latest preview date =

| programming language = FORTRAN 77

| operating system =

| platform =

| size =

| language =

| genre = Software library

| license = BSD-new

| website = {{URL|https://lacsi.rice.edu/software/arpak/}}

}}

ARPACK, the ARnoldi PACKage, is a numerical

software library written in FORTRAN 77 for solving large scale eigenvalue problems{{cite book

| last1 = Lehoucq

| first1 = R. B.

| last2 = Sorensen

| first2 = D. C.

| last3 = Yang

| first3 = C.

| title = ARPACK Users Guide: Solution of Large-Scale Eigenvalue Problems with Implicitly Restarted Arnoldi Methods

| publisher = SIAM

| location = Philadelphia

| date = 1998

| url = https://books.google.com/books?id=iMUea23N_CQC

| isbn = 978-0-89871-407-4}}

in the matrix-free fashion.

The package is designed to compute a few eigenvalues and corresponding

eigenvectors of large sparse or structured matrices, using the

Implicitly Restarted Arnoldi Method (IRAM)

or, in the case of symmetric matrices, the corresponding variant of the

Lanczos algorithm.

It is used by many popular numerical computing environments such as SciPy,

{{cite web

|url = https://docs.scipy.org/doc/scipy/tutorial/arpack.html

|title = Sparse Eigenvalue Problems with ARPACK

|website = Scipy.org

|accessdate = 8 Dec 2013

}} Mathematica,{{cite web

|url = https://reference.wolfram.com/language/tutorial/SomeNotesOnInternalImplementation.html

|title = Some Notes on Internal Implementation

|website = wolfram.com

|accessdate = 14 Oct 2016

}} GNU Octave

{{cite web

|url = https://www.gnu.org/software/octave/doc/interpreter/External-Packages.html

|title = External packages - GNU Octave

|website = gnu.org

|accessdate = 8 Dec 2013

}}

and MATLAB to provide this functionality.

Reverse Communication Interface

A powerful matrix-free feature of ARPACK is its ability to use any matrix storage format. This is possible because it doesn't operate on the matrices directly, but instead when a matrix operation is required it returns control to the calling program with a flag indicating what operation is required. The calling program must then perform the operation and call the ARPACK routine again to continue. The operations are typically matrix-vector products, and solving linear systems.

Fork

Due to stalled upstream development, ARPAСK has been forked into ARPACK-NG,[https://github.com/opencollab/arpack-ng ARPACK-NG] as a form of a collaborative effort of the various groups that rely on ARPACK.

See also

{{Portal|Free and open-source software}}

References

{{Reflist}}