# Using FunctionExpand to evaluate symbolic derivatives

Some symbolic derivatives of certain special functions are not expanded automatically, but FunctionExpand often helps to get a derivative-free closed form expression.

Derivative[1, 0][BesselJ][0, 1]
(* Derivative[1, 0][BesselJ][0, 1] *)

FunctionExpand[%]
(* 1/2 π BesselY[0, x] *)


But for some functions, it takes too much time to evaluate. Possibly, there is even an infinite loop. For example, I left the following expression to evaluate overnight, and it was still running in the morning without any result or messages:

FunctionExpand[Derivative[1, 0][StruveL][0, 1]]


• Is there a workaround that could get an expanded form of the expression Derivative[1, 0][StruveL][0, 1] in reasonable time?
• Is there an infinite-loop bug in the implementation of FunctionExpand or do I just have to wait longer for the results (weeks, months, ...)?
• Is there any public information about what approaches are used by FunctionExpand to expand derivatives?
-
See Low-order differentiation here functions.wolfram.com/NB/StruveH.nb – Dr. belisarius Nov 19 '13 at 1:07

It seems the current version (10.3) is now aware of the Meijer $G$ expressions for the order derivatives (see this math.SE answer as well):
Derivative[1, 0][StruveL][0, z] // FunctionExpand

Nevertheless, FunctionExpand[Derivative[1, 0][StruveL][0, 1]] still takes a ridiculous amount of time (certainly longer than the purely symbolic version); I'm not sure if this is a bug.