We have closed the bug report ID: 1119228 limit(1/zeroa) and added some
more functionality for zeroa and zerob. In addition we have the bug
report ID: 788892 "zeroa handled inconsistently".
I think because of the last extensions to Maxima to handle zeroa and
zerob and the introduction of a simp-domain-error we might now have a
useful application of zeroa and zerob for the user.
For the special value 0 the function expintegral_ei gives a Maxima
error:
(%i27) expintegral_ei(0);
expintegral_ei: expintegral_ei(0) is undefined.
-- an error. To debug this try debugmode(true);
We can use zeroa or zerob to represent the function at this special
value:
(%i28) expintegral_ei(zeroa);
(%o28) expintegral_ei(zeroa)
We can evaluate the function with limit and get no error:
(%i29) limit(%);
(%o29) minf
Thus, we have a shortcut for limit(expintegral_ei(x),x,0).
Here is a second example with a special value at 1:
(%i32) inverse_erf(1);
inverse_erf: inverse_erf(1) is undefined.
-- an error. To debug this try debugmode(true);
(%i33) inverse_erf(1-zeroa);
(%o33) inverse_erf(1-zeroa)
(%i34) limit(%);
(%o34) inf
This does not work for the standard functions:
(%i59) cot(0);
The number 0 isn't in the domain of cot
-- an error. To debug this try debugmode(true);
(%i60) cot(zeroa);
(%o60) cot(zeroa)
Now we call limit to simplify the expression and get again a
domain-error:
(%i61) limit(%);
The number 0 isn't in the domain of cot
-- an error. To debug this try debugmode(true);
The reason is that the last extension to Maxima to use a
simp-domain-error function is not implemented for the standard
functions.
Dieter Kaiser