Description
Ticket arises as a result of #10635. The methods factor() and roots() for generic univariate polynomial elements in rings/polynomial/polynomial_element.pyx have a lot of ring-specific code that would be better suited as methods attached to each individual base ring.
To whit, patch #10635 allows for the creation of _factor_univariate_polynomial() and _roots_univariate_polynomial() as dundermethods on the base ring. This should now be done, and the relevant code from factor() and roots() should be moved to these methods.
Depends on #10635
Depends on #13272
Depends on #13274
Depends on #13275
Depends on #13276
Component: basic arithmetic
Keywords: factor, roots, univariate polynomial, sd32
Reviewer: Peter Bruin
Issue created by migration from https://trac.sagemath.org/ticket/11731