Matematyka i muzyka są ściśle powiązane przez rytm, harmonię i struktury
Matematyka i muzyka są ściśle powiązane przez rytm, harmonię i struktury, które wykorzystują matematyczne wzory i proporcje do tworzenia estetycznych i emocjonalnych doznań. Z nieśmiałą ekscytacją przedstawiam moją pierwszą poważniejszą kompozycję, w której starałem się uchwycić te połączenia.
Scalar – zaawansowana aplikacja mobilna z silnikiem matematycznym mojego autorstwa
Liczba $\pi$ ukryta w liczbach pierwszych? Jak to możliwe? Przecież liczby pierwsze to „chaos”, a $\pi$ ma ścisły związek z najbardziej regularnym obiektem geometrycznym – tzn. z okręgiem / kołem.
Czym jest $\pi$?
$\pi$ to stosunek obwodu koła do jego średnicy.
$\pi$ to pole powierzchni koła o promieniu $1$.
$\pi$ to połowa obwodu koła o promieniu $1$.
$\pi$ to $\frac{1}{4}$ pola powierzchni sfery o promieniu $1$.
$\pi$ to $\frac{3}{4}$ objętości kuli o promieniu $1$.
$k\pi$ dla całkowitych $k$ to miejsca zerowe funkcji $\sin x$.
… i wiele innych …
Czym są liczby pierwsze?
Liczba pierwsza to liczba naturalna $n\in\mathbb{N}$ większa od $1$, której jednymi dzielnikami są $1$ oraz $n$.
Liczby pierwsze to „atomy” w teorii liczb, tzn. każdą liczbę naturalną można rozłożyć na iloczyn liczb pierwszych.
Rozmieszczenie liczb pierwszych wśród liczb naturalnych spełnia pewne zależności statystyczne, jednak nie jest znany żaden precyzyjny wzór dla określenia $n-tej$ liczby pierwszej. Ciekawskich odsyłam do artykułu „Prime-counting function”.
W 1963 polski matematyk Stanisław Ulam uprzyjemniał sobie czas spędzany w trakcie „bardzo długiego i bardzo nudnego” wykładu. Rekreacja polegała na takim wypisywaniu kolejnych liczby naturalnych 1, 2, 3, …, aby finalny kształt utworzył„spiralę kwadratową” . Poniżej przykład dla pierwszych 49 liczba naturalnych, spirala oczywiście nie kończy się na 49, chodzi jedynie o zobrazowanie zasady.
W kolejnym kroku na tak przygotowanej „tablicy” Ulam oznaczył wszystkie liczby pierwsze
następnie usuwając pozostałe.
W tym momencie jego oczom ukazał się niezwykle ciekawy i nieznany dotąd wzór – tendencja do układania się liczb pierwszych na „przekątnych / liniach diagonalnych”. Lepiej to obrazuje spirala wygenerowana dla znacznie większego zakresu liczb.
Każdy z Was może wygenerować podobną spiralę używają np. tego generatora.
Spirala Ulama i parzystość / nieparzystość liczb
Nietrudno zauważyć, że na liniach diagonalnych leżą albo same liczby parzyste, albo same liczby nieparzyste. Liczby pierwsze, poza 2, są nieparzyste – zatem nic dziwnego, że układają się na przekątnych reprezentujących liczby nieparzyste. Zaskakujące jest natomiast to, że niektóre diagonale zawierają ich znacznie więcej niż inne.
Spirala Ulama i wielomiany kwadratowe
Badania nad spiralą Ulama pokazały, że wzory przez nią ujawnione mają związek z generację przez niektóre funkcje kwadratowe nienaturalnie dużej liczby liczb pierwszych (ang. prime-rich quadratic polynomials), tzn. dla niektórych $f(x)=ax^2+bx+c$ „nienaturalnie” często $f(n)$ jest liczbą pierwszą dla $n\in\mathbb{N}$. Diagonale mogą być reprezentowane przez wielomiany stopnia 2, co wyjaśniam na poniższym schemacie.
Matematyka i muzyka są ściśle powiązane przez rytm, harmonię i struktury
Matematyka i muzyka są ściśle powiązane przez rytm, harmonię i struktury, które wykorzystują matematyczne wzory i proporcje do tworzenia estetycznych i emocjonalnych doznań. Z nieśmiałą ekscytacją przedstawiam moją pierwszą poważniejszą kompozycję, w której starałem się uchwycić te połączenia.
Scalar – zaawansowana aplikacja mobilna z silnikiem matematycznym mojego autorstwa
Jednym z najprostszych testów pierwszości jest weryfikacja czy dana liczba $n$ posiada dzielnik z przedziału $(2, \sqrt{n})$ – takie podejście nazywane jest metodą naiwną – i niestety charakteryzuje się dużą złożonością obliczeniową. Nawet przy wykorzystaniu Sita Eratostenesa złożoność obliczeniowa sięga $\frac{\sqrt{n}}{\log{n}}$. Jednak w cyklu „Zabawy z rekurencją” nie bardzo zwracamy uwagę na złożoność 🙂 , bardziej chodzi o zobrazowanie jak całe algorytmy mogą być łatwo zapisane w postaci krótkich matematycznych funkcji rekurencyjnych – zatem do dzieła 🙂
Rekurencyjne poszukiwanie dzielników
Naszym zadaniem będzie zdefiniowanie funkcji zwracającej $1$ jeśli podana liczba $n$ jest liczbą pierwszą oraz $0$ w przeciwnym wypadku. Zacznijmy jednak od podania funkcji weryfikującej czy liczba posiada dzielniki.
$${\small\text{CzyDzielnik}(n, a, b)=}$$
$${\small=\begin{cases}0&\text{dla}\quad a>b\\1&\text{dla}\quad n \mod a=0\\ \text{CzyDzielnik}(n, a+1, b)&\text{w inn. przyp.}\end{cases}}$$
Powyższa funkcja zwraca $1$ jeśli liczba $n$ posiada dzielnik z przedziału $(a,b)$, oraz $0$ w przeciwnym wypadku. Następnie definiujemy wyrażenie reprezentujące naiwny test pierwszości.
Rolą funkcji „CzyPierwsza” jest jedynie „wprawienie algorytmu w ruch” oraz zwrócenie negacji wyniki funkcji „CzyDzielnik”. Proste prawda? 🙂 Sprawdźmy więc w mXparser czy to faktycznie działa.
CzyPierwsza(1) = 0.0, czas oblicz. = 0.08 s.
CzyPierwsza(2) = 1.0, czas oblicz. = 0.03 s.
CzyPierwsza(3) = 1.0, czas oblicz. = 0.026 s.
CzyPierwsza(4) = 0.0, czas oblicz. = 0.022 s.
CzyPierwsza(5) = 1.0, czas oblicz. = 0.038 s.
CzyPierwsza(6) = 0.0, czas oblicz. = 0.015 s.
CzyPierwsza(7) = 1.0, czas oblicz. = 0.028 s.
CzyPierwsza(8) = 0.0, czas oblicz. = 0.015 s.
CzyPierwsza(9) = 0.0, czas oblicz. = 0.053 s.
CzyPierwsza(10) = 0.0, czas oblicz. = 0.011 s.
Wygląda na to, że obliczenia są poprawne! Teraz możemy zweryfikować ile jest liczb pierwszych w podanym przedziale, definiując
$$\pi(n)=\sum_{i=1}^n \text{CzyPierwsza}(i)$$
/* Definicja wyrażenia sumującego wynik funkcji CzyPierwsza */
Expression pi100 = new Expression("sum(i, 1, 100, CzyPierwsza(i) )");
pi100.addFunctions(CzyPierwsza);
/* Obliczenie i wyświetlenie wyniku */
mXparser.consolePrintln( "Liczba liczb pierwszych w przedziale (1,100) = " + pi100.calculate());
+ wynik
Liczba liczb pierwszych w przedziale (1,100) = 25.0
Pozdrowienia,
Mariusz Gromada
Pamiętajcie, że uruchamiając kody mXparsera należy dodać w nagłówku:
Matematyka i muzyka są ściśle powiązane przez rytm, harmonię i struktury
Matematyka i muzyka są ściśle powiązane przez rytm, harmonię i struktury, które wykorzystują matematyczne wzory i proporcje do tworzenia estetycznych i emocjonalnych doznań. Z nieśmiałą ekscytacją przedstawiam moją pierwszą poważniejszą kompozycję, w której starałem się uchwycić te połączenia.
Scalar – zaawansowana aplikacja mobilna z silnikiem matematycznym mojego autorstwa
Skalar - kalkulator, funkcje, wykresy i skrypty - Made in Poland
Skalar to potężny silnik matematyczny i matematyczny język skryptowy, który zbudowany jest na bazie MathParser.org-mXparser
Kliknij na wideo i zobacz Skalara w akcji 🙂
Scalar Lite – wersja lite
Scalar Pro – wersja profesjonalna
Kontynuując przeglądanie strony, wyrażasz zgodę na używanie przez nas plików cookies. więcej informacji
Aby zapewnić Tobie najwyższy poziom realizacji usługi, opcje ciasteczek na tej stronie są ustawione na "zezwalaj na pliki cookies". Kontynuując przeglądanie strony bez zmiany ustawień lub klikając przycisk "Akceptuję" zgadzasz się na ich wykorzystanie.