Translate

środa, 3 października 2012

41. DFT. Atom wodoru - energia. Wprawka

    Ciekawiło mnie, jaką dokładność mają metody DFT w obliczaniu energii stanu podstawowego atomu wodoru. W celu dokonania takich obliczeń użyłem programu ChemBio3D Ultra v.11 (licencja 201-404055-3787), z zainstalowanym modułem programu GAMESS. Do obliczeń użyłem standardowych parametrów programu dla UROS, zakładając różne potencjały i bazy funkcyjne.
    Wyniki okazały się ciekawe. Część zaimplementowanych baz funkcyjnych zwraca błąd zamiast wartości energii, są to bazy funkcyjne: MIDI, (3...6)21G, 6-311G, DZV, DH, TZV, MC, SBKJC oraz HW. Baza MINI oraz seria baz STO-(2...6)G daje rezultaty liczbowe. Wartość energii zależy zarówno od postaci przyjętego potencjału, jak i wyboru bazy funkcyjnej. Część potencjałów zwraca jednak taki sam wynik dla tej samej bazy, co przedstawia poniższa tabela (energie podano w jednostkach hartree):

Tabela energii stanu podstawowego atomu wodoru w zależności od wybranego potencjału i bazy funkcyjnej
    Seria potencjałów od SLATER do PBELYP daje identyczne i najwyższe wartości energii. Nieco lepiej działają potencjały B3LYP oraz BHHLYP. Najlepsze i identyczne rezultaty dają potencjały, VWN, LYP oraz OP. 
    
    Wykres zamieszczony pod spodem, ilustruje powyższą zależność. Widać, że wzrost liczby funkcji Gaussa aproksymujących orbitale Slatera poprawia wyniki obliczeń energii. Baza MINI daje nieco lepsze rezultaty niż baza STO-2G:

Serie 1 dla potencjałów od SLATER do PBELYP
Serie 2 dla potencjału B3LYP
Serie 3 dla potencjału BHHLYP
Serie 4 dla potencjałów, VWN, LYP oraz OP
      Przedstawione wyniki obliczeń pokazują, że w ramach użytej tu metody DFT nie jest możliwe uzyskanie ścisłej wartości energii stanu podstawowego atomu wodoru. Najlepszy wynik dla Serie 4 i bazy STO-6G wynosi -0.4710039 Ha (hartree), a wynik dokładny to -0.5 Ha. 



wtorek, 10 lipca 2012

40. Elektron w 4D

    Wywody w poprzednich postach pozwoliły mi dojść do hipotezy atomu (wodoru), jako tworu czterowymiarowego. Sugerowałem, że pochłanianie energii wiąże się z przechodzeniem atomu (a raczej elektronu) z czwartego wymiaru do naszej przestrzeni 3D. Należy zadać pytanie, co właściwie wynurza się z czwartego wymiaru. Elektron nie ma, o ile wiadomo, wymiarów w 3D. Można powiedzieć, że jest albo go nie ma. Przypuszczam, że elementem wynurzającym się jest masa elektronu. Ładunek chyba pozostaje stały w 4D, ale z masą jest inaczej.
    Wyobraźmy sobie, że pojawiający się elektron niesie ze sobą ładunek, masę i spin. Ładunek i spin są niezmienne. Masa się zmienia. Nasza przestrzeń "czuje" masę. Wzrost energii elektronu przenosi masę z czwartego wymiaru do 3D. Miarą przeniesienia są transformacje Lorentza. W zakresie małych prędkości (energii) mamy nierelatywistyczny elektron. Duże energie powodują pojawianie się masy ukrytej w czwartym wymiarze w naszym świecie.
    Powyższa interpretacja dotyka zagadnienia ciemnej masy we wszechświecie. Podejście to zdaje się tłumaczyć dlaczego nie obserwujemy ciemnej masy. Jest ona "ukryta" w czwartym wymiarze. Można ją stamtąd "wyciągnąć" poprzez rozpędzenie elektronu do znacznych prędkości. Problem pojawia się, gdy v = c. Nie sądzę, żeby dochodziło do nieograniczonego wzrostu masy. Muszę założyć, że dla prędkości bliskich światła przekształcenie Lorentza nie obowiązuje.
    

niedziela, 1 lipca 2012

