# Solving a polynomial equation involving gamma function

I am trying to solve an equation having degenerate limit of Fermi-Dirac integral.

My code basically is

ClearAll["Global*"]
FD1[d_, η_] := η^(d + 1)/
Gamma[d + 2] ;  (* Defining the Fermi-Dirac integrals in degenerate *)

Solve[FD1[(d-2)/2, ηs] + FD1[(d-2)/2, ηs - vd] ==
2 FD1[(d-2)/2, η0], {ηs}]


I want to solve for $$\eta_S$$ in terms of $$\eta_0$$ and $$v_d$$. Is it possible to solve it using this method? (And maybe expand the solution in terms of $$vd$$ as $$vd$$ is small and we can only pick the first few terms)

## 1 Answer

I would recommend using the new in M12 function AsymptoticSolve for this. Your equation:

eqn = FD1[(d-2)/2, ηs] + FD1[(d-2)/2, ηs - vd] == 2 FD1[(d-2)/2, η0];


We need to find the zeroth order approximation of ηs when vd is small:

Simplify[Solve[eqn /. vd -> 0], (η0 | vd) ∈ Reals]


{{ηs -> η0}}

Now, use AsymptoticSolve:

AsymptoticSolve[eqn, {ηs, η0}, {vd, 0, 5}]


{{ηs -> vd/2 + ((-6 + d) (-2 + d) (-1 + d) vd^4)/( 1536 η0^3) + ((2 - d) vd^2)/(16 η0) + η0}}

Addendum

If you have an earlier version of Mathematica, so that you don't have access to AsymptoticSolve, you could try using the cloud instead. For example, define:

asymptoticSolve[args__] := CloudEvaluate[SystemAsymptoticSolve[args]]


Then use asymptoticSolve instead of AsymptoticSolve.

• Thanks a lot, thats really helpful. I don't have M12 so I cannot use AsymptoticSolve. Is there any other similar function in previous versions? – Indeterminate Sep 12 '19 at 15:59
• @Indeterminate What does CloudEvaluate[\$VersionNumber] return for you? – Carl Woll Sep 12 '19 at 16:01
• It returns 12. But somehow, AsymptoticSolve doesn't work. – Indeterminate Sep 12 '19 at 16:03
• @Indeterminate See update. – Carl Woll Sep 12 '19 at 16:08
• Thanks a lot. It works. – Indeterminate Sep 12 '19 at 16:10