# Use of some functions of the Developer Utility Package, such as BesselSimplify

The Developer Utilities Package contains several functions that look interesting:

• BesselSimplify
• GammaSimplify
• PolyGammaSimplify
• ZetaSimplify
• PolyLogSimplify
• and TrigToRadicals

However for each of them the Details Section informs that they are used inside FullSimplify and FunctionExpand.

My question is: can you give examples of such a use of these functions, where, say, FullSimplify is not applicable, or not efficient, while this function is?

Yes, in some rare cases it is indeed convenient to use the individual simplification functions, even though they are used inside FullSimplify. I think the general idea is that FullSimplify may not use the desired simplification at the exact step during the simplification where you want it to be used. This (probably) happens when the expression has so many leaves (i.e., sub-parts) that FullSimplify doesn't get to the desired order of simplifications before finding a locally optimal simplification.

Here is an example for DeveloperGammaSimplify, boiled down from a real calculation I did:

FullSimplify[((1/ Gamma[1 - n + ℓ] + ((-(1/n))^(-1 + n - ℓ))
Gamma[1 + n + ℓ]) Gamma[1 + n + ℓ])/Gamma[n - ℓ]]

(*
==> ((-(1/n))^(-1 + n - ℓ) + Gamma[1 + n + ℓ]/
Gamma[1 - n + ℓ])/Gamma[n - ℓ]
*)


The Gamma functions have not been combined in the right-hand term. This is because of the additional sub-parts of the numerator.

If I want the simplification to go further, I have to focus on the Gamma simplification explicitly:

DeveloperGammaSimplify[((1/ Gamma[1 - n + ℓ] + ((-(1/n))^(-1 + n - ℓ)) /
Gamma[1 + n + ℓ]) Gamma[1 + n + ℓ])/ Gamma[n - ℓ]]

(*
==> (-(1/n))^(-1 + n - ℓ)/Gamma[n - ℓ] + (
Gamma[1 + n + ℓ] Sin[n Pi - Pi ℓ])/Pi
*)


Now the second term was also simplified, even though I started with the same expression.