mmamathes
(Bill Blair)
February 17, 2026, 12:55am
1
When solving the following trigonometric equation, the solution set obtained is:
Solve[{5 (Sin[5 x + \[Phi]] - Sin[x]) == 0,
0 <= \[Phi] <= 2 \[Pi]}, x, Reals]
How to further simplify and combine solution sets of trigonometric equations to obtain the following solution form?
{{x -> ConditionalExpression[
1/6 (\[Pi] - \[Phi] +
2 \[Pi] ConditionalExpression[1, \[Placeholder]]),
ConditionalExpression[1, \[Placeholder]] \[Element] Integers &&
0 <= \[Phi] <= 2 \[Pi]]}, {x ->
ConditionalExpression[
1/4 (-\[Phi] + 2 \[Pi] ConditionalExpression[1, \[Placeholder]]),
ConditionalExpression[1, \[Placeholder]] \[Element] Integers &&
0 <= \[Phi] <= 2 \[Pi]]}}
mmamathes
(Bill Blair)
February 20, 2026, 11:55am
2
Is there no solution to this problem?
A simpler situation where this problem arises is for
Solve[Sin[x] == 0, x]
where Mathematica lists the odd and the even multiples of Pi separately. I don’t know how to merge them.
Somehow, I would expect the following to give True, but it does not:
first = Or[Element[x/2, Integers],
Element[(x - 1)/2, Integers]];
second = Element[x, Integers];
Reduce[Equivalent[first, second], x, Reals]
mroge02
(Michael Rogers)
February 21, 2026, 3:27am
4
I don’t know a good way either, but maybe this can give you ideas:
Replace[FactorList[5 (Sin[5 x + \[Phi]] - Sin[x]), Trig -> True], {f_, _} :>
Solve[TrigReduce[f^2] == 0 /. 1 + Cos[q_] :> 1 - Cos[q + Hold[Pi]], x,
Reals], 1] // ReleaseHold // Apply@Join
(*
{{x -> ConditionalExpression[-(\[Phi]/4) + (Pi*C[1])/2,
Element[C[1], Integers]]},
{x -> ConditionalExpression[-(Pi/6) - \[Phi]/6 + (Pi*C[1])/3,
Element[C[1], Integers]]}}
*)
It’s difficult to combine sequences in the original result, since the instances of C[1] are really independent variables. Then there are oddities like this:
Solve[{Cos[x] == 1}, x, Reals]
(*
{{x -> ConditionalExpression[2*Pi*C[1], Element[C[1], Integers]]}}
*)
Solve[{Cos[x] == -1}, x, Reals]
(*
{{x -> ConditionalExpression[-Pi + 2*Pi*C[1],
Element[C[1], Integers]]},
{x -> ConditionalExpression[Pi + 2*Pi*C[1],
Element[C[1], Integers]]}}
*)
The Hold[Pi] in my code gets around the problem with the last example.