37. Ruch w bezruchu czyli nieco o znakach drogowych i tarczy strzeleckiej

    Na początku niewinny żarcik. Niektóre wjazdy na osiedla i inne ograniczone obszary są oznaczone czarno-białym znakiem, takim jak poniżej:



      Niby nic nadzwyczajnego, ale gdy wyjeżdżam z podobnego miejsca napotykam na ten drugi znak, który mnie niepokoi:


    Kolor czerwony nadaje mu mocy. Kończy się strefa ruchu, a zaczyna... No właśnie, co się zaczyna? Zaczyna się strefa bezruchu??? Nie chcę tu jednak zastanawiać się nad treścią wynikającą z prostej interpretacji znaków drogowych. Interesuje mnie co innego. Interesuje mnie ruch w atomach.

    Nie chodzi o ruch jąder, ale o ruch elektronów. Nie można podać wektorów prędkości elektronów w atomach, czyli nie można podać torów, po których elektrony się poruszają, ale przecież poruszają się! Powstaje coś w rodzaju absurdu, elektrony się poruszają w atomach, ale nie umiemy opisać toru ich ruchu. Znajdują się w strefie bezruchu (choć wiemy, że w takiej strefie ruch kwitnie zastraszająco). Jedyne, co potrafimy obliczyć, to gęstość prawdopodobieństwa znalezienia elektronu w wybranym obszarze. Dobrze, niech tak będzie bo... tak jest.

    Opisana sytuacja jest jednak mocno niezadowalająca. Nie mam zamiaru jednak dyskutować o bohmowskich parametrach ukrytych. Chcę jednak zwrócić uwagę na pewną analogię ze świata makroskopowego, która jest podobna do stanu stacjonarnego w atomach, strefy bezruchu i gęstości prawdopodobieństwa jednocześnie. Tą analogią jest porządnie wykorzystana tarcza strzelecka. Kawałek papieru z otworami, które zostały zrobione przez przelatujące pociski:



    Wyobraźmy sobie płaszczaki (dwuwymiarowe stwory ulubione przez matematyków i fizyków), żyjące na tej tarczy. Te które przeżyły ostrzał (przepraszam, ale i chemikom chyba wolno maltretować te niewinne stwory), mogą określić położenie i rozmiar otworów. Podadzą gęstość prawdopodobieństwa spotkania otworu w jakimś tam obszarze, a nawet mogą pokusić się o opisanie tej gęstości za pomocą jakiejś tam trójwymiarowej funkcji. Wymyślą nawet jakąś zasadę nieoznaczoności Plattenberga. Nie będą mogły jednak określić toru lotu pocisków, gdyż ten tor pochodzi z trzeciego wymiaru. Analogie można piętrzyć, rzecz jednak w tym, że ten obraz można przenieść do naszego świata i wyobrazić sobie, że sytuacja w atomie przypomina tę z tarczy. Nie udaje się określić toru bo ten tor pochodzi na przykład z czwartego wymiaru. Dodatkowo tor przeszywa naszą trójwymiarową przestrzeń niemal prostopadle (niemal ortogonalnie). Ważne jest tu słowo niemal, któremu poświęcę później nieco więcej uwagi. Prostopadle, to znaczy, że w naszej przestrzeni pojawia się tylko błysk przejścia, który znika niemal tak szybko, jak się pojawił.

    Nie mam dostatecznie porządnej podstawy, żeby snuć dalej podobne rozważania, mając nadzieję, że jest w nich coś istotnego naukowo.  Tym niemniej trudno jest odgonić takie fantazje i marzenia, skoro układają się w ciekawy obraz. W marzeniach przeszkadza nieco zdanie Bohra, który wyraził myśl, że w nauce rozszerzeń można dokonywać tylko wtedy, gdy pewnych faktów nie można wytłumaczyć dotychczas istniejącymi sposobami. Gdyby tę myśl potraktować rygorystycznie, to nie mielibyśmy DFT. Marzyć trzeba :)

Przytoczony w poprzednim poście przykład tarczy strzeleckiej może posłużyć do dalszych rozważań nad nad niedozwolonymi (póki co) wymiarami geometrycznymi, które mogłyby pomóc w zrozumieniu budowy atomu. Szczęście moje nie miałoby granic, gdybym podobny opis był w stanie wykonać za pomocą serii wzorów matematycznych. Nie umiem jednak tego zrobić. Pozostaje mi tylko opis poprzez analogie. Mało to naukowe, ale lepsze niż żadne.
   Zacznę od tego, że wszystko w atomie jest tajemnicze, oprócz równania Schroedingera. Ono załatwia niemal wszystko. Niczego nie rozumiemy, ale potrafimy obliczyć wartości żądanych parametrów. Jednym z tajemniczych elementów w atomie jest jego stan stacjonarny. Weźmy izolowany atom wodoru. Proton i elektron tworzą trwały układ, który reaguje na bodźce zewnętrzne, ale po chwilowym z nimi flircie wraca do stanu podstawowego. Coś takiego jak wańka-wstańka. Większe wychylenie od stanu równowagi wymaga większej energii aż przy pewnej, dostatecznie dużej wartości energii zaburzenia elektron odrywa się od pola protonu i pomyka sobie w dal. Znamy ten obraz dobrze.  Przedstawiona analogia wańko-wstańkowa jest pociągająca, ale nie przystaje do świata kwantów. Bo czymże miałby być mechaniczny atom wodoru - nie wiadomo. Nie wiadomo również, co zmusza elektrony do powrotu do stanu podstawowego. Dlaczego stany wzbudzone są tak nietrwałe. Nie wiemy, jak następuje przejście od jednego stanu do drugiego. Potrafimy opisać energię i prawdopodobieństwa, ale mechanizmów zachowania się elektronu już nie. Podobna sytuacja jest wysoce niezadowalająca. Przyjdzie czas, że trzeba będzie się nad tym zastanowić.
