'Decide if ``self`` is a suitable origin.
A function is a suitable origin iff:
* none of the ai equals bj + n, with n a non-negative integer
* none of the ai is zero
* none of the bj is a non-positive integer
Note that this gives meaningful results only when none of the indices
are symbolic.'

def _is_suitable_origin(self):

    for a in self.ap:
        for b in self.bq:
            if ((a - b).is_integer and ((a - b).is_negative is False)):
                return False
    for a in self.ap:
        if (a == 0):
            return False
    for b in self.bq:
        if (b.is_integer and b.is_nonpositive):
            return False
    return True
