Components of parameter plane





How to compute Number of all components of Mandelbrot set for given period = Na(p) ?
all components = cardioids (seeds) and other round components = atoms

Algorith in pseudocode:
result:= 2^(period-1) - sum of numbers of its components for each divisor of period smaller then period

examples:
period:=1
1 does not have positive divisors smaller the one
N(1):=2^(period-1):= 2^(1-1):= 2^0:=1

Period:= 7
divisors(7):={1,7}
N(7):= (2^(period-1)) - 1 := (2^(7-1))-1 := (2^6) - 1 := 64 - 1 := 63

period:=8
divisors(8)={1,2,4,8}
so N(8):=(2^(8-1)) - N(1) - N(2) - N(4) = 128 -1 -1 - N(4)
divisors(4)={1,2,4}
so N(4)= (2^(4-1)) - 1 - 1 = 8 - 1 -1 = 6
so
N(8):= 128 - 1 - 1 - 6 = 120

// code in Delphi by Robert Munafo
Function N(period:integer):integer;
var d:integer; // divisor
begin
result:= IntIntPower(2,period-1);
for d := 1 to period - 1 do
if IsDivisor(period,d) then result:= result - N(d);
end;
------- My code --------
Function IsDivisor(Dividend,divisor:word):boolean;
begin
If dividend mod divisor=0
then result:=true
else result:=false;
end;
--------
Function IntIntPower(base,exponent:integer):integer;
var i:word;
begin
result:=1;
for I := 1 to (exponent ) do
result:=result*base;
end;


// code in Maxima by Robert Munafo
// Na = Number of atoms
// p = period of atom

Na(p) := block(
[a:2^(p-1),f:0],
for f in divisors(p) do
   if f < p then a : a - Na(f),
return(a)
);

makelist(Na(p),p,1,30);

[1,1,3,6,15,27,63,120,252,495,
1023,2010,4095,8127,16365,32640,65535,130788,262143,523770,
1048509,2096127,4194303,8386440,16777200,33550335,67108608,134209530,268435455,536854005]

(%i4) for p:1 thru 13 step 1 do display(Na(p));
Na(1)=1
Na(2)=1
Na(3)=3
Na(4)=6
Na(5)=15
Na(6)=27
Na(7)=63
Na(8)=120
Na(9)=252
Na(10)=495
Na(11) = 1023
Na(12) = 2010
Na(13) = 4095

Sum(Na(p),p,1,13);
8111

// code in maxima by Peter Pein
N2(p):= apply("+",map(lambda([d],moebius(p/d)*2^(d-1)),listify(divisors(p))))$
//another version by Peter Pein
N(p):=
> if p=1
> then 1
> else 2^(p-1) - apply("+",map(N,listify(disjoin(p,divisors(p))))) $



Main page


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

Made with program: EditPlus www.editplus.com

About