Jeszcze więcej o tarczy strzeleckiej II

 Wyobraźmy sobie, że ktoś strzela do tarczy w taki sposób, że jednakowe pociski mają jednakową energię w momencie dotykania tarczy. Przy czym strzelec wypuszcza swoje pociski pod różnym kątem do powierzchni tarczy. Załóżmy dalej, że tarcza zbudowana jest z jednorodnego materiału, który stawia pociskowi opór, ale nie wywołuje koziołkowania i innych efektów, które mogłyby zaburzyć niemal prostoliniowy lot.  Jest oczywiste, że energia pocisku opuszczającego tarczę po drugiej stronie będzie mniejsza,  gdy droga przebyta przez pocisk wewnątrz tarczy będzie dłuższa (rysunek poniżej):
    Powyższy obraz ma służyć za kanwę opisu atomu, którego stan wymaga zastosowania dodatkowego wymiaru przestrzennego. Od razu zastrzegam się, że przedstawiona poniżej koncepcja nie ma podstawy matematycznej (nad czym boleję), ale może być podstawą do stworzenia takiego opisu. Wszak to teoria decyduje, co obserwujemy.
    Załóżmy, że istnieje układ stabilny mechanicznie, zwany atomem i niech to będzie atom wodoru. Taka wańka-wstańka. Stabilność mechaniczna jest wynikiem tego, że atom jest zanurzony w czwartym wymiarze przestrzennym (nie chodzi o czas w czasoprzestrzeni Einsteina). Być może w tamtym wymiarze tor elektronu jest ściśle określony, ale rzut tego toru na naszą przestrzeń daje się opisać tylko rozkładem gęstości prawdopodobieństwa (analogia z tarczą strzelecką). W celu zaburzenia równowagi atomu należy naświetlić go promieniowaniem o odpowiednich częstotliwościach. Zaburzenie to wywołuje krótkotrwałe wyłanianie się elektronu z czwartego wymiaru od naszej przestrzeni 3D (wańka-wstańka zaczyna się kiwać). Im zaburzenie większe, tym zachowanie się elektronu w 3D zaczyna przypominać tor (albo tunel, którego granice określone są zasadą nieoznaczoności). Duże zaburzenia (atomy rydbergowskie) pozwalają na obserwację torów przypominających ruchy po okręgu. Można powiedzieć, że elektron dłużej przebywa w 3D niż w czwartym wymiarze. Zaburzenie dostatecznie duże powoduje niemal całkowite zanurzenie się elektronu w przestrzeni 3D i oderwanie go od protonu (czyli zwykła jonizacja). Elektron ucieka precz gdzieś kończy samotny żywot na jakimś obiekcie materialnym, który przyciąga go siłami elektrostatycznymi.
    Ten obraz można podsumować następująco:
  1. Stan podstawowy atomu jest stanem trwałym mechanicznie, ale zanurzonym w czwartym wymiarze. Być może w tym wymiarze elektrony mają ściśle określone tory.
  2. Zaburzenie energetyczne (pochłanianie energii przez elektrony) powoduje wyłanianie się elektronu z czwartego wymiaru do 3D, ale i powrót do czwartego wymiaru związany z emisję energii.
  3. Wzrost zaburzenia powoduje wzrost  długości drogi elektronu w 3D (a może i czasu przebywania w 3D).
    Z przytoczonych powyżej wniosków wynikają ciekawe konsekwencje, które opiszę w następnym poście.

piątek, 15 czerwca 2012

