Simplify expressions involving complex numbers

61 views
Skip to first unread message

Paul Royik

unread,
May 23, 2023, 1:51:46 AM5/23/23
to sympy
How do I simplify the following expressions: i**(-2*i), (-i)**(-2*i), ((-sqrt(3) - i)/2)**(-2*i), ((sqrt(3) - i)/2)**(-2*i) ?

Is there any built-in function?

For example, i**(-2*i) should give e^pi and ((sqrt(3) - i)/2)**(-2*i) should give e^(-pi/3).


Thank you.

Oscar Benjamin

unread,
May 23, 2023, 9:21:29 AM5/23/23
to sy...@googlegroups.com
The word "simplify" is ambiguous but I assume from your examples that
what you want is to rewrite powers as exponentials if possible. If so
that can be done with e.rewrite(exp):

>>> from sympy import *
>>> i = I
>>> a = i**(-2*i), (-i)**(-2*i), ((-sqrt(3) - i)/2)**(-2*i), ((sqrt(3) - i)/2)**(-2*i)
>>> [ai.rewrite(exp) for ai in a]
[exp(pi), exp(-pi), exp(-5*pi/3), exp(-pi/3)]

--
Oscar

Peter Stahlecker

unread,
May 23, 2023, 11:21:46 AM5/23/23
to sy...@googlegroups.com
Your replies are the best way to learn more about sympy, thanks!!

--
You received this message because you are subscribed to the Google Groups "sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sympy+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/CAHVvXxSjECmJoTVL6SJ27uzYrXHOWUiqKaMTK0gW6LfJXJrsfQ%40mail.gmail.com.
--
Best regards,

Peter Stahlecker

Paul Royik

unread,
May 23, 2023, 2:56:28 PM5/23/23
to sympy
Thank you!

Aaron Meurer

unread,
May 23, 2023, 3:26:20 PM5/23/23
to sy...@googlegroups.com
On Tue, May 23, 2023 at 7:21 AM Oscar Benjamin <oscar.j....@gmail.com> wrote:
On Tue, 23 May 2023 at 06:51, Paul Royik <distan...@gmail.com> wrote:
>
> How do I simplify the following expressions: i**(-2*i), (-i)**(-2*i), ((-sqrt(3) - i)/2)**(-2*i), ((sqrt(3) - i)/2)**(-2*i) ?
>
> Is there any built-in function?
>
> For example, i**(-2*i) should give e^pi and ((sqrt(3) - i)/2)**(-2*i) should give e^(-pi/3).

The word "simplify" is ambiguous but I assume from your examples that

In this case, there's a fairly unambiguous meaning for 'simplify'. The expressions are all real, so they should be reexpressed without using i.

Aaron Meurer

what you want is to rewrite powers as exponentials if possible. If so
that can be done with e.rewrite(exp):

>>> from sympy import *
>>> i = I
>>> a =  i**(-2*i), (-i)**(-2*i), ((-sqrt(3) - i)/2)**(-2*i), ((sqrt(3) - i)/2)**(-2*i)
>>> [ai.rewrite(exp) for ai in a]
[exp(pi), exp(-pi), exp(-5*pi/3), exp(-pi/3)]

--
Oscar

emanuel.c...@gmail.com

unread,
May 27, 2023, 7:21:47 AM5/27/23
to sympy

Le mardi 23 mai 2023 à 21:26:20 UTC+2, asme…@gmail.com a écrit :

On Tue, May 23, 2023 at 7:21 AM Oscar Benjamin <oscar.j....@gmail.com> wrote:
On Tue, 23 May 2023 at 06:51, Paul Royik <distan...@gmail.com> wrote:
>
> How do I simplify the following expressions: i**(-2*i), (-i)**(-2*i), ((-sqrt(3) - i)/2)**(-2*i), ((sqrt(3) - i)/2)**(-2*i) ?
>
> Is there any built-in function?
>
> For example, i**(-2*i) should give e^pi and ((sqrt(3) - i)/2)**(-2*i) should give e^(-pi/3).

The word "simplify" is ambiguous but I assume from your examples that

In this case, there's a fairly unambiguous meaning for 'simplify'. The expressions are all real, so they should be reexpressed without using i.

Oh yeah ? Wait…

Reply all
Reply to author
Forward
0 new messages