'A wrapper to factorint which return factors of self that are
smaller than limit (or cheap to compute). Special methods of
factoring are disabled by default so that only trial division is used.'

def factors(self, limit=None, use_trial=True, use_rho=False, use_pm1=False, verbose=False, visual=False):

    from sympy.ntheory import factorrat
    return factorrat(self, limit=limit, use_trial=use_trial, use_rho=use_rho, use_pm1=use_pm1, verbose=verbose).copy()
