def METHOD_NAME(self, i):
    r"""Return the i-th eigenfunction of the solved problem.
    Returns
    -------
    (Function, Function)
        The real and imaginary parts of the eigenfunction.
    """
    eigenmodes_real = Function(self._problem.output_space)  # fn of V
    eigenmodes_imag = Function(self._problem.output_space)
    with eigenmodes_real.dat.vec_wo as vr:
        with eigenmodes_imag.dat.vec_wo as vi:
            self.es.getEigenvector(i, vr, vi)  # gets the i-th eigenvector
    return eigenmodes_real, eigenmodes_imag  # returns Firedrake fns