Changes in Version 3.4
-
Added new class of solvers NEP for the nonlinear eigenvalue problem.
-
Added new class of solvers MFN for computing the action of a matrix
function on a vector.
-
New EPS solver: Contour integral spectrum slice (CISS). Allows to compute
all eigenvalues inside a region.
-
New QEP solver: Q-Lanczos is a specialized variant of Q-Arnoldi for
problems with symmetric matrices.
-
Added support for shift-and-invert in QEP.
-
Added a new auxiliary class FN: Mathematical Function, to be used in
the definition of nonlinear eigenproblems.
-
Changed options -xxx_monitor_draw to -xxx_monitor_lg, and similarly for
-xxx_monitor_draw_all.
Changes in Version 3.3
-
New EPS solver: Rayleigh quotient conjugate gradient (RQCG).
This is the first CG-type eigensolver in SLEPc. It can be used for computing
smallest eigenvalues of symmetric-definite matrix pairs without inverting
any matrix (a preconditioner can be used instead).
-
Added a customizable parameter to specify how to restart in Krylov-Schur, see
EPSKrylovSchurSetRestart.
Tunning this parameter may speed up convergence significantly in some cases.
-
Added support for generalized symmetric-indefinite eigenproblems in
Krylov-Schur and the Davidson solvers.
To use this, set the problem type to EPS_GHIEP.
-
New variant of Generalized Davidson for generalized eigenproblems that
expands the subspace with two vectors (GD2). It can be activated with
-eps_gd_double_expansion.
-
Added experimental support for arbitrary selection of eigenpairs, where the
solver chooses the most wanted ones based on a user-defined function of
the eigenvectors rather than simply sorting the eigenvalues.
-
Added a new auxiliary class DS: Direct Solver (or Dense System), which is
intended for developers rather than normal users.
Changes in Version 3.2
-
Computational intervals for symmetric eigenproblems, that activate a spectrum slicing mechanism to obtain all eigenvalues in a given interval, see EPSSetInterval.
-
Partial support (experimental) for GPU computing via PETSc's VECCUSP and MATAIJCUSP.
-
Improved performance and robustness of GD and JD solvers in (generalized) Hermitian problems.
-
Performance improvement of solvers with explicit matrix such as SVDCYCLIC and QEPLINEAR
(now use matrix preallocation).
-
Added Matlab interface.
-
Added support for parallel builds with CMake.
-
Added support for quad precision (configure PETSc --with-precision=__float128 with gcc-4.6 or later).
-
Interface changes: now all XXXDestroy() routines take a pointer to the object.
Changes in Version 3.1
-
New EPS solvers: Generalized Davidson (GD) and Jacobi-Davidson (JD). These are the first
eigensolvers in SLEPc that belong to the class of preconditioned eigensolvers.
-
Added a new instance of ST called STPRECOND. This is not really a spectral transformation
but rather a convenient way of handling the preconditioners in the new eigensolvers.
-
Added a new class QEP for solving quadratic eigenvalue problems. Currently, it contains
two solvers: the Q-Arnoldi method and another one that provides a linearization of the
problem and then invokes an eigensolver from EPS.
-
Added support for balancing of non-Hermitian problems, see EPSSetBalance.
-
Improved sorting of eigenvalues, now with the possibility of sorting with respect to
a target value. With shift-and-invert, now the ordering
of eigenvalues is the expected one, relative to the target.
Also added support for user-defined orderings. For details, see EPSSetWhichEigenpairs.
-
Added support for user-defined convergence tests, see EPSSetConvergenceTest.
Several predefined convergence criteria are available. Also, there is a new
flag for computing the true residual for the convergence test, see EPSSetTrueResidual.
-
Monitors have been reorganized and now more possibilities are available. See the Users
Manual for details.
-
Changes in user interface: EPSAttachDeflationSpace has been renamed to EPSSetDeflationSpace,
EPSSetLeftVectorsWanted replaces EPSSetClass for requesting left eigenvectors;
Change in arguments: EPSSetDeflationSpace; Deprecated function: EPSSetInitialVector,
replaced by EPSSetInitialSpace; STSINV has been renamed to STSINVERT.
Changes in Version 3.0.0
-
Released under GNU LGPL license.
-
Improved support for the case that many eigenpairs are to be
computed. This is especially so in the default eigensolver (Krylov-Schur)
for symmetric problems, as well as for SVD computations. The user
can control the behaviour of the solver with a new parameter, mpd
(see EPSSetDimensions).
-
Support for harmonic projection in the default eigensolver (Krylov-Schur),
see EPSSetExtraction. This can be useful for computing interior or
rightmost eigenvalues without the need of a spectral transformation.
-
Memory usage has been optimized in most solvers. In some cases,
memory requirements have been halved with respect to the previous
versions.
-
In the spectral transformations (ST) the linear solver used internally
has been changed to a direct solver by default. The user can still
employ an iterative linear solver by setting the appropriate options.
-
Added better support for Fortran 90.
-
Improved support for 'make install', see the Users Manual for details.
Changes in Version 2.3.3
-
A new solver class, SVD, has been introduced for computing the singular
value decomposition of a rectangular matrix. The structure of this new
type is very similar to that of EPS, and it simplifies the computation
of singular values and vectors. A complete chapter in the users manual
is devoted to SVD.
-
Better support for generalized problems. Eigenvector purification has
been added to improve accuracy in the case of generalized eigenproblems
with singular B. Also, a new problem type (EPS_PGNHEP) has been added
for better addressing generalized problems in which A is non-Hermitian
but B is Hermitian and positive definite.
-
Now 'make install' is available thus facilitating system-wide installation.
Changes in Version 2.3.2
-
A new 'krylovschur' eigensolver has been added, that implements the
Krylov-Schur method. This method is related to the Arnoldi and Lanczos
algorithms, but incorporates a new restarting scheme that makes it
competitive with respect to implicit restart. This eigensolver is now
the default for both symmetric and non-symmetric problems.
-
A new wrapper has been developed to interface with the PRIMME library.
This library provides Davidson-type eigensolvers.
-
The 'lanczos' solver has been improved, in particular, the different
reorthogonalization strategies are now more robust.
-
Now the 'arnoldi' eigensolver supports the computation of eigenvalues
other than those of largest magnitude.
-
EPSGetLinearIterations has been replaced with EPSGetOperationCounters,
providing more statistics about the solution process.
-
EPSGetIterationNumber now returns the number corresponding to outer
iterations.
-
The 'lobpcg' wrapper has been renamed to 'blopex'.
-
The 'planso' wrapper has been removed since PLANSO is no longer being
distributed.
Changes in Version 2.3.1
-
New variant of the Arnoldi method added to the 'arnoldi' eigensolver
(with delayed reorthogonalization, see EPSArnoldiSetDelayed).
-
Several optimizations for improving performance and scalability, in particular
the orthogonalization steps.
Changes in Version 2.3.0
-
New 'lanczos' eigensolver, an explicitly restarted version of the Lanczos method
for symmetric eigenproblems. Allows the user to choose among 5 reorthogonalization
strategies.
-
New spectrum folding spectral transformation.
-
New configuration system, similar to PETSc's configure.py.
-
New interface to an external eigensolver: LOBPCG implemented in Hypre.
-
Added graphical convergence monitor (with -eps_xmonitor).
-
Improvement of Arnoldi solver in terms of efficiency and robustness.
-
Now the 'lapack' solver uses specific Lapack routines for symmetric and generalized problems.
-
Bug fix in the ARPACK interface.
Changes in Version 2.2.1
- The 'power' eigensolver has been replaced by a simpler implementation.
- The 'rqi' eigensolver has been removed. Now the Rayleigh Quotient Iteration is embedded in the 'power' method.
- The 'subspace' eigensolver has been rewritten. Now it follows the SRRIT implementation, which is much faster than the old one.
- The 'arnoldi' eigensolver has been re-implemented as well. The new implementation is much more robust and efficient.
- A new Spectral Tranformation (ST) has been added: the generalized Cayley transform.
- Support for user-provided deflation subspaces has been added (see EPSAttachDeflationSpace).
- Support for preservation of symmetry in eigensolvers. For this feature, the user must explicitly call EPSSetProblemType in symmetric problems.
- The two types of monitors (error estimates and values) have been merged in a single one.
- New function EPSGetInvariantSubspace.
- Better support for spectrum slicing in 'blzpack'.
Changes in Version 2.2.0
- EPSSolve does not return the number of iterations. Use EPSGetIterationNumber for this purpose.
- EPSGetSolution has been replaced by EPSGetEigenpair with a cleaner interface.
- EPSComputeError has been replaced by EPSComputeRelativeError and EPSComputeResidualNorm with better error computing for zero eigenvalues. These functions now are oriented to single eigenpairs, as well as EPSGetErrorEstimate.
- The possibilities of EPSSetWhichEigenpairs have been reduced and now are more coherent across problem types.
- Removed STNONE spectral transformation. The default of STSHIFT with 0 shift is equivalent.
- Added STSinvertSetMatStructure to optimize performance of MatAXPY in shift-and-invert transformation.
- Classical and modified Gram-Schmidt orthogonalization use iterative refinement, with user options for parameter adjustment.
Changes in Version 2.1.5
- Added call to MatGetInertia
in BLZPACK interface.
|