Subject: Maxima by Example: Chapter 1 total rewrite
From: Edwin Woollett
Date: Wed, 15 Jul 2009 10:48:38 -0700
On July 14, 2009, Dieter Kaiser wrote:
-----------------------------------------------
> Am Samstag, den 11.07.2009, 14:17 -0700 schrieb Edwin Woollett:
>> Maxima by Example, Chapter 1, Introduction to Maxima
>> now has "More Bounce per Ounce".
>>
>> Chapter 1 has been completely restructured, rewritten, and
>> retitled in order to provide a better introduction to this series of
>> notes.
>
> Hello Edwin,
>
> I have started to have a look at at your introduction. It is a very nice
> work.
>
> Some first comments:
>
> 1. chapter 1.8.1 page 21:
>
> Chapter 1.8.1 page 21 you give a description of the function apropos.
> This function has changed in the recent CVS. The modified function will
> be part of the next release. The function apropos did not give the
> desired information. The manual says that apropos searches for names
> which have a text foo appearing anywhere in a Maxima symbol. That is not
> true. You get only symbols which start with foo or have the text $foo in
> it. Have a look at your example and you can see this behavior.
>
> The modified version of apropos gives:
>
> (%i2) apropos("exp");
> (%o2) [askexp, auto_mexpr, besselexpand, beta_expand, cfexpand, comexp,
> domxexpt, dotexptsimp, errexp, errexp1, errexp2, errexp3, exp, expand,
> expandwrt, expandwrt_denom, expandwrt_factored, expandwrt_nonrat,
> expansion,
> expint, expintegral_chi, expintegral_ci, expintegral_e, expintegral_e1,
> expintegral_ei, expintegral_hyp, expintegral_li, expintegral_shi,
> expintegral_si, expintegral_trig, expintexpand, expintrep, explicit,
> explose,
> expon, exponentialize, expop, expr, expt, exptdispflag, exptisolate,
> exptsubst, Expt, facexpand, factorial_expand, gamma_expand, logexpand,
> macroexpand, macroexpand1, macroexpansion, matrixexp, poisexpt,
> psexpand,
> radexpand, ratexpand, ratsimpexpons, sexplode, solveexplicit,
> sumexpand,
> taylor_logexpand, texput, trigexpand, trigexpandplus, trigexpandtimes,
> tr_exponent, tr_warn_fexpr, exp]
>
> A further change is that a string has to be passed to the function
> apropos.
----------------------------------
Thanks, Dieter, for the information about apropos. I will modify
the ch. 1 description as the changes become effective.
---------------------------------------------
>
> 2. page 23, Property evflag
>
> I never used the Maxima function properties. I see that we get seven
> times the output "transfun" for e.g. the Maxima function float. I think
> this information is not very useful. I have will a look at it.
---------------------------------------------
This repeated "transfun" item in the list returned by properties has always
astonished me, particularly since there is no (?) mention of the transfun
property in the manual documentation.
----------------------------------------------
>
> 3. page 24, property evfun
>
> You have stated that the functions rat and trigsimp do not have the
> evfun property. Perhaps the property evfun (and evflag) is not
> implemented very consistently. I will have a look it.
>
> 4. page 33, chapter 1.8.9
>
> You have shown the following problem:
>
> (%i23) ie:integrate(x/(x^3+1),x);
> (%o23) log(x^2-x+1)/6+atan((2*x-1)/sqrt(3))/sqrt(3)-log(x+1)/3
> (%i24) ratdiff(%,x);
> `ratdiff' variable is embedded in kernel
> -- an error. To debug this try debugmode(true);
>
> ratdiff can not handle the equation, but the message should be not an
> obscure error message. Again a problem we have to look at.
>
------------------------------------
Thanks for your concern. A sign of a possibly intelligent machine
might well be intelligent error messages.
-------------------------------------
> 5. page 35, gamma_incomplete
>
> You have demonstrated two problems of the Incomplete Gamma function:
>
> a) The bigfloat evaluation does not simplify immediately to a simple
> real or complex number.
>
> b) The accuracy for the values gamma_incomplete(1/3,-8) and
> gamma_incomplete(1/3,-8) is not very good.
>
> The numerical algorithm of the Incomplete Gamma function is a bit tricky
> and complex. Furthermore, it is difficult to get high precision over a
> wide range of arguments. On the other side the bigfloat algorithm
> converge to every desired precision. I will have a look at the
> algorithm. Perhaps we can improve the accuracy.
>
> Dieter Kaiser
>
-----------------------------------------------
Thanks for your awesome work on the innards of Maxima.
Ted