PReconditioned Iterative MultiMethod Eigensolver for solving symmetric/Hermitian eigenvalue problems and singular value problems
Changes in PRIMME 3.2:
dprimme()
and other variants not returning error code PRIMME_MAIN_ITER_FAILURE
when it should do in some corner cases.disp
to reportLevel
.returnUnconverged
to return unconverged pairs.Changes in PRIMME 3.1.1:
Fixed version in the shared library name.
Fixed compilation errors with pgcc.
Changes in PRIMME 3.1 (released on May 2, 2020):
Fixed compilation issues in F90 interface and examples.
Fixed bug in block orthogonalization.
Updated Python interface to Python version 3.8.
Changes in PRIMME 3.0.2:
Changes in PRIMME 3.0.1:
Changes in PRIMME 3.0:
Added support for the generalized Hermitian eigenvalue problem and the standard normal eigenvalue problem.
Added support for GPU.
Added support for half precision.
Added block orthogonalization.
Resolution of all linear system of equations simultaneously in Jacobi-Davidson.
Added interface for Fortran 90.
Added an optional callback for broadcasting.
The callbacks can work with different precision than the main call (see for instance "matrixMatvec_type" and "globalSumReal_type").
Added new counters: "numGlobalSum", "volumeGlobalSum", "numBroadcast", "volumeGlobalSum", "timeOrtho", "timeGlobalSum", "timeBroadcast".
Added "primme_params_create()", "primme_params_destroy()", "primme_svds_params_create()", and "primme_svds_params_destroy()".
Changes in PRIMME 2.2:
Improved stability for single precision.
Improved support for the shared library.
Updated PETSc examples in Fortran; added new examples in single precision.
Improved support for FreeBSD and MacOS.
New install and uninstall actions.
MATLAB interface support for user-defined stopping criterion (see "convTestFun") and stopping with ctr+c.
Optional suffix on BLAS/LAPACK function names (for OpenBLAS, see PRIMME_BLAS_SUFFIX).
Replaced XHEGV by XHEGVX (to support ESSL).
Fixed bugs in the library and in the Matlab interface.
Changes in PRIMME 2.1:
Improved robustness by broadcasting the result of critical LAPACK operations instead of replicating them on every process; this is useful when using a threaded BLAS/LAPACK or when some parallel processes may run on different architectures or libraries.
New stopping criteria in QMR that improve performance for interior problems.
MATLAB interface reimplementation with support for singular value problems, "primme_svds()", with double and single precision, and compatible with Octave.
R interface
Proper reporting of convergence history for singular value solvers.
Changes in PRIMME 2.0:
Changes in PRIMME 1.2.2:
libdprimme.a
and libzprimme.a
.primme_set_method
sets JDQMR instead of JDQMR_ETol for preset methods
DEFAULT_MIN_TIME and DYNAMIC when seeking interior values.INCLUDE
for compiling the driver.