Dear SymPy list.
I'm playing around with polynomials in the context of spline curves.
I want to use a cubic polynomial with yet unknown coefficients like this:
>>> import sympy as sp
>>> t, a0, a1, a2, a3 = sp.symbols('t, a:4', real=True)
>>> a3 * t**3 + a2 * t**2 + a1 * t + a0
a0 + a1*t + a2*t**2 + a3*t**3
The problem here is that the displayed order of terms is reversed,
normally the highest power of t should come first.
I guess this is because SymPy doesn't know that the coefficients a0
etc. are constants and shouldn't be treated like variables.
So in fact this polynomial isn't sorted by powers of t but instead by
Is there a way to get around this?
At some later point, I have expressions like this (without t):
a1 + 2*a2 + 3*a3
It would make sense in my case to also display them reversed like this:
3*a3 + 2*a2 + a1
Is it possible to create a new type of symbol with non-default ordering?
Is it possible to define that this order is "ascending": a3, a2, a1, a0?
It doesn't have to be a generic solution, I'm OK with having those 4
Or is there an entirely different and much better way to do this?
I know that I could just use a, b, c, d instead of a3, a2, a1, a0 and
it would work, but I would really like to see the connection between a
coefficient and its power of t.
For the record, I also quickly tried to use IndexedBase to get a3, a2,
a1 and a0, and it turns out that although the LaTeX display of the
symbols looks the same (in text mode it's different), they are sorted
>>> b = sp.IndexedBase('b')
>>> b * t**3 + b * t**2 + b * t + b
t**3*b + t**2*b + t*b + b
They are sorted after the powers of t, which isn't what I want, either.
You received this message because you are subscribed to the Google Groups
To unsubscribe from this group and stop receiving emails from it, send an email
To post to this group, send email to email@example.com.
Visit this group at https://groups.google.com/group/sympy.
To view this discussion on the web visit
For more options, visit https://groups.google.com/d/optout.