35-36. Teoria falowa, teoria chaosu, mechanika klasyczna (kompilacja wpisów 2011-2012

    Zastanawiające, jak różne są obie teorie. Pierwsza z nich jest całościowa w tym sensie, że jedno równanie może opisać zachowanie się obiektu w całej przestrzeni. Zmniejszanie obszaru obserwacji w teorii falowej prowadzi do zaniku fali. W bardzo małych obszarach fale znikają i pojawiają się co najwyżej dyskretne sygnały pojedynczych obiektów.
   Teoria chaosu deterministycznego też opiera się na pojedynczym równaniu, a raczej szeregu. Tutaj potrafimy przewidzieć wartość następnego kroku w pojedynczej iteracji, ale gubimy się w przewidywaniu całościowego zachowania się takiego szeregu. Nie potrafimy od razu podać wyniku dla wielu tysięcy iteracji. Po prostu trzeba je zrobić, aby dostrzec wynik całościowy.
   "Część i całość" - chciałoby się rzec za Heisenbergiem. Jednakże, dawno temu Autorzy mechaniki kwantowej nie mogli wiedzieć o części tyle, co my wiemy dzisiaj. Oni nie znali teorii chaosu. Współcześnie mamy lepiej, ale co z tego, gdy robimy za epigonów. Czegoś brakuje w teorii kwantowej - być Może Einstein miał rację, ale on też zapewne nie znał teorii chaosu. Owo coś, to dyskretność. Utożsamienie Borna to za mało. Matematyczna elegancja i dobrze pracujący aparat matematyczny, to za mało. Te ciągłe funkcje falowe są zbyt eleganckie i zbyt mało szalone, żeby miały królować w teorii kwantów po wsze czasy. Tak jest, teoria kwantowa jest stanowczo za mało szalona. To, że jest absurdalna nie oznacza, że jest szalona. Pytanie, gdzie leży szaleństwo, które pchnie teorię kwantów na tory ściśle kwantowe? 

Wpis drugi
 Do dziś stosuje się podział na mechanikę klasyczną, opartą  na równaniach Newtona oraz mechanikę kwantową, opracowaną przez wielkich fizyków początku XX wieku. Tak jest, ale dla mnie ten podział jest dziwaczny. Bierze się to stąd, że dla mnie mechanika kwantowa jest zupełnie klasyczna. Choćby ze względu na to, że ma prawie sto lat. Można się sprzeczać czy równanie Schroedingera jest klasyczne, czy nie, ale w czasie, gdy się rodziłem, miało już prawie czterdzieści lat.
    Według mnie rysuje się podział na mechanikę ciał dużych, którą nazwałbym makroniką (macronics) oraz mechanikę obszarów i ciał małych, którą można by nazwać nanoniką (nanonics). Myśląc o obszarach i ciałach małych, biorę pod uwagę taką skalę, która zmusza do uwzględnienia w użytecznych obliczeniach zasad nieoznaczoności Heisenberga i stałej Plancka oczywiście. Może to być skala atomowa lub mniejsza. Nowa nomenklatura jest elastyczna i pozwala na używanie innych przedrostków skalujących. Nic nie stoi na przeszkodzie, żeby mówić np. femtonice (femtonics).

    Kłopot z nowymi nazwami polega na tym, że nie pasują do skostniałych systemów. Trudno namówić kogoś do zmiany nazwy, gdy nic nowego w nauce się nie dzieje. Mechanika kwantowa (nanonika po nowemu) jest absurdalną, ale skostniałą w swym absurdzie dziedziną poznania fizycznego. Szkoda...

poniedziałek, 4 czerwca 2012

34. Wykładniki Lapunowa dla kwadratu funkcji logarytmicznej II

    Poprzednio pokazałem, że kwadrat funkcji logarytmicznej posiada wykładniki Lapunowa większe od zera w pewnym przedziale zmiennej c przy czym c było mnożone przez logarytm. Obecnie pokażę, zachowanie się wykładników Lapunowa w wypadku, gdy zmienna c jest mnożona przez zmienną niezależną:

 Odpowiedni program napisany w QBASICU wpisuje do pliku "lapunow5.dat" zbiór wartości wykładników Lapunowa w przedziale zmiennej c(0.10, 4.00):


'wykladnik Lapunowa dla log(c*x)^2
CLS: SCREEN 12
N = 4000      ' liczba iteracji
OPEN "lapunow5.dat" FOR APPEND AS #1
FOR c = .1 TO 4 STEP .01     'wspolcz. w rown. logarytmicznym
  suma = 0
  x = .7
  FOR i = 1 TO N
    suma = suma + LOG(ABS(2 * LOG(c * x) / x))'suma log pochod.
    x = LOG(c * x) ^ 2 'iterowane rown. logarytmiczne
  NEXT i
  Lapunow = suma / N    ' wykladnik Lapunowa
   PRINT #1, c, Lapunow
  'PSET (c * 150, 100 - Lapunow * 100)  'obraz na ekranie
NEXT c
CLOSE #1


Wynik działania programu przedstawiłem poniżej na wykresie zależności wykładników Lapunowa od wartości zmiennej c:

W zakresie c(0.1, 1.85) wykładniki Lapunowa mają wartość dodatnią, co sugeruje, że w tym zakresie funkcja logarytmiczna posiada rozwiązania chaotyczne.

czwartek, 31 maja 2012

33. DFT ab initio

Tytuł jest nieco przewrotny i ma sugerować, że rozważam teorię DFT od początku.

    Zastanawiam się, skąd się wzięła idea DFT. Podejrzewam, że genezą tej teorii jest dość prosta konstatacja, że podstawą obliczeń kwantowych powinny być wielkości obserwowalne. Równanie Schroedingera opiera się na abstrakcyjnej funkcji falowej, która w ogólności jest funkcją zespoloną. Wydaje się, że funkcje zespolone nie są tworami obserwowanymi w przyrodzie (choć istnieją próby dowodu odwrotnego). Dopiero utożsamienie przez Borna kwadratu modułu funkcji falowej z gęstością prawdopodobieństwa znalezienia cząstki w określonym obszarze pozwoliło (choć z oporami) "udomowić" owo równanie. Kwadrat modułu jest wielkością nieujemną obrazuje zatem istotną dla chemii gęstość elektronową. 
    Parr i Yang założyli, że podstawią obliczeń powinna być wielkość obserwowalna, jaką jest gęstość elektronowa [R.G. Parr, W. Yang, Density-Functional Theory of Atoms and Molecules, in The International Series of Monographs on Chemistry, Oxford University Press, Oxford, New York 1989]. Obowiązuje nadal schemat obliczeniowy równania Schroedingera, ale tak przekształcony, żeby w miejscu funkcji falowej pojawiła się gęstość i jej wielkości pochodne. Dla odróżnienia od formalizmu Schroedingera teorię tę nazwano teorią funkcjonałów, choć chodzi oczywiście o aparat matematyczny związany z obliczaniem i własnościami funkcji, której argumentem jest inna funkcja. Można postawić pytanie, co jest źródłem informacji o gęstości elektronowej w omawianej teorii. Otóż źródłem tym jest kwadrat modułu arbitralnie dobranej funkcji falowej. Do tej pory nie znaleziono innego źródła. Wydaje mi się jednak, że powinna istnieć inna procedura matematyczna, która mogłaby zastąpić funkcję falową. Procedura ta musi dawać w wyniku wielkość, którą można utożsamić z gęstością elektronową....

środa, 23 maja 2012

32. Automaty komórkowe


Tekst napisany w roku 2004

    Automaty komórkowe zainteresowały mnie na chwilę, przy okazji lektury książki Petera Coveneya i Rogera Higfielda Granice złożoności, Prószyński i S-ka, Warszawa 1997. Napisałem kilka programów w QBASICu, które odtwarzały zestaw reguł rządzących automatem. Poniżej przytaczam program, który losuje położenia punktów w "świecie automatu" i następnie realizuje schemat ewolucyjny według zadanych reguł.

'automat komórkowy. odtwarza dane książkowe. Zbudowany 2 marca 2001.
bok = 50        ' bok świata
lewol = 1000    ' liczba ewolucji
screen 10
 dim a(1 to bok, 1 to bok)
 dim b(1 to bok, 1 to bok)
'przypadkowy układ punktów
for j = 1 to 723
  x = int(rnd(1) * bok) + 1
  y = int(rnd(1) * bok) + 1
  a(x, y) = 1: pset (x * 2, y * 2)
next j
'pętla główna
for k = 1 to lewol
  for y = 2 to bok - 1
    for x = 2 to bok - 1
      gosub sasiedzi:
      if a(x, y) = 1 then
        if (suma = 2) or (suma = 3) then b(x, y) = 1
      else
        b(x, y) = 0
      end if
        if suma = 3 then b(x, y) = 1
    next x
  next y

'nowa tablica a i malowanie tablicy b na ekranie, zerowanie tablicy b
 for y = 1 to bok
   for x = 1 to bok
      a(x, y) = 0                   'zerowanie tablicy a
      a(x, y) = b(x, y)             'nadawanie nowych wartoœci tablicy a
      pset (x * 2, y * 2), 0        'mazanie starego ekranu
     if b(x, y) = 1 then pset (x * 2, y * 2), 1    'malowanie nowego ekranu
     b(x, y) = 0                    'zerowanie tablicy b
   next x
 next y
next k
end

sasiedzi:
'oblicza liczbę "pionków" wokół badanego punktu
  suma = 0
      for i = x - 1 to x + 1
        for j = y - 1 to y + 1
          if (i = x) and (j = y) then goto tu
          if a(i, j) = 1 then suma = suma + 1
tu:      next j
      next i
return

  Obserwacja zmian na ekranie jest ciekawa. Oczekuje się rychłego ustabilizowania się układu ewoluujących punktów, a tymczasem całość długo zmienia swoją postać. 
    Poniżej pokazuję ekran monitora po pewnej liczbie iteracji.
(2kB)
  Pewne układy początkowe stabilizują się po pewnej liczbie iteracji. Ciekawe zjawisko, zwłaszcza, że modyfikuje się pole wokół obiektu. Czuje się tu jakiś związek z fizyką cząstek. Tylko jaki?

31. Przygoda z chaosem


    

Moja przygoda z chaosem rozpoczęła się chyba podobnie, jak analiza zachowania się populacji zwierzaczków, robiona w 1975 roku przez Mitchella Feigenbauma, od zabawy z kalkulatorem. Dawno temu, może w czwartej klasie szkoły średniej, dostałem od Rodziców taką maszynkę. Ówcześnie to był czad! Miałem w rękach czarny, zgrabnie zaprojektowany i wykonany Texas Instruments z czerwonym wyświetlaczem. Byłem zdumiony, gdy zauważyłem, że na klawiaturze brakuje klawisza ze znakiem "równa się". Wtedy zetknąłem się po raz pierwszy z Odwrotną Notacją Polską. Dowiedziałem się o niej za pomocą amerykańskiej technologii, a nie przy pomocy polskich nauczycieli. Dziwna jakaś była ta edukacja w naszym Kraju.
    W ramach zabawy z nowym urządzeniem robiłem próby z iteracyjnym obliczaniem rozmaitych funkcji, ale bez żadnego mądrego podtekstu, chyba w ramach odpoczynku pomiędzy kolejnymi zadaniami z technologii chemicznej. Wprowadzałem pomyślaną liczbę i naciskałem klawisz jakiejś funkcji (sinusa, pierwiastka, itp.) tyle razy aż wynik się ustalił, albo wyświetlił się znak błędu. Jednak zachowanie się jednej z tych funkcji było odmienne od pozostałych.
    Gdy logarytmowałem jakiś ułamek, otrzymywałem wynik, który był oczywiście liczbą ujemną. Wydawało się, że to koniec zabawy, gdyż próba logarytmowania liczy ujemnej na kalkulatorze daje sygnał błędu. Zrobiłem jednak jeden krok dalej. Po prostu usunąłem znak minus sprzed wyniku i logarytmowanie wykonałem ponownie. Powtarzałem tę zabawę, ale okazało się, że nie umiałem zakończyć tak powtarzanej operacji. Ciągle pojawiały się jakieś liczby, mniejsze, albo większe od jedności. Operację mogłem powtarzać godzinami i nie udawało mi się dojść do jakiejś granicy... 
    Wszystko się jednak nudzi po jakimś czasie. Zapomniałem o tej zabawie na rok lub dwa. W tym czasie pojawiły się komputery ZX81 a potem Spectrum.
    Na studiach chemicznych nauczyłem się konstruować schematy blokowe procedur obliczeniowych i tworzyć odpowiednie programy komputerowe z wykorzystaniem języka BASIC. Lubię ten język... Wtedy przypomniałem sobie o niesfornym logarytmie. Schemat iteracji zapisałem następująco:
xn+1 = abs(log(xn))
    Za x1 wybierałem liczbę większą od zera i "puszczałem" nieskończoną pętlę. Na ekranie monitora pojawiały się ciągi jakichś liczb, które nie chciały dążyć do żadnej konkretnej liczby. Program komputerowy zapisany w QBASICu* wyglądał tak:

'Program 00
x = .2 'na przykład 0.2 oczywiście
10 x = ABS(LOG(x))
PRINT x
GOTO 10

    Liczby migały na ekranie i, tak naprawdę, niewiele widziałem. Zmodyfikowałem nieco program, aby pokazywał generowane liczby w postaci punktów na osi x:

'Program 01 
SCREEN 12
x = .2
10 x = ABS(LOG(x))
PSET (x * 70, 100)
GOTO 10

    Powoli (na tamtych komputerach to było powoli) wyłaniała się kropkowana prosta, która miała dużo punktów przy początku osi. Punkty stawały się coraz rzadsze w miarę wzrostu wartości x. Po pewnym czasie obraz ustalał się:

Rysunek kreseczki, która pojawiła się po wykonaniu programu 01

    Tu przyszła mi do głowy pewna, całkiem kartezjańska myśl. Każdy punkt xn+1 może być potraktowany jako punkt na osi prostopadłej do osi punktu xn. To oznacza tyle, że wolno mi przyjąć, iż y = xn+1, a każde y może być następnym xn. Mogę po prostu narysować pojawiające się punkty w dwuwymiarowym układzie współrzędnych tak, jak rysuje się funkcje. Myśl tę zobrazowałem za pomocą prostego programu:

'Program 02
SCREEN 12
y = .2              'na przykład 0.2 oczywiście
skala = 30
10 x = y
y = ABS(LOG(x))
PSET (x * skala, y * skala)
GOTO 10

    Otrzymałem dwie krzywe, schodzące się w jednym punkcie. Krzywe te podobnie, jak poprzednio były gęsto usiane punktami przy początku układu współrzędnych. Dalej punkty stawały się coraz rzadsze.

Rysunek krzywych, powstałych w wyniku działania programu 02

    Do programu dodałem drobną modyfikację, która usuwa znak minus sprzed zmiennej y podczas wydruku punktu oraz usunąłem brzydką komendę 'goto', zastępując ją elegancką pętlą:

'Program 03
SCREEN 12
LINE (50, 300)-(200, 300), 5
LINE (100, 250)-(100, 350), 5 ' rysuje początkowy fragment układu
y = .2
skala = 10
FOR i = 1 TO 5000
  x = ABS(y)
  y = LOG(x)
  PSET (x * skala + 100, 300 - y * skala)
NEXT i

 
    Program odtwarza funkcję log(x). Dla ułatwienia interpretacji rysunku dopisałem do programu komendy rysujące fragment osi układu współrzędnych:

Rysunek funkcji z programu 03

    Odtworzyłem w jakiś sposób funkcję logarytmiczną, ale nie całą, jedynie jej część dość bliską początkowi układu współrzędnych. Kolejne się iteracje nie wpływały już na rysunek. Układ osiągnął coś w rodzaju stanu stacjonarnego. Punkty są gęsto usiane w pobliżu początku układu współrzędnych, dalej są rozmieszczone coraz rzadziej.
    Zrobiłem jeszcze jedną modyfikację. Dodałem zmienną c, przez którą mnożyłem x w każdej pętli FOR...NEXT:

'Program 04
SCREEN 12
  y = .2
  skala = 30
FOR c = .01 TO 1 STEP .01
  FOR i = 1 TO 1000
    x = ABS(y)
    y = LOG(c * x)
    PSET (x * skala + 100, 200 - y * skala)
  NEXT i
NEXT c

    Okazało się, że zmienna c wpływa na postać wykresu. Gdy c jest w pobliżu 0,01 ukazuje się tylko kilka rozrzuconych punktów. Potem punkty te skupiają się, a od wartości c około 0,35 skromny układ punktów rozwija się w znane już nam krzywe logarytmiczne. Zastanawiałem się, czy nie mam tu przypadkiem problemu z dokładnością obliczeń, i że niektóre punkty być może są wynikiem kumulacji błędów. Podejrzewałem jednak, że w ogólności otrzymany obraz, chyba pokazuje jakąœ prawidłowość, ale jaką?

Rodzina krzywych otrzymanych z programu 04 przy różnych wartościach zmiennej c.

    Nieco później dowiedziałem się o teorii chaosu. Klasyczny sposób popularnego wprowadzenia do tego zagadnienia, polega na pokazaniu pojawiania się chaosu w funkcji logistycznej:

xn+1 = cxn(1-xn)

    W zależności od (ustalonej wartości) zmiennej c, iteracja prowadzi albo do pojedynczego rozwiązania, zwanego atraktorem, albo rozwiązanie rozdwaja się w punkcje zwanym bifurkacją (rysowane są dwa punkty), albo wreszcie rozwiązania stają się chaotyczne i trudno przewidzieć, jaka wartość będzie wynikiem następnej iteracji. Poniższy program pozwala na zaobserwowanie opisanych zależności:

'Program 05
'Atraktory, bifurkacje i chaos w r. logistycznym
DIM x(30)
SCREEN 12
k = 1000
FOR c = .9 TO 4 STEP .01
  x = .1
  FOR n = 1 TO k
    x = c * x * (1 - x)                   'równanie logistyczne
    IF n >= (k - 30) THEN x(k - n) = x
  NEXT n
  FOR i = 1 TO 30
    PSET (100 * c, 400 - x(i) * 300)
  NEXT i
NEXT c
Atraktory, bifurkacje i chaos dla funkcji logistycznej

    Poniżej przedstawiam znacznie późniejszą wersję tego programu (z roku 2004), która pokazuje o wiele więcej punktów chaosu (ale czy to jest zaleta, nie wiem) i jest prostsza od poprzedniej.

'Program 06
'atraktory, bifurkacje i chaos funkcji logistycznej
SCREEN 12
FOR c = .9 TO 4 STEP .01
  x = .2
  min = 60                            'liczba iteracji początkowych
  FOR i = 1 TO 1000
    x = c * x * (1 - x)              'równanie logistyczne
    IF i > min THEN PSET (c * 100, 400 - x * 300)
  NEXT i
NEXT c

    W tym miejscu zdałem sobie sprawę, że mogę przedstawić równanie logistyczne w prostokątnym układzie współrzędnych opartym o osie x oraz xn+1. Kiedyś już to robiłem dla logarytmu. Ciekawiło mnie, jaka krzywa powstanie. Program, którym to policzyłem, różnił się niewiele od przedstawionego powyżej.

'Program 07
'atraktory, bifurkacje i chaos
SCREEN 12
FOR c = .9 TO 4 STEP .01
  y = .2
  min = 100                       'liczba iteracji początkowych
  FOR i = 1 TO 2000
    x = y
    y = c * x * (1 - x)           'r. logistyczne
    IF i > min THEN PSET (x * 200 + 100, 350 - y * 300)
  NEXT i
NEXT c

    Wynik działania tego programu przedstawiłem poniżej. Pojawiają się nowe informacje o zachowaniu się atraktorów i rozwiązań chaotycznych.


    Linia ukośna wewnątrz łuku paraboli pokazuje sytuację, w której rozwiązaniem jest atraktor przy wzrastających wartościach c. Potem pojawia się rozgałęzienie na dwa ramiona, co odpowiada pierwszej bifurkacji. Ramiona są kawałkiem jakiejś krzywej, co jest wyraźnie widoczne. Kolejne rozgałęzienie jest mniejsze. Następne rozgałęzienia stają się jeszcze mniejsze aż układ "rozwija się" nagle w parabolę! Kolejne wartości c zmieniają wysokość tej paraboli.
    Za pomocą następnego programu można prześledzić powstawanie jednej z takich parabol przy ustalonej wartości c, oraz po różnej liczbie iteracji, większej od minimalnej liczby iteracji, która zapewnia zbieżność do lokalnego atraktora.

'Program 08
'atraktory, bifurkacje i chaos
SCREEN 12
c = 4
  y = .2
min = 100                              'liczba iteracji początkowych
FOR i = 1 TO 120                       ' potem 200, 400 oraz 2000
  x = y
  y = c * x * (1 - x)                        'r. logistyczne
  IF i > min THEN PSET (x * 200 + 100, 350 - y * 300)
NEXT i
Rysunki paraboli po 120, 200 i 4000 iteracjach

    Nasuwają się ciekawe wnioski. Rozwiązania chaotyczne niosą najwięcej informacji o przestrzeni, w której rozgrywa się dramat iteracji równania nieliniowego. Oczywiście dzieje się to pod warunkiem, że przeprowadzimy dużą liczbę iteracji. Widzimy wyraźnie, że odtwarza się parabola (albo wcześniej funkcja logarytmiczna). Rozwiązania chaotyczne odtwarzają tylko część krzywej matematycznej w pobliżu początku układu współrzędnych. Dokładniej, część leżącą w zakresie nieujemnych wartości funkcji logistycznej. Chaos jest jednak informatywny w odróżnieniu od rozwiązań zawierających atraktory. Zdaje się również, że ustala się pewien rozkład punktów w odtwarzanej przestrzeni, co oznacza, że w ramach przedstawionego algorytmu chaos nie jest idealny (prawdopodobnie rozmieszczenie punktów nie jest równomierne). Powyżej pewnej liczby iteracji następne iteracje nie zmieniają rysunku, co może oznaczać, że został osiągnięty pewien "stan stacjonarny". To ostatnie spostrzeżenie jest intrygujące. Załóżmy, że istnieje pewien proces fizyczny, opisany jakąś funkcją, której przebieg można odtworzyć za pomocą iteracji chaotycznej. Wolno się spodziewać, że taki układ fizyczny osiągnie wspomniany stan stacjonarny. Dodatkowo, jeśli nawet dziedzina funkcji rozciągnięta jest na całą przestrzeń, to rozwiązania chaotyczne są lokalne i skupione w pobliżu początku układu współrzędnych. 
  Taka lokalność jest dla mnie szczególnie intrygująca i prowadzi do pytania, czy procesy dotychczas opisywane funkcjami, których dziedzina jest nieskończona, muszą koniecznie "włączać" ową nieskończoność do tego opisu?  Mogę zapytać inaczej, czy procesy kwantowe opisane ciągłymi funkcjami falowymi mogą posiadać chaotyczne rozwiązania, które znacznie lepiej odpowiadają idei kwantów niż owa ciągłość. Być może nie jest konieczne angażowanie całej przestrzeni do obliczenia właściwości układów kwantowych? Być może włączenie chaosu do takich rozważań zamieni niepokojącą nielokalność w lokalność, która jest bliższa naszemu ograniczonemu pojmowaniu świata. Ciekawi mnie to.  

* Współcześnie można uruchomić te paragramy przez emulację środowiska DOSu. Potrzebne informacje są na stronie QBASIC