I obtained with Mathematica some results written in terms of the error function Erfi[x].

Is there is a way to transform the error function into other special functions e.g. Bessel functions or others?

I wonder if it can be done with Mathematica. Any suggestions are welcome.

U= Erfi[((1/2 + I/2) (R - z))/Sqrt[k R]] + Erfi[((1/2 + I/2) (R - Sqrt[D^2 + z^2]))/Sqrt[k R]]

  • 3
    $\begingroup$ "The question is there is a way to transform the error function in terms of other special functions" - it can be expressed as e.g. an incomplete gamma function or a Kummer hypergeometric function, among other possible representations. Otherwise, NO. $\endgroup$ Commented Sep 11, 2020 at 7:50
  • 3
    $\begingroup$ What is the motivation of doing so? $\endgroup$
    – yarchik
    Commented Sep 11, 2020 at 9:31
  • 1
    $\begingroup$ Provide Mathematica expressions which returned the formula in the question. I guess there must be some misunderstanding since D is a function of the system. $\endgroup$
    – Artes
    Commented Sep 11, 2020 at 16:45

2 Answers 2


There are many identities reminding one in the question (unclear what kind of relation has been intended), e.g. expressing FresnelS in terms of Erfi

FullSimplify[-1/4 (1 + I)( Erfi[(1 + I)Sqrt[Pi]z/2]- I Erfi[(1 - I)Sqrt[Pi]z/2])]

Let's demonstrate other relations:

FullSimplify[{-1/4 (1+I)(I  Erfi[(1+I)Sqrt[Pi]z/2]- Erfi[(1-I)Sqrt[Pi]z/2]),
              -(Sqrt[-z^2]/z) - (z/Sqrt[Pi]) ExpIntegralE[1/2, -z^2],
              (z/Sqrt[-z^2])(1 - (E^z^2/Sqrt[Pi])HypergeometricU[1/2, 1/2, -z^2])

Such identities can be found exploiting MathematicalFunctionData and MathematicalFunction (the latter new in version 12), nontheless one can start with


enter image description here


enter image description here enter image description here

as well as


enter image description here

enter image description here

A convenient way of exploring mathematical data involves Manipulate, e.g.

Manipulate[ Entity["MathematicalFunction","Erfi"][z], 
            {z, Entity["MathematicalFunction","Erfi"]["Properties"]}]

various items of the following can yield other identities:


enter image description here

  • 1
    $\begingroup$ No one of the above functions is an elementary function. I think it is impossible to reduce the Erfi function to elementary functions. $\endgroup$
    – user64494
    Commented Sep 11, 2020 at 16:14
U = Erfi[((1/2 + I/2) (R - z))/Sqrt[k R]] + 
   Erfi[((1/2 + I/2) (R - Sqrt[D^2 + z^2]))/Sqrt[k R]];

Use ComplexityFunction to penalize the use of Erfi

U2 = FullSimplify[U, 
  ComplexityFunction -> (LeafCount[#] + 
      1000 Count[#, _Erfi, {0, Infinity}] &)]

(* (1 + I) (FresnelC[(R - z)/(Sqrt[π] Sqrt[k R])] + 
   FresnelC[(R - Sqrt[D^2 + z^2])/(Sqrt[π] Sqrt[k R])] + 
   I (FresnelS[(R - z)/(Sqrt[π] Sqrt[k R])] + 
      FresnelS[(R - Sqrt[D^2 + z^2])/(Sqrt[π] Sqrt[k R])])) *)

The expressions are equivalent

U == U2 // FullSimplify

(* True *)

However, you now have four special functions rather than two.

  • $\begingroup$ The OP has yet to respond, but this might be close to what is wanted, since at least the Fresnel integrals all take real arguments, even if the coefficients are complex. $\endgroup$ Commented Sep 12, 2020 at 5:56

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.