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] *)

(* 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?

1 Answer 1


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
   BesselK[0, z] -
   MeijerG[{{1/2, 1/2}, {}}, {{0, 0, 1/2, 1/2}, {}}, z/2, 1/2]/(2 π^2)

(The last version I used, version 8, was unable to do this, if memory serves.)

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.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.