Mandelbrot function and map





Convention:
function: y=F(x)
map: x= F(x)  it is Recurrence relation
so map creates orbit = discrete dynamical system.

compare:
Real Mandelbrot function

Complex Mandelbrot Function:

Fc(z)  = z*z + c

it is a monic complex  quadratic  polynomial  ( binomial )
compare it with real quadratic polynomial

definition of Mandelbrot function :
Fc(Z)= (Z*Z) + c
where :
Z = complex  variable
Z= Z.X + Z.Y * i
c = complex parameter
c:=c.x + c.y * i

so using rules for addition and multiplication of complex numbers:
Re(Fc(Z))=Z.X2- Z.Y2  +c.x
Im(Fc(Z))=2 * Z.X *  Z.Y + c.y


Complex Mandelbrot map  it is a
Z(n+1) := F ( Z (n) ) := Z(n) *Z(n) + c


FM(Z0,c,n) = Fc(n)(Z0)

Two forms of Mandelbrot map:

definition of map using iteration 
in pseudocode:
FM(0,c,n):=
 begin
  Zi= 0
  For i=1 to n do
     Zi+1=Fc(Zi):=(Zi*Zi) + c
  return Zi
 end;

definition of map using recursion
in pseudocode:
FM(0,c,n):=
 begin
   if n:=0
    then return = 0
    else return = (FM(0,c,n-1))2+ c
 end;
-------------------------------
First form:

It goes like that :

Z0= 0

Z1= Z02+ c = c

Z2= Z12+ c = c2+ c

Z3= Z22+ c = c4 + 2 c3 + c2 + c
...
ZN+1= ZN2+c

and so on ...
Second form:

-------------------------------
It goes like that :
F(1)= c

F(2)=(F(1))2 + c = c2+ c

F(3) = (F(2))2 + c =c4 + 2 c3 + c2 + c
...
F(N+1)=( F(N))2 + c

and so on ...

The second form uses Z1=C for initial conditions instead of Z0 = 0 ( one iterations for every point less).
It can not be done in (binary ) decomposition and potential ( CPM)




in Maxima:

F[n, c, z] :=
if n=0
  then z
  else (F[n-1, c, z]^2 + c);

example diplay or orbit of Z0=0 for give c value :
c:-0.1011 +0.9563*%i;
for m:1 thru 20 step 1 do display(z:rectform(F[m,c,0]));
// put Zn in the table
for m:1 thru 20 step 1 do Zm[m]:rectform(F[m,c,0]);
(%i17) reZm:makelist(realpart(Zm[i]),i,1,20);
(%o17)[-0.1011,-1.00538848,0.32763444199861,-0.32760205525899,-0.327501821067,-0.32769030777401,-0.32762018526683,-0.32737949455485,-0.32781860151825,-0.32766791681436,-0.32709060373304,-0.32811288439011,-0.32779204298486,-0.32640884639741,-0.32878694725781,-0.32811174808086,-0.32480136378766,-0.33032771825534,-0.328929430019,-0.3210157009846]
(%i18) imZm:makelist(imagpart(Zm[i]),i,1,20);
(%o18) [0.9563,0.76293614,-0.57779441226333,0.57768930029637,0.57779559584356,0.57784178031349,0.57759369832878,0.57783729108914,0.57795583941659,0.57737064996629,0.57792832379159,0.57823015131317,0.57685047442261,0.57812600898446,0.57888911267009,0.57563763168884,0.5785530608109,0.58047035365019,0.57280910512772,0.57947245508129]
(%i19) plot2d([discrete,reZm,imZm],[gnuplot_curve_styles, ["with points"]])$
//


