Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Display polynomials in reverse order in SageMath

So I would like to print polynomials in one variable (s) with one parameter (a), say

a·s^3 − s^2 - a^2·s − a + 1.

Sage always displays it with decreasing degree, and I would like to get something like

1 - a - a^2·s - s^2 + a·s^3

to export it to LaTeX. I can't figure out how to do this... Thanks in advance.

like image 847
iipr Avatar asked Oct 14 '25 14:10

iipr


1 Answers

As an alternative to string manipulation, one can use the series expansion.

F = a*s^3 - s^2 - a^2*s - a + 1
F.series(s, F.degree(s)+1)

returns

(-a + 1) + (-a^2)*s + (-1)*s^2 + (a)*s^3

which appears to be what you wanted, save for some redundant parentheses.

This works because (a) a power series is ordered from lowest to highest coefficients; (b) making the order of remainder greater than the degree of the polynomial ensures that the series is just the polynomial itself.


Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!