# How plot the domain of multivariable function? [closed]

I want to get and plot the domain of the following function with mathematica : $$Arccos(xy)$$

Any idea ?

• You might want to look at FunctionDomain as in FunctionDomain[ArcCos[x*y], {x, y}, Reals] Commented Sep 5, 2021 at 22:14
• how solve the inequality $-1<=xy<=1$. I know that the domain is between the two hyperbole (1/x and -1/x) but I dont understand how we find this Commented Sep 5, 2021 at 22:28

Clear["Global*"]

f[x_, y_] = ArcCos[x*y];

fd = FunctionDomain[f[x, y], {x, y}, Reals]

(* -1 <= x y <= 1 *)

RegionPlot[fd, {x, -5, 5}, {y, -5, 5},
PlotPoints -> 50,
MaxRecursion -> 5,
FrameLabel -> Automatic]


Plot3D[f[x, y], {x, -5, 5}, {y, -5, 5},
ViewPoint -> {0, 0, Infinity},
AxesLabel -> Automatic]


ContourPlot[x*y, {x, -5, 5}, {y, -5, 5},
Contours -> {-1, 1},
FrameLabel -> Automatic]


DensityPlot[f[x, y], {x, -5, 5}, {y, -5, 5},
FrameLabel -> Automatic]


• Thank you for your help. Great answer ! Commented Sep 6, 2021 at 8:39

Reduce also does the job.

Clear["Global*"]

f[x_, y_] = ArcCos[x*y];

red = Reduce[f[x, y] \[Element] Reals, {x, y}, Reals]

RegionPlot[red, {x, -5, 5}, {y, -5, 5}, PlotPoints -> 50,
MaxRecursion -> 5, FrameLabel -> Automatic]

(*   (x < 0 && 1/x <= y <= -(1/x)) ||
x == 0 ||
(x > 0 && -(1/x) <= y <= 1/x)   *)