Subject: Implicit: Taylor, Poiseux and Newton's diagram
From: Barton Willis
Date: Fri, 1 Jun 2012 00:26:54 +0000
A few suggestions:
(a) instead of returning und for bad input, consider using the function 'error' to print a message and stop the calculation. Returning 'und' can cause problems if the calculation
continues---sadly, Maxima does 0 * und = 0, for example.
(b) consider changing tests for equality from "=" to equal. The "=" test checks for exact equality--the equal test tries to be somewhat smarter. Also, consider changing "#" to
notequal. In an if clause, I think equal(a,b) is OK---maybe it needs to be is(equal(a,b)) = true....maybe somebody else can comment on that.
(c) instead of using ev, try subst--maybe something like
D: subst(map("=",X,A), diff(F,last(X))),
instead of
diff(F,last(X)),
D:apply(ev,cons(%%,map("=",X,A))),
Unlike ev, the function subst has clear and simple semantics.
(d) consider using the 'some' function---maybe replace apply(ev,cons(F,map("=",X,A)))#makelist(0,d) with something like
if some(lambda([s], is(notequal(s,0))), subst(map("=",X,A), F)).
Thanks for the contribution---getting started is always challenging. Hope I was able to help somewhat. A good place for code such as this is
http://sourceforge.net/apps/phpbb/maxima/ .
--Barton
________________________________________
From: maxima-bounces at math.utexas.edu [maxima-bounces at math.utexas.edu] on behalf of Evgeniy Maevskiy [emaevskiy at e-math.ru]
Sent: Thursday, May 31, 2012 15:25
To: maxima at math.utexas.edu
Subject: Implicit: Taylor, Poiseux and Newton's diagram
Good day for all.
I wrote a few functions on the asymptotic expansion of implicit
functions. I would be very interested to hear your opinion about my work:
1) how correctly my functions works;
2) whether they can be optimized and accelerated.
If these functions can be useful, then where and how I can put them for
public use?
Evgeniy