'Check whether the function matches with the zeta function.
If it matches, then return a `Piecewise` expression because
zeta function does not converge unless `s > 1` and `q > 0`'

def eval_zeta_function(self, f, limits):

    (i, a, b) = limits
    (w, y, z) = (Wild('w', exclude=[i]), Wild('y', exclude=[i]), Wild('z', exclude=[i]))
    result = f.match((((w * i) + y) ** (- z)))
    if ((result is not None) and (b == S.Infinity)):
        coeff = (1 / (result[w] ** result[z]))
        s = result[z]
        q = ((result[y] / result[w]) + a)
        return Piecewise(((coeff * zeta(s, q)), And((q > 0), (s > 1))), (self, True))
