arpackmm: utility to test arpack with matrix market files. This is meant to run arpack with different options to find what are the ones that are the best for your particular problem. Typically: computing small eigen values may breakdown and/or be slow (arpack is good at finding large eigen values only). To compute small eigen values, it may be a better choice to look for large eigen values with invert or shift+invert. How to use this utility ? Start simple, then, increase complexity if/when needed: - defaults to: standard real symmetric eigen problem to be solved accurately (double precision). - list all possible options with --help. - add --verbose or --debug to get more informations. - if solve breaks down, you may: - play with --nbCV (increase workspace size). - play with --shiftReal/Imag and/or --invert. - if arpack mode > 1, change solver with --slv. - if arpack mode > 1, change solver parameters with --slv (typically: pivoting threshold, solver tolerance, ...). - try --restart (restart from previous eigen basis approximation computed by previous run). - etc... Note: using openblas/mkl/atlas instead of netlib blas/lapack may impact results. In some cases, it may also fail checks. Use --noCheck to skip checks. To build this utility, you need: - to use a fortran compiler which supports iso_c_binding. - to have installed eigen3 (to deal with the RCI). - to configure arpack-ng this way: - autotools: ~arpack-ng> ./configure --enable-icb-exmm; make all check - cmake: ~arpack-ng/build> cmake -D ICBEXMM=ON ..; make all test