1 | initial version |

Unfortunately i can not see any method about this for polynomials, but you can use `sympy`

shich is shipped with Sage, though not imported by default (nor completely interfaced):

```
sage: R.<x> = PolynomialRing(QQ)
sage: f = 27*x^4 - 27/5*x^3 + 1737/100*x^2 - 171/100*x + 37/10
sage: from sympy import decompose
sage: decompose(f)
[27*x**2 + 171*x/10 + 37/10, x**2 - x/10]
sage: a,b = _
sage: a
27*x**2 + 171*x/10 + 37/10
sage: type(a)
<class 'sympy.core.add.Add'>
sage: a = R(SR(a))
sage: b = R(SR(b))
sage: a
27*x^2 + 171/10*x + 37/10
sage: a.parent()
Univariate Polynomial Ring in x over Rational Field
sage: a(b) == f
True
```

Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.