hope you can help me.
I have learned that a preconditioner is a matrix $P$ such that when it is applied to a system $A \mathbf{x} = \mathbf{b}$, the spectral properties of the matrix $P^{-1} A$ are better than those of $A$ itself. Thus an iterative method (particularly those based on Krylov subpaces -- CG, MINRES, GMRES) get better convergence rate (incredibly less number of iterations than a non-preconditioned system).
I use to write the application of the preconditioner to a particular system as
$P^{-1} A \mathbf{x} = P^{-1} \mathbf{b}$,
however, I have found that some authors write the application of the preconditioner as a generalised eigenvalue problem as here_biharmonic_preconditioner_01 (see equation 13) and here_biharmonic_preconditioner_02 (see equation 3.5).
I have noticed than this practice is mostly used when the authors want to talk about the eigenvalues of the application of the preconditioner to the original system, however, I am not seeing the connection.
How do they relate the application of the preconditioner with a generalised eigenvalue problem?
Thank you
When we apply a preconditioner $P$, then we are replacing the original problem, say, a linear system or an eigenvalue problem, with an equivalent one for which our algorithms converge faster.
In the papers which you reference the authors are studying an eigenvalue problem $Ax=\lambda x$ and they apply a preconditioner $P$. This changes the nature of their problem from a standard eigenvalue problem to the generalized eigenvalue problem $P^{-1} A x = \lambda P^{-1} x$, a fact they acknowledge immediately.
As you have described we apply preconditioners in the context of linear systems to facilitate the convergence of, say, Krylov subspace methods. The convergence of eigensolvers, such as the basic subspace iteration method or TraceMin, depend on the presence of gaps in the spectrum and some form of preprocessing is typically applied to the matrix to isolate the eigenvalues that we want. I would happily refer to this process as preconditioning.
You should perhaps think of preconditioning in more general terms that just linear systems. You transform your current problem into an equivalent problem for which you have an algorithm which converges better.