|
From: Rainer S. <rai...@gm...> - 2012-11-10 17:29:13
|
In a freshly started Reduce: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> let int(gamma(~~a+~~b*~x)^~n*polyGamma(0,~~a+~~b*~x),x) => gamma(a+b*x)^n/(b*n); ***** positive numeric value or `RESET' required ***** module sfpsi of package sfgamma cannot be loaded <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< What happens here is that the sfgamma package is autoloaded while the above rule is being processed. The toplevel code of the sfgamma package does algebraic mode assignments, which do not work while a rule is being defined. Possible solutions: 1. Rewrite the sfgamma package to eliminate dangerous assignments at load time. 2. Define the gamma function and its friends as operators in the Reduce core, load sfgamma only when computations with gamma, etc. are done. I think it would be better to define all the special operators from the specfn and sfgamma packages in the core. Another case are si and ci, which are defined when either specfn or int is loaded. Rainer |