# Polynomial: distribute to greatest common factor

Hello, assuming I have a polinomial like this:

sage: var('x, y')
(x, y)
sage: y = 2*x^2 + x^3 + 10*x^4


is there a way to get it simplified applying the distributive property on the greatest common factor?
In this case, the output should be this:

y = x^2 * ( 2 + x + 10*x^2 )


Thank you!

edit retag close merge delete

1

Sort by » oldest newest most voted

Try:

y.collect_common_factors()


This gives the output you want.

You could also use factor(y,x^2) if you know upfront that you want to factor out $x^2$.

more

Thank you, collect_common_factors() is indeed what I was looking for. It was that easy and I apologize if I couldn't manage to find out myself but it seems this function lacks of documentation or search engine indexing.

Sometimes it can indeed be hard to find all of the functionality. In this case, I used the command completion in the notebook interface to help me find it. To do this, I typed the polynomial name with a dot afterwards: y. Then, I hit the tab button. A menu appears with the (many) operations that you can do to this object y.