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, ARPACK has been forked into ARPACK-NG,[6] as a form of a collaborative effort of the various groups that rely on ARPACK.
Similarly, SciPy project, since version 1.17.0, includes a C-translated variant of the original Fortran 77 code. Among the differences, this variant is thread-safe and also allows the users to set the seed for the randomized parts, and hence, allow for deterministic output. Due to these changes, the programming interface is slightly modified, and thus, the SciPy project renamed the codebase to "Arnaud" to distinguish its fork from the original ARPACK.[7]