  We start from the observation that, anytime two Markov generators share an
eigenvalue, the function constructed from the product of the two eigenfunctions
associated to this common eigenvalue is a duality function. We push further
this observation and provide a full characterization of duality relations in
terms of spectral decompositions of the generators for finite state space
Markov processes. Moreover, we study and revisit some well-known instances of
duality, such as Siegmund duality, and extract spectral information from it.
Next, we use the same formalism to construct all duality functions for some
solvable examples, i.e., processes for which the eigenfunctions of the
generator are explicitly known.
