momente şi schiţe de informatică şi matematică
To attain knowledge, write. To attain wisdom, rewrite.

Fractalii Newton ai rădăcinilor unităţii - partea a patra

limbajul R
2017 jun

7. Locul punctelor 2-periodice

Rămânând la nivelul de experiment numeric, avem o "soluţie" chiar banală, pentru a tranşa dilema locului punctelor periodice (v. [3]): generăm fractalul respectiv şi adăugăm pe desen punctele periodice (observând apoi dacă sunt sau nu, incluse şi ele în fractal).

În [2] am aproximat fractalul ca mulţimea preimaginilor până la un anumit ordin de iterare, ale originii; n-am avea decât să explicităm pe desenul respectiv, punctele periodice. Desigur că această procedură este banală şi odată menţionată, nu mai merită atenţie…

Să procedăm mai interesant - verificând numeric următorul rezultat clasic: The Julia set for any rational map of degree ≥ 2 is equal to the closure of its set of repelling periodic points (în timp ce atractorii şi bazinele de atragere aferente aparţin complementarei mulţimii Julia); precizăm că teorema redată (într-o exprimare actuală) a fost stabilită acum 100 de ani, de către Gaston Julia şi Pierre Fatou - creatorii recunoscuţi ai teoriei iterării funcţiilor de variabilă complexă.

Practic, ar însemna că putem genera fractalul plecând de la unul dintre punctele 2-periodice - colectând preimaginile acestuia până la un anumit ordin de iterare (iar în final nu avem decât să plotăm şi punctele 2-periodice, marcându-le în mod distinct faţă de celelalte):

gen_fractal_periodic_point <- function(n, iter, radius) {
  cycle <- frc <- get_invariant(n)  # punctele 2-periodice ale lui N() - v. [3]
  frc <- frc[1]  # pleacă de la unul dintre punctele 2-periodice, ζ
  pN <- poly_newton(n)  # (n-1)z^n - nζz^(n-1) + 1 (v. [2])
  for(i in 1:iter)  # preimaginile punctului (până la ordinul 'iter')
    frc <- as.vector(sapply(frc, function(r) polyroot(pN(r))))
  plot(frc[abs(frc) < radius], pch=".", col="blue", asp=1)
  points(cycle, pch=20, col="red")  # marchează punctele 2-periodice
}
png <- png("gen_frc.png", units="px", width=1200, height=600, bg="white")
opar <- par(mfrow = c(1, 2), mar=c(0, 0, 0, 0), bty="n")
gen_fractal_periodic_point(3, 16, 1.01)
gen_fractal_periodic_point(4, 13, 1.5)
dev.off()

Pe albastru, avem aceleaşi forme ca acelea obţinute (pe alte căi) în [2] şi [1] - aproximând mulţimile Julia (trunchiate la câte un anumit disc centrat în origine) ale transformării lui Newton asociate rădăcinilor de ordinul trei şi respectiv patru, ale unităţii. Cele 6 şi respectiv 12 puncte roşii (mărite faţă de celelalte) marchează punctele 2-periodice, pentru n = 3 şi respectiv n = 4; vedem pe imagine că ele ţin într-adevăr, de mulţimea Julia.

Desigur… uităm mereu că de fapt nu vedem decât o aproximare mai mult sau mai puţin palidă, a lucrurilor (calculată numeric - pe un număr finit de puncte, reprezentate aproximativ); imaginea doar sprijină supoziţia că "ele ţin într-adevăr, de mulţimea Julia" - dar teoretic, dilema persistă.

vezi Cărţile mele (de programare)

docerpro | Prev | Next