I need to make some approximations, basically I have something like

$$ e^{i*a} = -0.735145 + 0.67791*I $$

and I want to approximate this to something that is easily readable, like

$$ e^{\frac{3*\pi}{2}*i} $$

Does mathematica have a simplify function that can do this, while I specify the form of the equation I want to end up with (like the second one)? Is there another way, besides just taking a wild guess?


1 Answer 1


Read the documentation about Rationalize

Mathematica graphics

Now starting from the complex form you can build you own function

nicef = Exp[Rationalize[Im[Chop[Log[#]]], 1/16] I] &

nicef[-0.735145 + 0.67791 I]
E^((12 I)/5)

or if the input is $a$ then just Rationalize[a,1/16]

  • $\begingroup$ Yes, I did try Rationalize, however my algorithm is so sensitive that not even with 0.000001 instead of 1/16, I won't get what I want. Anyway, your post does answer my question, so I will accept it. Thank you. $\endgroup$
    – PhysNerd90
    Jan 18, 2016 at 10:57

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.