From: Rainer S. <rai...@gm...> - 2014-08-21 18:43:09
|
On Wed, 20 Aug 2014 at 16:35 -0400, Kostas Oikonomou wrote: > I am in the process of porting some code I wrote in maxima to Reduce, > and I am encountering a few issues. > They are rather disjoint, but I'm collecting them all here so that I > don't write multiple emails to the list. > > 1. My Gnuplot installation has a "qt" terminal available. It is quite a > bit nicer than the "wxt" terminal, e.g. you can export the picture to a > file right from a menu, and, needless to say, much nicer than the > default "x11". I can specify "qt" as the terminal in individual plots, > but I can't make it the default. Saying > > gnuplot(set, terminal, "qt") > > apparently has no effect. How does one set a terminal type as the > default in Reduce? Not easily. You may use the plotheader!* variable to store a list of strings that are passed to gnuplot before everything else. It wouldn't be difficult to add some simple interface for default options; I'll put that on the todo list. > 2. I am using the incomplete gamma and incomplete beta functions. > > a) The documentation in packages/specfn/specfn.tex lists the names of > these functions as iGamma, iBeta, whereas the names by which Reduce > knows them are "igamma" and "ibeta". Names of other functions are also > capitalized, e.g. Gamma, whereas Reduce knows them in lower case. Actually, all input is converted to lowercase so that it doesn't matter. There are various places in the Reduce sources where the same identifier is written differently with respect to uppercase/lowercase. In addition, the manual is woefully inconsistent in that respect. I guess we need to decide how to handle uppercase/lowercase in future. > b) In alg/spcfnint.red there is a typo in df(igamma). Corrected, thanks. > c) It would be useful to have an integration rule for igamma, like the > following: > > let {int(~x^~a * e^(-~x),~x,0,~c) => igamma(a+1,c)} when a > 0 I think this is wrong by a factor of gamma(a), as igamma is the normalized incomplete gamma function (usually called P(a,x), see http://dlmf.nist.gov/8.2). I will check. > Could this be added somewhere? There is also an "m_gamma" in > spcfnint.red, and I don't know if it is relevant. m_gamma is one of the usual incomplete gamma functions, namely m_gamma(a,x) = gamma(a)*igamma(a,x); I'm not very happy with that notation, but I'm even less happy with the idea of changing it now. Note that Maxima's gamma_incomplete is another beast, namely gamma(a)-m_gamma(a,x) in Reduce notation, and Maxima's gamma_incomplete_regularized is therefore Reduce's 1-igamma. > 3. A comment on documentation in general. Quality of documentation > makes a big impression on new users. Are there any plans to update the > r38 manual? It seems that individual .tex files in packages, like > specfn.tex, are more recent. But they are all written as individual > LaTeX documents, and some effort would be needed to put them all > together in one manual as chapters. And even these individual > documents/chapters may need some updating, as noted above. Then there > are newly-added packages such as listvecops ... As I wrote before, I'm updating the manual in doc/manual, adding package descriptions and hyperlinks. The documentation of limits, specfn2 and taylor is already there, the other packages will follow. Rainer |