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.