3
$\begingroup$

Basic question I can't see why now.

This works

Simplify[ArcTan[Tan[x]] == x, Assumptions -> -Pi/2 < x < Pi/2]
(*True*)

But

 Reduce[ArcTan[Tan[x]] == x, x]
 (*Reduce::nsmet: This system cannot be solved with the methods available to Reduce.*)

Adding Reals domain does not help. I was expecting that Reduce return -Pi/2 < x < Pi/2. Why it did not?

V 12.3.1

$\endgroup$
3
  • 1
    $\begingroup$ It could be (quote the Possible Issues in doc) "Reduce does not solve equations that depend on branch cuts of Wolfram Language functions". $\endgroup$
    – Silvia
    Commented Nov 13, 2021 at 8:39
  • 1
    $\begingroup$ The seemingly trivial change Reduce[ArcTan[Tan[x]] == y && y == x, {x, y}, Reals] give a warning that supports @Silvia's comment. (The change occurred to me because univariate equations sometimes invoke special methods, and adding a dummy variable might trick it into trying something else that would generate conditions.) $\endgroup$
    – Michael E2
    Commented Nov 13, 2021 at 15:25
  • 1
    $\begingroup$ For instance, compare Reduce[ArcTan[Tan[x]] == y && y == x && FunctionRange[ArcTan[Tan[x]], x, y], {x}, {y}, Reals] and Reduce[ArcTan[Tan[x]] == x && FunctionRange[ArcTan[Tan[x]], x, x], {x}, Reals] $\endgroup$
    – Michael E2
    Commented Nov 13, 2021 at 15:31

1 Answer 1

6
$\begingroup$

Help function says: Because ArcTan is a multivalued function, tan^-1(tan(x))!=x

Get your desired result with

red = Reduce[{Tan[x] == y, ArcTan[y] == x}, y, Reals]

(*   -(Pi/2) < x < Pi/2 && y == Tan[x]   *)

red // Simplify[#, {Tan[x] == y, ArcTan[y] == x}] &

(*   Pi + 2 x > 0 && 2 x < Pi   *)

Done with version "8.0 for Microsoft Windows (32-bit) (December 9, 2010)"

$\endgroup$

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.