For the following, the call to asksign for limit(x*a,x,inf) is correct, but there should similarly be a call to asksign for limit(x*log(a),x,inf) too:
(%i1) limit(x*a,x,inf);
Is a positive, negative or zero?
p;
(%o1) inf
(%i2) limit(x*log(a),x,inf);
(%o2) infinity
Fix coming soon. Claude spotted another bug along the way:
asksign(log(a))answered zero recordsequal(a,0)instead ofequal(a,1). I haven't verified.Possibly related:
The first call to
simplimexptexits non-locally because*getsignl-asksign-ok*is false so the limit code cannot callasksign.The remaining calls to
simplimexpthave a last argument ofinfinity. That's wrong--there should have been an asksign called onlog(x).Yes, related, and also fixed by what I'll commit.
And possibly related to bug 4994 ( https://sourceforge.net/p/maxima/bugs/4994/ ) as well.
The function
limit-method-reciprocal-limit-pointhas a defect--it changes the limit point, but it doesn't update the fact database with the proper assumptions for the new limit point. I don't think this defect is involved--I have a fix for it.Yes, also related, and after the commit I'll be making, the sum asks again.
Claude found a ton of other bugs in limit/sign code that prevented a proper fix of this one, I'll try to fix them all in one go.
Worse examples of the same "family":
My proposal to fix
limit-method-reciprocal-limit-point:Is this fix targeted at any particular bug? It doesn't seem to fix those reported in this ticket. Also,
*small-positive-number*isn't defined, so I defined it as1/*large-positive-number*for testing. There were some facts leaking - the guard at the end of many test files was triggered.It is not targeted at any particular bug. I now see the leaked facts too--not sure what is going on--I will look into that.
This constellation of bugs is fixed, so I think you can close the ticket.
It's not fixed here, but I'm in the process of applying fixes for all of these right now. Are you running with some local changes? With current Git head, I get all of the undesirable/wrong behaviors:
limit(x*log(a),x,inf)doesn't ask aboutaand saysinfinitylimit(a^x/x, x, inf)doesn't ask aboutaand says0limit(a^x, x, inf)doesn't ask aboutaand saysindFixed by commit [3a1bb1].
Related
Commit: [3a1bb1]