How can I solve exponential equation in Maxima CAS

家住魔仙堡 提交于 2021-02-10 12:54:54

问题


I have function in Maxima CAS :

f(t) := (2*exp(2*%i*%pi*t) - exp(4*%pi*t*%i))/4;

here:

  • t is a real number between 0 and 1
  • function should give a point on the boundary of main cardioid of Mandelbrot set

How can I solve equation :

eq1:c=f(t);

(where c is a complex number)

?

Solve doesn't work

solve( eq1,t);

result is empty list

[]

Result of this equation should give real number t ( internal angle or rotation number ) from complex point c

EDIT: Thx to comment by @JosehDoggie

I can draw initial equation using:

load(draw)$
f(t):=(2*exp(%i*t) - exp(2*t*%i))/4;
  draw2d(
  key="main cardioid",
  nticks=200,
  parametric( 0.5*cos(t) - 0.25*cos(2*t), 0.5*sin(t) - 0.25*sin(2*t), t,0,2*%pi),
  title="main cardioid of M set "
)$

or

draw2d(polar(abs(exp(t*%i)/2 -exp(2*t*%i)/4),t,0,2*%pi));

Similar image ( cardioid) is here

Edit2:

(%i1) eq1:c = exp(%pi*t*%i)/2 -  exp(2*%pi*t*%i)/4;


                               %i %pi t     2 %i %pi t
                             %e           %e
(%o1)                    c = ---------- - ------------
                                 2             4
(%i2) solve(eq1,t);
              %i log(1 - sqrt(1 - 4 c))        %i log(sqrt(1 - 4 c) + 1)
 (%o2) [t = - -------------------------, t = - -------------------------]
                     %pi                              %pi

So :

f1(c):=float(cabs( -  %i* log(1 - sqrt(1 - 4* c))/%pi));
f2(c):=float(cabs( -  %i* log(1 + sqrt(1 - 4* c))/%pi));

but the results are not good.

Edit 3 :

Maybe I shoud start from it. I have:

  • complex numbers c ( = boundary of cardioid)
  • real numbers t ( from 0 to 1 or sometimes from 0 to 2*pi )
  • function f which computes c from t : c= f(t)

I want to find function which computes t from c: t = g(c)

testing values :

  • t = 0 , c= 1/4
  • t = 1/2 , c= -3/4
  • t = 1/3 , c = c = -0.125 +0.649519052838329*%i
  • t = 2/5 , c = -0.481762745781211 +0.531656755220025*%i
  • t = 0.118033988749895 c = 0.346828007859920 +0.088702386914555*%i
  • t = 0.618033988749895 , c = -0.390540870218399 -0.586787907346969*%i
  • t = 0.718033988749895 c = 0.130349371041523 -0.587693986342220*%i

回答1:


load("to_poly_solve") $

e: (2*exp(2*%i*%pi*t) - exp(4*%pi*t*%i))/4 - c $
s: to_poly_solve(e, t)                         $
s: maplist(lambda([e], rhs(first(e))), s)      $ /* unpack arguments of %union */
ratexpand(s);

Outputs

             %i log(1 - sqrt(1 - 4 c))        %i log(sqrt(1 - 4 c) + 1)
(%o6) [%z7 - -------------------------, %z9 - -------------------------]
                       2 %pi                            2 %pi


来源:https://stackoverflow.com/questions/50260551/how-can-i-solve-exponential-equation-in-maxima-cas

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!