# Controlling the simplification of special functions

I evaluated the following function:

Psi[u_, t_, z_] :=
Integrate[(1 - Exp[-u s^2 - t s]) s^(-z - 1), {s, 0, Infinity},
Assumptions -> {u > 0 , t > 0 , 0 < z < 1}]


obtaining

(*  -2^z u^(z/2) Gamma[-z] HypergeometricU[-(z/2), 1/2, t^2/(4 u)] *)


Then if I specialised for the case $$z=1/2$$, obtaining the following (even after applying Simplify or FullSimplify).

Psi[u, t, 1/2]

(*
2 Sqrt[2 π] u^(1/4) HypergeometricU[-(1/4), 1/2, t^2/(4 u)]
*)


Instead, if I rewrite explicitly the same function setting $$z=1/2$$ I obtain the result stated in terms of a different special function:

Psi2[u_, t_] :=
Integrate[(1 - Exp[-u s^2 - t s]) s^(-1 - 0.5), {s, 0, Infinity},
Assumptions -> {u > 0 , t > 0 }]


obtaining

(*
2.45083 u^0.25 Hypergeometric1F1[-0.25, 0.5, t^2/(4 u)] +
(1.8128 t^1. Hypergeometric1F1[0.25, 1.5, t^2/(4 u)])/u^0.25
*)


and the result does not change even applying Simplify or FullSimplify. I thought that the results were shown in terms of the "simpler" special function for Mathematica and I do not understand why I get two different expressions.

So now I wonder if the result could be stated in terms of what are for me simpler special functions (e.g., Bessel functions). More generally, it is possible to force Mathematica to write the results in terms of another special function of interest to the user?

I am new to Mathematica so any suggestion or tutorial related to my task is very appreciated.

• Using FunctionExpand with z = 1/2 returns a result in BesselK functions. Commented Feb 20, 2018 at 19:47
• Thank you @BillWatts! I did not know this function. Are there similar functions to try in order to rewrite a result in terms of another special function? Or better does exist a general strategy to force Mathematica to display some equivalent results? Until now I find Simplify, FullSimplify, Refine and, thanks to you, FunctionExpand.
– Jim
Commented Feb 20, 2018 at 20:03
• You could look at the tutorial "Working with Special Functions" in the MMA help pages Commented Feb 20, 2018 at 21:21
• Thanks @BillWatts
– Jim
Commented Feb 20, 2018 at 21:37

The integral in the OP can be expressed as a Mellin transform:

MellinTransform[1 - Exp[-u s^2 - t s], s, -z] // Expand
1/2 t u^(-1/2 + z/2) Gamma[1/2 - z/2] Hypergeometric1F1[1/2 - z/2, 3/2, t^2/(4 u)] -
1/2 u^(z/2) Gamma[-z/2] Hypergeometric1F1[-z/2, 1/2, t^2/(4 u)]


I do not understand why I get two different expressions.

There is a relationship between the Tricomi function HypergeometricU[a, b, z] and the Kummer function Hypergeometric1F1[a, b, z] when b is not an integer:

Activate[First[
MathematicalFunctionData[Entity["MathematicalFunction", "HypergeometricU"],
"AlternativeRepresentations"]][-z/2, 1/2, t^2/(4 u)]]
HypergeometricU[-z/2, 1/2, t^2/(4 u)] ==
-((Sqrt[π] Sqrt[t^2/u] Hypergeometric1F1[1/2 - z/2, 3/2, t^2/(4 u)])/Gamma[-z/2]) +
(Sqrt[π] Hypergeometric1F1[-z/2, 1/2, t^2/(4 u)])/Gamma[1/2 - z/2]


FunctionExpand[] can then be used if one wishes an expression in terms of other functions, e.g.

MellinTransform[1 - Exp[-u s^2 - t s], s, -z] /. z -> 1/2 // FunctionExpand // Simplify
(E^(t^2/(8 u)) π (t Sqrt[t^2/u] Sqrt[u] BesselI[-1/4, t^2/(8 u)] -
(t^2 - 4 u) BesselI[1/4, t^2/(8 u)] +
t (-Sqrt[t^2/u] Sqrt[u] BesselI[3/4, t^2/(8 u)] +
t BesselI[5/4, t^2/(8 u)])))/(2 Sqrt[2] (t^2/u)^(1/4) u^(3/4))

Psi[u_, t_, z_] :=
Integrate[(1 - Exp[-u s^2 - t s]) s^(-z - 1), {s, 0, Infinity},
Assumptions -> {u > 0, t > 0, 0 < z < 1}]

Psi[u, t, 1/2]

(* 2 Sqrt[2 π] u^(1/4) HypergeometricU[-(1/4), 1/2, t^2/(4 u)] *)


The difference that you observed resulted from using 0.5 rather than 1/2

Psi[u, t, 0.5]

(* 2.45083 u^0.25 Hypergeometric1F1[-0.25, 0.5, t^2/(4 u)] + (
1.8128 t^1. Hypergeometric1F1[0.25, 1.5, t^2/(4 u)])/u^0.25 *)


The result for Psi[u, t, 0.5] is identical with Psi2[u, t]

Psi2[u_, t_] :=
Integrate[(1 - Exp[-u s^2 - t s]) s^(-1 - 0.5), {s, 0, Infinity},
Assumptions -> {u > 0, t > 0}];

Psi2[u, t] === Psi[u, t, 0.5]

(* True *)


As pointed out by Bill Watts, the HypergeometricU can be expressed in terms of BesselK

Psi3[u_, t_] =
Psi[u, t, 1/2] // FunctionExpand // FullSimplify[#, {u > 0, t > 0}] &

(* (E^(t^2/(8 u)) t^(
3/2) (BesselK[1/4, t^2/(8 u)] + BesselK[3/4, t^2/(8 u)]))/(2 Sqrt[u]) *)