Martin Rubey wrote: > Waldek Hebisch <[EMAIL PROTECTED]> writes: > > > > But the behaviour is consistent for Gamma, Bessel and Polygamma. It is > > > not > > > difficult to change this behaviour to leaving the derivative unevaluated, > > > but I'm not sure whether that would really be better. If you are > > > absolutely sure, please let me know as soon as possible. > > > > Yes, currently we produce mathematically incorrect result. In principle > > user > > may get wrong results even if input does not contain explicit derivative. > > Oh? How is that? >
Consider something like naive test for holonomic functions: compute derivatives up to some fixed order and check for linear dependence. Such test would immediatly conclude that besselK(a, x) is holonomic as a function of a. I did not check this but I think that besselK(a, x) is not holonomic as a function of a, and certainly we would get wrong differential equation. Once you have differential equation in hand you can do a lot of transformations. Of course, currently Axiom has no support for holonomic functions. But in few places we use derivatives: changing variables in integrals, computing Laplace transforms. It is quite possible that Axiom never uses derivative of bessel function with respect to parameter. But checking this would be a substantial ongoing effort. > > Once we get better support for special functions this may be very serious > > problem. > > Probably. By the way: most (probably all) special functions would be covered > by > my favourite would-be category/domain hierarchy of differentially algebraic > functions. Then we could say something like > > polygamma(a, x)$HOLO(???) > > and get the corresponding differential equation. > Hmm, gamma and consequently also polygamma(a, x) as a function of x is differential transcendental. Also handling of non-holonomic differentially algebraic functions seem to be a research problem -- do you have some interesting results here? > > > How about polygamma? should D(polygamma(x, x), x) throw an error? I > > > guess so. > > > But if we follow you, Bessel* should leave the derivative with respect to > > > the > > > first argument - i.e., leave it unevaluated. > > > polygamma(a, x) has sensible definition also for non-integral a, so just > > leaving D(polygamma(x, x), x) unevaluated is reasonable. > > I could not find such a definition. Could you please send me such a > definition > or a reference? > >From http://mathworld.wolfram.com/PolygammaFunction.html: A special function which is given by the (n+1) st derivative of the logarithm of the gamma function Gamma(z) .... .... psi_n(z) is implemented in Mathematica as PolyGamma[n, z] for positive integer n . In fact, PolyGamma[nu, z] is supported for all complex nu (Grossman 1976; Espinosa and Moll 2004). I do not know which definition the references use, but a derivatives may be defined for fractional orders via convolution: {d \over dx}^n f = f*mu_{-n-1} where mu_l(x) = x^l/\Gamma(l+1) for x > 0 and mu_l(x) = 0 for x < 0. This definition of derivative is for non-integral n, for integral n you get normal derivative as a limit. The definition above will get function which is analytic in n. Because analytic functions have strong restictions on possible zeros other definitions are likely to give the same value. -- Waldek Hebisch [EMAIL PROTECTED] _______________________________________________ Axiom-developer mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/axiom-developer
