[Maxima] Feature request
sen1 at math.msu.edu
Mon Apr 21 12:32:21 CDT 2008
Richard Hennessy wrote:
> I wanted something like this so thanks. The only thing is the degree of the polynomials. I used the quadratic case as an example but really the reason I asked about this is that I have a power series in x and y and I needed to keep a lot of terms for accuracy. In one case to get sufficient accuracy I used 500 terms.
> ------------Original Message------------
> From: Harald Geyer <harald at lefant.net>
> To: "Richard Hennessy" <rvh2007 at comcast.net>
> Cc: "Maxima List" <maxima at math.utexas.edu>
> Date: Mon, Apr-21-2008 12:01 PM
> Subject: Re: [Maxima] Feature request
> Hi Richard.
>> I would really like it if you could have some control over the order
>> of terms in a polynomial by using some external package which could be
>> loaded when needed.
> I don't think that needs an extra package. All you need to do is keep
> the core simplifier from reordering terms. Perhaps the following
> is able to give you some ideas, how to do that. The important
> part ist the "simp:false" statement - but be careful, maxima heavily
> depends on it's core simplifier...
> myprint(expr, pred):=block([simp:false],
> print(apply("+", sort(subst("[", "+", expr), pred))));
> (%i31) expr:y+x^2+x+b+a;
> (%i32) myprint(expr, lambda([u,v], orderlessp(u,v)))$
> (%i33) myprint(expr, lambda([u,v], orderlessp(v,u)))$
> (%o34) mypred(x,y):=if atom(x) and not atom(y) then true
> else (if not atom(x) and atom(y) then false
> else orderlessp(x,y))
> (%i35) myprint(expr, mypred)$
> Of course you can invent any other predicate you like...
> Maxima mailing list
> Maxima at math.utexas.edu
You can get the terms of order n easily as follows:
I will suppress the outputs since the exponents get shifted in the 'cut
Try the following commands.
(%i12) p: a*x^2 + b*y^2 + d*x*y + e*x + f*y + g;
(%i13) t1: taylor(p,[x,y],0,2);
(%i14) p1: taylor(x*exp(x+y),[x,y],0,5);
More information about the Maxima