"make check" failures on macOS

Running macOS 10.16.5 and the development branch.

I see two failures.

FAIL: LapComplexEigenValue.edp
FAIL: LapnosymComplexEigenValue.edp

Shall I copy the log my response, or is there a a preferred alternative?

These are ARPACK errors. They have been there for a long time. My advice: don’t use ARPACK and switch to SLEPc instead.

For switching to SLEPc, is this done at configure? Or run time?

  1. Make sure FreeFEM is configured with PETSc/SLEPc support
  2. Switch from EigenValue to EPSSolve, see the many examples with SLEPc in the name from this folder

Any chance there is a description of the input arguments for EPSSolve?

They are the same as EigenValue, expect Mat instead of matrix have to be passed:

  1. EPSSolve(A, B) with A and B of type Mat
  2. EPSSolve(A) with A of type Mat

There is a little twist for matrix-free methods because FreeFEM must be made aware of the data distribution (for parallel computing), so a Mat must always be passed as well:

  1. EPSSolve(A, funcA) with A of type Mat and funcA of type func real[int] or complex[int]
  2. EPSSolve(A, funcA, B, funcB) with A and B of type Mat, funcA and funcB of type func real[int] or complex[int]

There is more information in the SLEPc section of this tutorial. Appart from being actively maintained (unlike ARPACK which hasn’t been updated in ages), SLEPc handles parallel computing natively, can solve nonlinear eigenvalue problems, and compute singular value decompositions.