# Check the existence of roots based on parameters

I have a function which has one variable $$r$$ and two parameters $$M,\lambda$$. Whether or not the function has roots, depend on the parameters $$M,\lambda$$. I want to obtain a parameter space such that the function doesn't have roots. Naively, if the function is positive (or negative but this won't happen in this context) for all $$r$$ for a given set of parameters I know that there will be no roots. I want to check this condition for a range of parameter values, and therefore obtain a parameter plot. For example, if the function had been quadratic, I could simply check the determinant. But this is not a polynomial function, and has fractional powers in $$r$$. I am providing the functions here (the precision is set at 10 digits).

f[r_] := (r^2 (-1.000000000 + 2.000000000^(-1.000000000 Sqrt[1.000000000 + 0.3593734323 (1/m)^(2/3)]) (r/m)^Sqrt[1.000000000 + 0.3593734323 (1/m)^(2/3)]) (-1.000000000 (-1.000000000 + Sqrt[1.000000000 + 0.3593734323 (1/m)^(2/3)])^2 + 2.000000000^(-1.000000000 Sqrt[1.000000000 + 0.3593734323 (1/m)^(2/3)]) (1.000000000 + Sqrt[1.000000000 + 0.3593734323 (1/m)^(2/3)])^2 (r/m)^Sqrt[1.000000000 + 0.3593734323 (1/m)^(2/3)]))/(-1.000000000 + Sqrt[1.000000000 + 0.3593734323 (1/m)^(2/3)] + 2.000000000^(-1.000000000 Sqrt[1.000000000 + 0.3593734323 (1/m)^(2/3)]) (1.000000000 + Sqrt[1.000000000 + 0.3593734323 (1/m)^(2/3)]) (r/m)^Sqrt[1.000000000 + 0.3593734323 (1/m)^(2/3)])^2 + m^2 \[Lambda]^2


Physically, the $$0 < \lambda < 1$$ and $$M > 1$$. Ideally, I would like a RegionPlot to obtain the parameter space. I am just not sure how to operationally impose the condition that the function is always positive. So far, I tried

Reduce[ForAll[r,f[r] > 0],r]


but this doesn't give me anything useful. In fact, if the plot is obtained, I would not need an analytical expression for the condition.

If you redefine f to include m and lambda

Clear[f];
f[r_, m_,
lambda_] := (r^2 (-1.000000000 +
2.000000000^(-1.000000000 Sqrt[
1.000000000 + 0.3593734323 (1/m)^(2/3)]) (r/m)^
Sqrt[1.000000000 +
0.3593734323 (1/m)^(2/3)]) (-1.000000000 (-1.000000000 +
Sqrt[1.000000000 + 0.3593734323 (1/m)^(2/3)])^2 +
2.000000000^(-1.000000000 Sqrt[
1.000000000 + 0.3593734323 (1/m)^(2/3)]) (1.000000000 +
Sqrt[1.000000000 + 0.3593734323 (1/m)^(2/3)])^2 (r/m)^
Sqrt[1.000000000 +
0.3593734323 (1/m)^(2/3)]))/(-1.000000000 +
Sqrt[1.000000000 + 0.3593734323 (1/m)^(2/3)] +
2.000000000^(-1.000000000 Sqrt[
1.000000000 + 0.3593734323 (1/m)^(2/3)]) (1.000000000 +
Sqrt[1.000000000 + 0.3593734323 (1/m)^(2/3)]) (r/m)^
Sqrt[1.000000000 + 0.3593734323 (1/m)^(2/3)])^2 + m^2 lambda^2



You can use RegionPlot3D

RegionPlot3D[
f[r, m, lambda] > 0,
{r, 0, 5},
{m, 1, 5},
{lambda, -1, 1},
AxesLabel -> Automatic
]


• Yes, however now I must explicitly give a range for $r$. And the range for $r$ over which the roots occur (when they do) depends on $M,\lambda$ so then it becomes a little difficult to make inferences from this plot. Oct 18, 2022 at 11:43
• Rereading your question, what $λ$ and $M$ have no roots given the constraints of $0<λ<1$ and $M>1$ ? Oct 19, 2022 at 14:40