Question: I have some mathematical functions including various parameters. I want to find instances for the parameters such that the function must be in a real domain after substituting the values of parameters into the mathematical functions.

For example;

expr = 3^(1/4)*Sqrt[(I*a*b*Sqrt[d]*Sqrt[v]*Sech[(1/2)*Sqrt[a]*((-t)*v + x)]^2)/(Sqrt[a*c*\[Alpha] - 8*c*\[Kappa] + 4*c*\[Alpha]*\[Kappa]^2]*(b^2 - a*d*(1 + Tanh[(1/2)*Sqrt[a]*((-t)*v + x)])^2))]

How can we find the appropriate positive integer values of unknowns v, \[Alpha], \[Beta], \[Kappa], \[CapitalPhi] such that the following expression must be a real number? (where the independent variables x and t are real numbers.)

An example for Manual selection of the parameters:

If we select

parameters={v -> 1, \[Alpha] -> 1, \[Beta] -> 2, \[Kappa] -> 1, \[CapitalPhi] -> 2, c -> 1, a -> 2, b -> 3, d -> 1},

and expr /. parameters, we get

2^(1/4)*3^(3/4)*Sqrt[Sech[(-t + x)/Sqrt[2]]^2/(9 - 2*(1 + Tanh[(-t + x)/Sqrt[2]])^2)]

How can we achieve this in Mathematica 13.2?

In my opinion,

Step.1: firstly we will find the terms including square roots in expr.

Step.2: And we will create conditions such that the inside of the roots should be equal or greater than zero.

Step.3: And lastly, we will use FindInstance such that the conditions hold.


1 Answer 1


Try FunctionDomain:

FunctionDomain[ {
Sqrt[-((I*Sqrt[v]*Sech[((-t)*v + x)*Sqrt[a]]*a*Sqrt[c])/(Sqrt[-8*\[Kappa]*c +4*\[Alpha]*\[Kappa]^2*c + \[Alpha]*c*a]*((-Sech[((-t)*v + x)*Sqrt[a]])*b + Sqrt[c^2 - 4*a*b])))], 
Element[{a, b, c, v, \[Alpha], \[Kappa]}, Integers]},
{a, b, c,v, \[Alpha], \[Kappa]}, Reals ]

Unfortunately result is False, Mathematica cannot find an instance!

  • $\begingroup$ Thank you. I have edited the post. $\endgroup$
    – RF_1
    Commented Apr 12, 2023 at 8:18

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.