# Solve: the system contains a nonreal constant

The equations I wanted to solve is as follows

neweqns=Sin[a - b] == Sin[b] + Sin[b - d] && Sin[c] + Sin[c - d] == 0 &&
Sin[a - d] + Sin[b - d] + Sin[c - d] == Sin[d] &&
Sin[a] + Sin[b] + Sin[c] + Sin[d] ==
0 && ((Sin[d] == 0 && 2 Sin[b] + Sin[c] == 0 &&
2 Sin[a] + Sin[c] == 0) || (Sin[d] == 0 && Sin[c] == 0 &&
Sin[a] + Sin[b] ==
0) || ((Sqrt[3] + 2 Sin[d] == 0 || 2 Sin[d] == Sqrt[3]) &&
Sin[c] + Sin[d] ==
0 && (Sqrt[3] + 2 Sin[b] == 0 || 2 Sin[b] == Sqrt[3]) &&
Sin[a] + Sin[b] ==
0) || ((Sqrt[3] + 2 Sin[d] == 0 || 2 Sin[d] == Sqrt[3]) &&
Sin[c] == Sin[d] && Sin[b] + Sin[d] == 0 &&
Sin[a] + Sin[d] ==
0) || ((Sin[d] == -((3 I Sqrt[5])/2) ||
Sin[d] == (3 I Sqrt[5])/2) && 3 Sin[c] + Sin[d] == 0 &&
3 Sin[b] + Sin[d] == 0 && 3 Sin[a] + Sin[d] == 0))

Reduce[neweqns && 0 <= a < 2 \[Pi] && 0 <= b < 2 \[Pi] &&
0 <= c < 2 Pi && 0 <= d < 2 Pi, {a, b, c, d},
Reals] // FullSimplify


However, I got the following error:

1. How to avoid such error and obtain the solutions?
2. Should I add constraints on constants evolved in the solving process (add terms, eliminate terms, multiply terms, etc.) to be Reals? Will this active delete something which actually are solutions?
3. What does <<1>> mean in the error information?

Thanks a lot for any suggestion!

• Since the constraints restrict all of the variables to being real, it is not necessary to restrict the domain to Reals. Just remove the domain restriction. You could alternatively use sol = Solve[neweqns && 0 <= a < 2 π && 0 <= b < 2 π && 0 <= c < 2 π &&0 <= d < 2 π, {a, b, c, d}, Method -> Reduce] // FullSimplify Feb 14, 2022 at 14:55
• @BobHanlon Thanks! When I removed Reals, it works. I am still confusing the reason.. Does domain mean the domain of all variables?
– M.K
Feb 14, 2022 at 18:15
• From the documentation for Reduce, "If dom is Reals, or a subset such as Integers or Rationals, then all constants and function values are also restricted to be real." The presence of I causes a contradiction which is what the error message indicated. Feb 14, 2022 at 18:21

Since variables are real, Sin[d] can not bei imaginary, get rid off with Simplify. In a first step solve for Sin of variables, then solve all separate solutions directly for variables.

neweqns =
Sin[a - b] == Sin[b] + Sin[b - d] && Sin[c] + Sin[c - d] == 0 &&
Sin[a - d] + Sin[b - d] + Sin[c - d] == Sin[d] &&
Sin[a] + Sin[b] + Sin[c] + Sin[d] ==
0 && ((Sin[d] == 0 && 2 Sin[b] + Sin[c] == 0 &&
2 Sin[a] + Sin[c] == 0) || (Sin[d] == 0 && Sin[c] == 0 &&
Sin[a] + Sin[b] ==
0) || ((Sqrt[3] + 2 Sin[d] == 0 || 2 Sin[d] == Sqrt[3]) &&
Sin[c] + Sin[d] ==
0 && (Sqrt[3] + 2 Sin[b] == 0 || 2 Sin[b] == Sqrt[3]) &&
Sin[a] + Sin[b] ==
0) || ((Sqrt[3] + 2 Sin[d] == 0 || 2 Sin[d] == Sqrt[3]) &&
Sin[c] == Sin[d] && Sin[b] + Sin[d] == 0 &&
Sin[a] + Sin[d] ==
0) || ((Sin[d] == -((3 I Sqrt[5])/2) ||
Sin[d] == (3 I Sqrt[5])/2) && 3 Sin[c] + Sin[d] == 0 &&
3 Sin[b] + Sin[d] == 0 && 3 Sin[a] + Sin[d] == 0));

ns = Simplify[neweqns,
0 <= a < 2 \[Pi] && 0 <= b < 2 \[Pi] && 0 <= c < 2 Pi &&
0 <= d < 2 Pi];

redsin = Reduce[ns, {Sin[a], Sin[b], Sin[c], Sin[d]}, Reals];

redsin // Length     (*   8   *)

redsin2 =
Reduce[# && 0 <= a < 2 \[Pi] && 0 <= b < 2 \[Pi] && 0 <=   c < 2 Pi &&
0 <= d < 2 Pi, {a, b, c, d}, Reals] & /@ redsin;


.

TraditionalForm[
redsin2 //.
Or -> Composition[(Column[#, Right,
Background -> {{White, LightGray}}, Frame -> All] &), List]]


solsin2 = Solve[#, {a, b, c, d}, Reals] & /@ redsin2;

(neweqns /. # &) /@ solsin2 // FullSimplify

(*   True   *)