Sorry to interfere. What about this:
kill(x,t,n)$
pw(t,n):=block(
if t=x then L:endcons(n-2,L),
x^(n-2)
)$
p:3*x^2-4*x^3-5*x^11+7*x+1;
p:subst(pw,"^",expand(x^2*p))$
L:[]$
''p$
L;
17.04.2013 0:40, Stavros Macrakis ?????:
> How can I get the coefficients of a polynomial in x?
>
> Clearly I first put into into CRE form with main variable x:
>
> poly: rat(input_poly,x)$
>
> Then what? The internal form of the CRE lets you just "read off" the
> coefficients at this point, but I can't think of any Maxima function
> that lets you access that.
>
> I can loop like this:
>
> coefs(p,v):=block([l:[]],while p # 0 do
> (l:cons(r:ratcoef(p,v,0),l),p:(p-r)/v),l)
>
> but that seems like an awful lot of work (/n/ polynomial divisions). It
> also isn't very efficient for sparse polynomials like x^20000. You
> could do similar things with bothcoef or ratcoef, but again you end up
> building /n/ intermediate polynomials as you remove terms.
>
> You might think you could use ratcoef for i:0../n/, but how do you
> determine /n/? hipow is inefficient in that it converts the expression
> into general representation first (!).
>
> Am I missing some obvious solution, or do we need to add rat_hipow and
> rat_coeffs or something?
>
> rat_hipow(x^3+a*x+1,x) => 3
> rat_coeffs(x^3+a*x+1,x) => [[3,1],[1,a],[0,1]]
>
> Edge cases to think about: CREs with negative powers, cf.
> ratcoef(1/x^3,x,-3) => 1, ratcoef(a/(b-x),x,-5) => -a*b^4, etc.
>
> -s
>
>
>
> _______________________________________________
> Maxima mailing list
> Maxima at math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima
>