(%i1) z:0;
(%o1) 0
(%i2) f(z):=z^2+c;
(%o2) f(z):=z^2+c
(%i3) for m:1 thru 20 step 1 do display(z:f(z));
z=c
z=c^2+c
z=(c^2+c)^2+c
z=((c^2+c)^2+c)^2+c
z=(((c^2+c)^2+c)^2+c)^2+c
z=((((c^2+c)^2+c)^2+c)^2+c)^2+c
z=(((((c^2+c)^2+c)^2+c)^2+c)^2+c)^2+c
z=((((((c^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c
z=(((((((c^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c
z=((((((((c^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c
z=(((((((((c^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c
z=((((((((((c^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c
z=(((((((((((c^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c
z=((((((((((((c^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c
z=(((((((((((((c^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c
z=((((((((((((((c^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c
z=(((((((((((((((c^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c
z=((((((((((((((((c^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c
z=(((((((((((((((((c^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^(2)+c
z=((((((((((((((((((c^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^(2)+c)^(2)+c


P(n):=if n=0 then z else P(n-1)^2+c;
(%o1) P(n):=if n=0 then z else P(n-1)^2+c
(%i2) for m:0 thru 10 step 1 do display(z:P(m));
z=z
z=z^2+c
z=((z^2+c)^2+c)^2+c
z=(((((z^2+c)^2+c)^2+c)^2+c)^2+c)^2+c
z=(((((((((z^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c
z=((((((((((((((z^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c)^2+c
....


P(n):=if n=0 then 0 else P(n-1)^2+c;

(%i9) for m:0 thru 6 step 1 do display(z:ratsimp(P(m)));
z=0
z=c
z=c^2+c

z=c^4+2*c^3+c^2+c

z=c^8+4*c^7+6*c^6+6*c^5+5*c^4+2*c^3+c^2+c

z=c^16+8*c^15+28*c^14+60*c^13+94*c^12+116*c^11+114*c^10+94*c^9+69*c^8+44*c^7+26*c^6+14*c^5+5*c^4+2*c^3+c^2 +c
-------display(z:ratsimp(P(6)));------------
z=c^32+16*c^31+120*c^30+568*c^29+1932*c^28+5096*c^27+10948*c^26+19788*c^25+30782*c^24+41944*c^23+50788* c^22+55308*c^21+54746*c^20+49700*c^19+41658*c^18+32398*c^17+23461*c^16+15864*c^15+10068*c^14+6036*c^13+ 3434*c^12+1860*c^11+958*c^10+470*c^9+221*c^8+100*c^7+42*c^6+14*c^5+5*c^4+2*c^3+c^2+c
-------display(z:ratsimp(P(7)));------------
z=c^64+32*c^63+496*c^62+4976*c^61+36440*c^60+208336*c^59+971272*c^58+3807704*c^57+12843980*c^56+37945904*c^55+99582920*c^54+ 234813592*c^53+502196500*c^52+981900168*c^51+1766948340*c^50+2943492972*c^49+4562339774*c^48+6609143792*c^47+8984070856*c^46+ 11500901864*c^45+13910043524*c^44+15941684776*c^43+17357937708*c^42+17999433372*c^41+17813777994*c^40+16859410792*c^39+ 15286065700*c^38+13299362332*c^37+11120136162*c^36+8948546308*c^35+6939692682*c^34+5193067630*c^33+3754272037*c^32+ 2625062128*c^31+1777171560*c^30+1166067016*c^29+742179284*c^28+458591432*c^27+275276716*c^26+160617860*c^25+91143114*c^24+ 50323496*c^23+27049196*c^22+14162220*c^21+7228014*c^20+3598964*c^19+1749654*c^18+831014*c^17+385741*c^16+175048*c^15+77684*c^14 +33708*c^13+14290*c^12+5916*c^11+2398*c^10+950*c^9+365*c^8+132*c^7+42*c^6+14*c^5+5*c^4+2*c^3+c^2+c
---- display(z:ratsimp(P(8)));-----------
z=c^128+64*c^127+2016*c^126+41696*c^125+637360*c^124+7685024*c^123+76185104*c^122+639097008*c^121+4634116312*c^120+29524775520* c^119+167453394320*c^118+854515874096*c^117+3958458557608*c^116+16771945556496*c^115+65418624260840*c^114+236221241425176* c^113+793548088258508*c^112+2490875091238112*c^111+7333879739219600*c^110+20324543852025936*c^109+53181959591958024*c^108+ 131760770157606224*c^107+309881648709683160*c^106+693434955498545848*c^105+1479594496462756340*c^104+3016191418506637264* c^103+5884917700519129288*c^102+11008161481780603512*c^101+19772322481956974532*c^100+34150590308701283528*c^99+ 56796799826096529620*c^98+91071943593142473900*c^97+140960183546144741182*c^96+210835921361505594848*c^95+ 305060580205223726864*c^94+427417353874088245520*c^93+580430565842543266504*c^92+764655844340519788496*c^91+ 978057923319151340728*c^90+1215604411161527170376*c^89+1469189341596552030212*c^88+1727958521630464742736*c^87+ 1979045408073272278264*c^86+2208653487832260558008*c^85+2403354418943890067404*c^84+2551425591643957182856*c^83+ 2644036970936308845148*c^82+2676118542978972739644*c^81+2646791812246207696810*c^80+2559320275988283588176*c^79+ 2420609646335251593480*c^78+2240353897304462193848*c^77+2029966595320794439668*c^76+1801452751402955781592*c^75+ 1566365198635995978988*c^74+1334957092752100409132*c^73+1115597581733327913554*c^72+914470757914434625800*c^71+ 735537050036491961156*c^70+580706779030058464252*c^69+450159936955994386738*c^68+342743629811082484420*c^67+ 256386228250001079082*c^66+188481251186354006062*c^65+136210493669590627493*c^64+96791719611591962592*c^63+ 67649247253332557392*c^62+46514944583399578896*c^61+31472438318100876584*c^60+20959276151880728336*c^59+ 13741246529612440920*c^58+8870996681171366696*c^57+5640327912922026260*c^56+3532711259225506384*c^55+2180053774442766712* c^54+1325752376790240280*c^53+794643418760272876*c^52+469540646039042536*c^51+273551721580800380*c^50+157160523515654628* c^49+89054473147697354*c^48+49778848242964944*c^47+27452211062573400*c^46+14938862548001560*c^45+8022825031835276*c^44+ 4252710138415640*c^43+2225301467579844*c^42+1149605839249820*c^41+586400982013486*c^40+295372837865192*c^39+ 146932182777116*c^38+72188854953372*c^37+35031835376454*c^36+16792863663700*c^35+7952125694214*c^34+3720187393990*c^33+ 1719477330477*c^32+785248461712*c^31+354347339496*c^30+158015533208*c^29+69640352964*c^28+30336029592*c^27+13062923500*c^26+ 5560968284*c^25+2340595778*c^24+974083128*c^23+400844588*c^22+163107044*c^21+65626918*c^20+26108844*c^19+10269590*c^18+ 3993030*c^17+1534301*c^16+582408*c^15+218324*c^14+80812*c^13+29538*c^12+10652*c^11+3774*c^10+1302*c^9+429*c^8+132*c^7+42*c^6+14* c^5+5*c^4+2*c^3+c^2+c

------------display(z:ratsimp(P(9)));---------------------------
z=c^256+128*c^255+8128*c^254+341440*c^253+10676064*c^252+265070400*c^251+5444445216*c^250+95166629216*c^249+1445348279984*c^248 +19378537561280*c^247+232268682367776*c^246+2514273632010848*c^245+24788919621401424*c^244+224191664094990368*c^243+ 1871297598686042576*c^242+14491605396979153712*c^241+104602447595513695448*c^240+706618798086250436032*c^239+ 4483505696773630813472*c^238+26806924022759843344032*c^237+151475263170913571453456*c^236+811058081377927762191008*c^235+ 4125012901912074753618864*c^234+19971944603792862337968496*c^233+92239666183789125434789480*c^232+ 407126550646248518782633888*c^231+1720309814938174860999826832*c^230+6970220391424262318086119408*c^229+ 27120492587985473170004581512*c^228+101476372581805280399805180560*c^227+365606897102983217432946877864*c^226+ 1269919251738217231319692539288*c^225+4257434387934555046190410990796*c^224+13791080782410450248325154203072*c^223+ 43208431589807552322051186894880*c^222+131061522581655642875339386739488*c^221+385223108926963051553154781203088*c^220+ 1098127661539452669411734530090400*c^219+3038437621115521013399188762050160*c^218+8166585853663072758700591628239632* c^217+21337453347578319310772329951574024*c^216+54232572994563889373842075438974368*c^215+ 134178461272326178616530192711941104*c^214+323360101620839959707607160477592176*c^213+ 759512089767136222835386255211404312*c^212+1739720810586256904651501803026150928*c^211+ 3888321184608780851308644833143215416*c^210+8484247294136490039161773359799700472*c^209+ 18082333476489764475176881718494022836*c^208+37661532090006724209933236609856407712*c^207+ 76691600266156866187380494877890470160*c^206+152756586588252394360640323396555431536*c^205+ 297743965184526343993292808212896223592*c^204+568143926704995532544818247917979868080*c^203+ 1061746886823101702080703507846834350680*c^202+1944014108104145955480732811003766636696*c^201+ 3488640599323216350018796901621313861412*c^200+6138304551418968471910794663853821963664*c^199+ 10593211860911768753558283508352420777608*c^198+17936614842743450120975562894606498614200*c^197+ 29807713640365373011568014339320333845412*c^196+48632812816255509457394818740702835052360*c^195+ 77924760871367960945001116321460663830676*c^194+122657922928894997468299149954703227060012*c^193+ 189720598280394594964654480875438839318846*c^192+288438380538330871487576352252906455060416*c^191+ 431150222278532323190325044869056727874336*c^190+633804103281859718952963922943457967243552*c^189+ 916522012856313840200522528632599159252368*c^188+1304065966171485363664109619729785523860128*c^187+ 1826120254012222573478628535696122029209712*c^186+2517292987739600321784111458680166237729744*c^185+ 3416735534542165571874596057150864345545672*c^184+4567284879315937512853984969144489158320800*c^183+ 6014053930340373572191154586882070254048560*c^182+7802429718010215131677367908244993478407408*c^181+ 9975488936723064788231161177900136058358456*c^180+12570901757592985726602255738073215177863952*c^179+ 15617463352691421620987026046209478754416600*c^178+19131461054431361822796580350360123626125064*c^177+ 23113144963591072672556664065961998843258500*c^176+27543612052598813644503337378520887071734432*c^175+ 32382430080344295167036624219817607028258288*c^174+37566311735201939491157019644242672155289776*c^173+ 43009098462264845869393083661794944756474744*c^172+48603228689930834933857473670731794933114672*c^171+ 54222752422621808276834571605209056955839592*c^170+59727823343827915202403965687599494578582552*c^169+ 64970463783373080803488605563716078041998924*c^168+69801271888091674403395245643465299854046096*c^167+ 74076638598670064317949156330310671310275224*c^166+77665976898065147722520327485550483711598616*c^165+ 80458445691504788722860163975643012146100732*c^164+82368678947067794944609521560171733697567560*c^163+ 83341105113330742728313156337180758985928252*c^162+83352554747990972101766322108127324830812028*c^161+ 82412993811981675212083018007612389415063658*c^160+80564371506352574925217855777504312935627936*c^159+ 77877719268293335318472894792521294398605072*c^158+74448767058174943165290232665386402196914800*c^157+ 70392442562495003502532290049042655632728744*c^156+65836680586003001898819379501588635591917040*c^155+ 60915990501386158579490222380092110933997752*c^154+55765210569942437059219088690869008224818840*c^153+ 50513824674851115392494485009376196024849108*c^152+45281137957422049553001628545536394641885744*c^151+ 40172513173808540951845619516451598226466104*c^150+35276769831415485150919681333864128969793576*c^149+ 30664753019148837530314107869730876010753660*c^148+26388996224287919219454260322117469678368120*c^147+ 22484337853297568092264814056212764530465436*c^146+18969307550404377181762960789892290009282764*c^145+ 15848076139733749121589268209412518291135218*c^144+13112760387937095407883247500108224962454544*c^143+ 10745887515313571388631895124227727283678472*c^142+8722850262771219245470450741802751355851544*c^141+ 7014216818665684248090649266950316929937428*c^140+5587796699064813023481904033021917413471800*c^139+ 4410400032648403236584051951432551358868236*c^138+3449260745731497779780307399484473966845388*c^137+ 2673121933311781812541282882793705803418594*c^136+2053003213669241723254593947005171942841864*c^135+ 1562684870749208140112942763404908308662788*c^134+1178952490402146224064722268315305076474300*c^133+ 881649424912948885545267968901100096726226*c^132+653583848211654497217857178264475783029316*c^131+ 480333541896042833489471373940304510029930*c^130+349985978831372115291658429534112785832878*c^129+ 252844706966660579774942163893612168754085*c^128+181126253571874035417700615793700241937344*c^127+ 128665337592670910641068152657501768943776*c^126+90640467858650528772004528209061832941600*c^125+ 63327219625955834864023622738202561463888*c^124+43882687105971219516881875082308961523232*c^123+ 30161771100372341007446633263682499447088*c^122+20563979211389320578680059906129093186000*c^121+ 13908156252311850012806191419153350363944*c^120+9331877019067401262709503460335110557088*c^119+ 6211979428955088955647543823389978003696*c^118+4102765146235918676888615949083210981680*c^117+ 2688639819941138035123043477549839005592*c^116+1748321037891475652500268338387088444496*c^115+ 1128145718429235787145491784249228145528*c^114+722415668521578406721464428523343978472*c^113+ 459101972360919881104420196407509181204*c^112+289569579704316693844015187473891227040*c^111+ 181275810365406137279865771156247110384*c^110+112639555011108569979939480328997425968*c^109+ 69474720115918091105344219274412834488*c^108+42537092928298819836766680044897050672*c^107+ 25854366247539526542838992929039400680*c^106+15600722454394430338281822046322860536*c^105+ 9345865932333406442778966863099884524*c^104+5558752947317759078085863987514148560*c^103+ 3282742569846432540545398066702007576*c^102+1924935669923514045226678298786238136*c^101+ 1120813971728926364054133600105543356*c^100+648046891336495407331100034741882152*c^99+ 372093631881673802980926871149762716*c^98+212171944690143395214107139138528932*c^97+ 120151795835141553459050404187814090*c^96+67576471808922295343822488686935968*c^95+37748501600228679934476224082231728* c^94+20943948830276132138215169646665520*c^93+11542168939148692270605274883707096*c^92+ 6318315736467812275050034098856944*c^91+3435697866458789108727281445405736*c^90+1855849376858920501629447813559352*c^89+ 995860844915277521206340425850636*c^88+530880154719499951069866490258096*c^87+281157478035888161972409993101032*c^86+ 147935090222088073132088181371272*c^85+77334622168103465630438116540900*c^84+40167095669088818744030146664376*c^83+ 20728734298657765338876197244756*c^82+10629013040050330153146906318588*c^81+5415549467449775472613954010542*c^80+ 2741781920864475522799402765008*c^79+1379352239359450897350336644216*c^78+689572928470629665227011638232*c^77+ 342577290803102517816971169116*c^76+169130001951247474244523846808*c^75+82980604110615382012237974644*c^74+ 40460970907631899323504865292*c^73+19606924238994355876610664454*c^72+9442904099029667514880416360*c^71+ 4519952589154527832719564092*c^70+2150321525708446303314913916*c^69+1016770524894840215076586422*c^68+ 477860435747703797041728532*c^67+223226672736540177670132966*c^66+103649213550193793948239110*c^65+ 47837511966147008398026221*c^64+21946295142986958491005216*c^63+10008084544181525541437648*c^62+ 4536746451258603685552176*c^61+2044316329571572992096520*c^60+915730186690090076508336*c^59+407763276280432350283288*c^58 +180498920423742781054328*c^57+79427563126557636669860*c^56+34745744569472475154480*c^55+15110150073211913424568*c^54+ 6532435099515038282088*c^53+2807516949767013036540*c^52+1199531943799252795512*c^51+509499807078842855804*c^50+ 215138987697889482300*c^49+90310195379140130658*c^48+37687412945772081520*c^47+15634961825829063256*c^46+ 6448181040666495848*c^45+2643726144349102332*c^44+1077540604058822472*c^43+436604408356041188*c^42+175865084154629012*c^41 +70422002837291222*c^40+28033353858438104*c^39+11093812898913788*c^38+4364426595039604*c^37+1706930089807390*c^36+ 663663412897100*c^35+256521909225414*c^34+98570133024230*c^33+37653810688701*c^32+14299203591952*c^31+5398194738600*c^30+ 2025867409304*c^29+755767816996*c^28+280263417112*c^27+103306269964*c^26+37848254300*c^25+13781448434*c^24+4986986168*c^23+ 1793215404*c^22+640655364*c^21+227377494*c^20+80152748*c^19+28056886*c^18+9750118*c^17+3363133*c^16+1151240*c^15+390964*c^14+ 131596*c^13+43810*c^12+14364*c^11+4606*c^10+1430*c^9+429*c^8+132*c^7+42*c^6+14*c^5+5*c^4+2*c^3+c^2+c

(%i6) display(z:ratsimp(P(10)));
< Expression too long to display! >


-----------------------------
If c is out of Mandelbrot set then zn=fn(zcr) grows very quickly ( like f(z)=z*z ) :
(%i1) F[n, c, z] := if n=0 then z else (F[n-1, c, z]^2 + c);
(%o1) F[n,c,z]:=if n=0 then z else F[n-1,c,z]^2+c
(%i2) radius_1_list:makelist(abs(F[i,1,0]),i,1,5);
(%o2) [1,2,5,26,677]
(%i3) i_list:makelist(i,i,1,5);
(%o3) [1,2,5,26,677]
(%i4) plot2d([discrete,i_list,radius_1_list])$

If c is on boundary of Mandelbrot set then Zn grows ..... :
(%i22) radius_list:makelist(float(F[i,1/4,0]),i,1,5);
(%o22) [0.25,0.3125,0.34765625,0.37086486816406,0.38754075043835]
(%i23) plot2d([discrete,i_list,radius_list])$

or stays bounded :
(%i25) radius_list:makelist(float(abs(F[i,-3/4,0])),i,1,5);
(%o25) [0.75,0.1875,0.71484375,0.23899841308594,0.6928797585424]
(%i26) plot2d([discrete,i_list,radius_list])$


see also:



Main page


Autor: Adam Majewski adammaj1-at-o2-dot-pl
Feel free to e-mail me. (:-))

Made with: EditPlus www.editplus.com



About

republika.pl/fraktal