# complex exponential/trigonometric

Is there any command equivalent to the Mathematica's "TrigToExp" and "ExpToTrig"? Where should I look for general support on complex exponential/trigonometric functions?

edit retag close merge delete

Sort by » oldest newest most voted

This works for me in Sage 4.5.3:

sage: x = var('x')
sage: t1 = cos(x)
sage: t2 = e^(I * x) / 2 / I - e^(-I * x) / 2 / I
sage: sageobj(t1._maxima_().exponentialize())
1/2*e^(-I*x) + 1/2*e^(I*x)
sage: sageobj(t2._maxima_().demoivre())
sin(x)


Perhaps there's a simpler way? I don't think we've wrapped Maxima's demoivre and exponentialize in Sage. They're documented here.

more

Oh, that's great. Can you file a ticket to do so - perhaps with Mma-like notation, if it ends up being appropriate?

( 2010-09-29 23:41:45 +0200 )edit
( 2010-09-30 00:10:18 +0200 )edit

The correct link is https://trac.sagemath.org/ticket/10038 Unfortunately, the ticket seems stalled at the moment.

( 2016-12-21 15:53:16 +0200 )edit

A proposal to Trac#10038 (relevant ticket) needs review...

Possible interim workarounds :

sage: var("a, b")
(a, b)
sage: sin(x).maxima_methods().exponentialize()
-1/2*I*e^(I*x) + 1/2*I*e^(-I*x)
sage: tan(x)._sympy_().rewrite("exp")._sage_()
-I*(e^(I*x) - e^(-I*x))/(e^(I*x) + e^(-I*x))
sage: exp(a + I*b).maxima_methods().demoivre()
(cos(b) + I*sin(b))*e^a
sage: exp(I*x)._sympy_().rewrite("sin")._sage_()
cos(x) + I*sin(x)
sage: exp(x)._sympy_().rewrite("sin")._sage_()
cosh(x) + sinh(x)


EDIT : This proposal has been integrated in 9.5.beta0 ; the SymbolicRing class has now demoivre and exponentialize methods (implemented in sage, not directly in ginac/pynac, which is way above my pay grade...).

HTH,

more

Hi, just wondering if any work has been done on this yet? It's been a while, so I thought there may be some updates. Anyway, I'm a total exponentiation geek (or call me anti-trigonometric freak if you like), so a simple TrigToExp function in Sage would be nice.

more

Are there any updates on that?

more