40 lines
1.5 KiB
Plaintext
40 lines
1.5 KiB
Plaintext
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-eigen; make all check
|
|
- cmake:
|
|
~arpack-ng/build> cmake -D EIGEN=ON ..; make all test
|