2

The output of

Reduce[x/Sin[x] == x]

is

(C[1] \[Element] Integers && x == \[Pi]/2 + 2 \[Pi] C[1]) || x == 0

but x cannot be 0. Is this a bug?

user64494
  • 26,149
  • 4
  • 27
  • 56
zzy
  • 319
  • 1
  • 6
  • if you do Reduce[x/Sin[x] == x, Reals] then it does not give x=0 (the default is complex domain). the question remains if $x=0$ is correct in the complex plane. I have to look up my complex variables book. Mathematica graphics – Nasser Feb 23 '23 at 15:54
  • 1
    0 is not a good result here although it is fine for the near-equivalent x=x*sin(x). Buglet, I guess. – Daniel Lichtblau Feb 23 '23 at 16:05
  • 1
    It's wrong. Odd, since it does Reduce[x/y == x] and the follow-up Reduce[Reduce[x/y == x] /. y -> Sin[x]] correctly. – Michael E2 Feb 23 '23 at 16:16
  • Oh, I think my example is misleading because x/Sin[x] automatically becomes x*Csc[x]. – Michael E2 Feb 23 '23 at 16:19
  • Reduce[ Sin[x]/x == 1/x] (*C[1] \[Element] Integers && x == \[Pi]/2 + 2 \[Pi] C[1]*) gives correct result too – Ulrich Neumann Feb 23 '23 at 16:19
  • In Mathematica 13.0.1 Input Reduce[x/Sin[x] == x, x] yields a correct result. I guess that the equation in Reduce should be supplemented with FunctionDomain for an appropriate function as it has been discussed in Wrong solution to a simple equation. I guess that you have found another instance of the bug present there and so this post might be considered as a duplicate. Nevertheless +1. – Artes Feb 23 '23 at 16:38

1 Answers1

2

One workaround is to a set system option:

SetSystemOptions[
  "SimplificationOptions" -> "AutosimplifyTrigs" -> False];

Reduce[x/Sin[x] == x] (* C[1] [Element] Integers && x == [Pi]/2 + 2 [Pi] C[1] *)

It does not fix the buglet with Csc[x], though:

Reduce[x*Csc[x] == x]
(*
(C[1] \[Element] Integers && x == \[Pi]/2 + 2 \[Pi] C[1]) || x == 0
*)

Simpler example:

Reduce[x*Csc[x] == 0]
(*
x == 0
*)

Similar problems with other transcendental functions (x*Log[x] == 0 and so on).

Michael E2
  • 235,386
  • 17
  • 334
  • 747
  • I have no problem in version 13.0.1, see comments below the question. +1. – Artes Feb 23 '23 at 16:46
  • 1
    More precisely in ver. 13.0.1 Reduce[x/Sin[x] == x] yelds a wrong result (similarily Reduce[x/Sin[x] == x, Complexes]) while Reduce[x/Sin[x] == x, x] yields the correct one and so does Reduce[x/Sin[x] == x, Reals]. – Artes Feb 23 '23 at 17:03
  • @Artes That's a good point, which I forgot to consider: The difference between Reduce[e] and Reduce[e,x]....When I have time, I'll try to circle back and include an explanation of it in my answer. – Michael E2 Feb 23 '23 at 19:52