Mathematica Stack Exchange is a question and answer site for users of Mathematica. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Suppose we have many expressions involving irrational ArcTan expressions (such as ArcTan[Sqrt[3],5]) along with other irrational factors (such as 1/Sqrt[2]).

I want to simplify all of these ArcTans. For example, I might want to apply N@ to them to get their decimal approximation, or, I might want to apply Rationalize as in

N@ArcTan[Sqrt[3], 5]
(* out: 1.23732 *)   

Rationalize[ArcTan[Sqrt[3], 5]/Pi, .0001] Pi  
(* out: 13 Pi/33 *)  

However, I would like to be able to implement either of these options throughout large expressions involving many ArcTan functions and not act on any other forms.

Simple example would be:

m = 1/Sqrt[3]+ Sqrt[2] ArcTan[Sqrt[3], 5]  

How can I apply a rule or something to m that will allow me to implement one of these types of solutions to the ArcTan but not act on the other irrational factors?

share|improve this question
Something like m /. ArcTan[Times[x_, y_]] :> ArcTan[fff[x], ggg[y]] /; ! Element[x | y, Rationals] may work – Dr. belisarius Mar 12 '14 at 21:56
It may, but I haven't yet been able to construct fff and ggg correctly to implement it this way. – Steve Mar 13 '14 at 14:29
For example m = 1/Sqrt[3] + Sqrt[2] ArcTan[Sqrt[3], 5]; f[u_] := u /. ArcTan[Times[x_, y_]] :> (Rationalize[ArcTan[Times[x, y]]/Pi, .0001] Pi) /; ! Element[x | y, Rationals]; f[m] – Dr. belisarius Mar 13 '14 at 14:48

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.