Różnica pomiędzy stronami "Szeregi liczbowe" i "Testy pierwszości. Liczby pseudopierwsze Lucasa i liczby silnie pseudopierwsze Lucasa. Test BPSW"

Z Henryk Dąbrowski
(Różnica między stronami)
Przejdź do nawigacji Przejdź do wyszukiwania
 
 
Linia 1: Linia 1:
<div style="text-align:right; font-size: 130%; font-style: italic; font-weight: bold;">07.04.2022</div>
+
<div style="text-align:right; font-size: 130%; font-style: italic; font-weight: bold;">11.01.2023</div>
  
 
__FORCETOC__
 
__FORCETOC__
Linia 5: Linia 5:
  
  
== Szeregi nieskończone ==
+
== Ciągi Lucasa ==
  
<span style="font-size: 110%; font-weight: bold;">Definicja D1</span><br/>
+
<span style="font-size: 110%; font-weight: bold;">Definicja N1</span><br/>
Sumę wszystkich wyrazów ciągu nieskończonego <math>(a_n)</math>
+
Niech <math>P, Q \in \mathbb{Z} \setminus \{0\}</math> oraz <math>D = P^2 - 4 Q \neq 0</math>. Ciągi Lucasa <math>U_n = U_n (P, Q)</math> i <math>V_n = V_n (P, Q)</math> definiujemy następująco
  
::<math>a_1 + a_2 + a_3 + \ldots + a_n + \ldots = \sum_{k = 1}^{\infty} a_k</math>
+
::<math>U_n = {\small\frac{\alpha^n - \beta^n}{\alpha - \beta}} = {\small\frac{\alpha^n - \beta^n}{\sqrt{D}}}</math>
  
nazywamy szeregiem nieskończonym o&nbsp;wyrazach <math>a_n</math>.
+
::<math>V_n = \alpha^n + \beta^n</math>
  
 +
gdzie liczby
  
 +
::<math>\alpha = {\small\frac{P + \sqrt{D}}{2}}</math>
  
<span style="font-size: 110%; font-weight: bold;">Definicja D2</span><br/>
+
::<math>\beta = {\small\frac{P - \sqrt{D}}{2}}</math>
Ciąg <math>S_n = \sum_{k = 1}^{n} a_k</math> nazywamy ciągiem sum częściowych szeregu <math>\sum_{k = 1}^{\infty} a_k</math>.
 
  
 +
są pierwiastkami równania <math>x^2 - P x + Q = 0</math>.
  
  
<span style="font-size: 110%; font-weight: bold;">Definicja D3</span><br/>
 
Szereg <math>\sum_{k = 1}^{\infty} a_k</math> będziemy nazywali zbieżnym, jeżeli ciąg sum częściowych <math>\left ( S_n \right )</math> jest zbieżny.
 
  
 +
<span style="font-size: 110%; font-weight: bold;">Uwaga N2</span><br/>
 +
Zauważmy, że:
  
 +
::<math>P = \alpha + \beta</math>
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie D4 (warunek konieczny zbieżności szeregu)</span><br/>
+
::<math>Q = \alpha \beta</math>
Jeżeli szereg <math>\sum_{k = 1}^{\infty} a_k</math> jest zbieżny, to <math>\lim_{n \to \infty} a_n = 0</math>.
+
 
 +
::<math>\sqrt{D} = \alpha - \beta</math>
 +
 
 +
::<math>U_0 = 0</math>, <math>U_1 = 1</math>, <math>V_0 = 2</math> i <math>V_1 = P</math>
 +
 
 +
 
 +
Warunek <math>P^2 - 4 Q \neq 0</math> wyklucza następujące pary <math>(P, Q)</math>
 +
 
 +
::<math>(0, 0), (\pm 2, 1), (\pm 4, 4), (\pm 6, 9), (\pm 8, 16), (\pm 10, 25), (\pm 12, 36), ..., (\pm 2 n, n^2), ...</math>
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 
Niech <math>S_n = \sum_{k = 1}^{n} a_k</math> będzie ciągiem sum częściowych, wtedy <math>a_{n + 1} = S_{n + 1} - S_n</math>. Z&nbsp;założenia ciąg <math>(S_n)</math> jest zbieżny, zatem
 
  
::<math>\lim_{n \to \infty} a_{n + 1} = \lim_{n \to \infty} \left ( S_{n+1} - S_{n} \right ) = \lim_{n \to \infty} S_{n + 1} - \lim_{n \to \infty} S_n = 0</math><br/>
 
&#9633;
 
{{\Spoiler}}
 
  
 +
<span style="font-size: 110%; font-weight: bold;">Uwaga N3</span><br/>
 +
Oczywiście liczby <math>\alpha</math> i <math>\beta</math> są również pierwiastkami równania
  
 +
::<math>x^{n + 2} - P x^{n + 1} + Q x^n = 0</math>
  
Okazuje się, że bardzo łatwo podać przykład szeregów, dla których warunek <math>\lim_{n \to \infty} a_n = 0</math> jest warunkiem wystarczającym. Opisany w&nbsp;poniższym twierdzeniu rodzaj szeregów nazywamy szeregami naprzemiennymi.<br/>
+
Wynika stąd, że ciągi <math>(\alpha^n)</math> i <math>(\beta^n)</math> spełniają równania rekurencyjne
<span style="font-size: 110%; font-weight: bold;">Twierdzenie D5 (kryterium Leibniza)</span><br/>
 
Niech ciąg <math>(a_n)</math> będzie ciągiem malejącym o&nbsp;wyrazach nieujemnych. Jeżeli
 
  
::<math>\underset{n \rightarrow \infty}{\lim} a_n = 0</math>
+
::<math>\alpha^{n + 2} = P \alpha^{n + 1} - Q \alpha^n</math>
  
to szereg <math>\underset{k = 1}{\overset{\infty}{\sum}} (- 1)^{k + 1} \cdot a_k</math> jest zbieżny.
+
::<math>\beta^{n + 2} = P \beta^{n + 1} - Q \beta^n</math>
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
+
Ciągi Lucasa <math>(U_n)</math> i <math>(V_n)</math> spełniają identyczne równania rekurencyjne jak ciągi <math>(\alpha^n)</math> i <math>(\beta^n)</math>. Istotnie, odejmując i&nbsp;dodając stronami wypisane powyżej równania, otrzymujemy
Grupując wyrazy szeregu po dwa, otrzymujemy sumę częściową postaci
 
  
::<math>S_{2 m} = (a_1 - a_2) + (a_3 - a_4) + \ldots + (a_{2 m - 1} - a_{2 m})</math>
+
::<math>U_{n + 2} = P U_{n + 1} - Q U_n</math>
  
Ponieważ ciąg <math>(a_n)</math> jest ciągiem malejącym, to każde wyrażenie w&nbsp;nawiasie jest liczbą nieujemną. Z&nbsp;drugiej strony
+
::<math>V_{n + 2} = P V_{n + 1} - Q V_n</math>
  
::<math>S_{2 m} = a_1 - (a_2 - a_3) - (a_4 - a_5) - \ldots - (a_{2 m - 2} - a_{2 m - 1}) {- a_{2 m}}  < a_1</math>
+
Dlatego możemy zdefiniować ciągi Lucasa <math>(U_n)</math> i <math>(V_n)</math> w&nbsp;sposób równoważny
  
Zatem dla każdego <math>m</math> ciąg sum częściowych <math>S_{2 m}</math> jest rosnący i&nbsp;ograniczony od góry, skąd na mocy twierdzenia C10 jest zbieżny, czyli
 
  
::<math>\lim_{m \to \infty} S_{2 m} = g</math>
 
  
Pozostaje zbadać sumy częściowe <math>S_{2 m + 1}</math>. Rezultat jest natychmiastowy
+
<span style="font-size: 110%; font-weight: bold;">Definicja N4</span><br/>
 +
Niech <math>P, Q \in \mathbb{Z} \setminus \{0\}</math> oraz <math>D = P^2 - 4 Q \neq 0</math>. Ciągi Lucasa <math>(U_n)</math> i <math>(V_n)</math> określone są następującymi wzorami rekurencyjnymi
  
::<math>\lim_{m \to \infty} S_{2 m + 1} = \lim_{m \to \infty} (S_{2 m} + a_{2 m + 1}) = \lim_{m \to \infty} S_{2 m} + \lim_{m \to \infty}  a_{2 m + 1} = g + 0 = g</math>
+
::<math>U_0 = 0</math>, <math>U_1 = 1</math>, <math>U_n = P U_{n - 1} - Q U_{n - 2}</math>
  
Co kończy dowód.<br/>
+
::<math>V_0 = 2</math>, <math>V_1 = P</math>, <math>V_n = P V_{n - 1} - Q V_{n - 2}</math>
&#9633;
 
{{\Spoiler}}
 
  
  
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie D6</span><br/>
+
<span style="font-size: 110%; font-weight: bold;">Przykład N5</span><br/>
Dla <math>s > 1</math> prawdziwy jest następujący związek
+
Początkowe wyrazy ciągów Lucasa
  
::<math>\sum_{k = 1}^{\infty} \frac{(- 1)^{k + 1}}{k^s} = (1 - 2^{1 - s}) \sum_{k = 1}^{\infty} \frac{1}{k^s}</math>
+
::{| class="wikitable plainlinks"  style="font-size: 100%; text-align: left; margin-right: auto;"
 +
|-
 +
! <math>\boldsymbol{n}</math> !! <math>\boldsymbol{U_n (P, Q)}</math> !! <math>\boldsymbol{V_n (P, Q)}</math>
 +
|-
 +
| &nbsp;&nbsp;<math>0</math>&nbsp;&nbsp; || <math>0</math> || <math>2</math>
 +
|-
 +
| &nbsp;&nbsp;<math>1</math>&nbsp;&nbsp; || <math>1</math> || <math>P</math>
 +
|-
 +
| &nbsp;&nbsp;<math>2</math>&nbsp;&nbsp; || <math>P</math> || <math>P^2 - 2 Q</math>
 +
|-
 +
| &nbsp;&nbsp;<math>3</math>&nbsp;&nbsp; || <math>P^2 - Q</math> || <math>P^3 - 3 P Q</math>
 +
|-
 +
| &nbsp;&nbsp;<math>4</math>&nbsp;&nbsp; || <math>P^3 - 2 P Q</math> || <math>P^4 - 4 P^2 Q + 2 Q^2</math>
 +
|-
 +
| &nbsp;&nbsp;<math>5</math>&nbsp;&nbsp; || <math>P^4 - 3 P^2 Q + Q^2</math> || <math>P^5 - 5 P^3 Q + 5 P Q^2</math>
 +
|-
 +
| &nbsp;&nbsp;<math>6</math>&nbsp;&nbsp; || <math>P^5 - 4 P^3 Q + 3 P Q^2</math> || <math>P^6 - 6 P^4 Q + 9 P^2 Q^2 - 2 Q^3</math>
 +
|-
 +
| &nbsp;&nbsp;<math>7</math>&nbsp;&nbsp; || <math>P^6 - 5 P^4 Q + 6 P^2 Q^2 - Q^3</math> || <math>P^7 - 7 P^5 Q + 14 P^3 Q^2 - 7 P Q^3</math>
 +
|-
 +
| &nbsp;&nbsp;<math>8</math>&nbsp;&nbsp; || <math>P^7 - 6 P^5 Q + 10 P^3 Q^2 - 4 P Q^3</math> || <math>P^8 - 8 P^6 Q + 20 P^4 Q^2 - 16 P^2 Q^3 + 2 Q^4</math>
 +
|-
 +
| &nbsp;&nbsp;<math>9</math>&nbsp;&nbsp; || <math>P^8 - 7 P^6 Q + 15 P^4 Q^2 - 10 P^2 Q^3 + Q^4</math> || <math>P^9 - 9 P^7 Q + 27 P^5 Q^2 - 30 P^3 Q^3 + 9 P Q^4</math>
 +
|}
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 
Zauważmy, że założenie <math>s > 1</math> zapewnia zbieżność szeregu po prawej stronie. Zapiszmy szereg <math>\sum_{k = 1}^{\infty} \frac{1}{k^s}</math> w&nbsp;postaci sumy dla <math>k</math> parzystych i&nbsp;nieparzystych
 
  
::<math>\sum_{k = 1}^{\infty} \frac{1}{k^s} = 1 + \frac{1}{2^s} + \frac{1}{3^s} + \frac{1}{4^s} + \frac{1}{5^s} + \ldots =</math>
 
  
::::<math>\:\, = \sum_{k = 1}^{\infty} \frac{1}{(2 k - 1)^s} + \sum_{k = 1}^{\infty} \frac{1}{(2 k)^s} =</math>
+
<span style="font-size: 110%; font-weight: bold;">Uwaga N6</span><br/>
 +
W PARI/GP możemy napisać prosty kod, który pozwoli obliczyć wartości wyrazów <math>U_n (P, Q)</math> i <math>V_n (P, Q)</math>
  
::::<math>\:\, = \sum_{k = 1}^{\infty} \frac{1}{(2 k - 1)^s} + \frac{1}{2^s} \sum_{k = 1}^{\infty} \frac{1}{k^s}</math>
+
<span style="font-size: 90%; color:black;">LucasU(n, P, Q) = '''if'''( n == 0, 0, '''if'''( n == 1, 1, P*LucasU(n-1, P, Q) - Q*LucasU(n-2, P, Q) ) )</span>
  
Otrzymujemy wzór
+
<span style="font-size: 90%; color:black;">LucasV(n, P, Q) = '''if'''( n == 0, 2, '''if'''( n == 1, P, P*LucasV(n-1, P, Q) - Q*LucasV(n-2, P, Q) ) )</span>
  
::<math>\sum_{k = 1}^{\infty} \frac{1}{(2 k - 1)^s} = (1 - 2^{- s}) \sum_{k = 1}^{\infty} \frac{1}{k^s}</math>
 
  
  
Podobnie rozpiszmy szereg naprzemienny
+
<span style="font-size: 110%; font-weight: bold;">Twierdzenie N7</span><br/>
 +
Niech <math>D = P^2 - 4 Q</math>. Wyrazy ciągów Lucasa można przedstawić w&nbsp;postaci sumy
  
::<math>\sum_{k = 1}^{\infty} \frac{(- 1)^{k + 1}}{k^s} = 1 - \frac{1}{2^s} + \frac{1}{3^s} - \frac{1}{4^s} + \frac{1}{5^s} - \ldots =</math>
+
::<math>2^{n - 1} U_n = \sum_{k = 0}^{\lfloor (n - 1) / 2 \rfloor} \binom{n}{2 k + 1} P^{n - 2 k - 1} D^k</math>
  
::::::<math>= \sum_{k = 1}^{\infty} \frac{1}{(2 k - 1)^s} - \sum_{k = 1}^{\infty} \frac{1}{(2 k)^s} =</math>
+
::<math>2^{n - 1} V_n = \sum_{k = 0}^{\lfloor n / 2 \rfloor} \binom{n}{2 k} P^{n - 2 k} D^k</math>
  
::::::<math>= (1 - 2^{- s}) \sum_{k = 1}^{\infty} \frac{1}{k^s} - \frac{1}{2^s} \sum_{k = 1}^{\infty} \frac{1}{k^s} =</math>
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 +
Oznaczmy <math>\delta = \sqrt{D}</math>, zatem <math>2 \alpha = P + \delta</math> i <math>2 \beta = P - \delta</math>. Ze wzoru dwumianowego, mamy
  
::::::<math>= (1 - 2^{1 - s}) \sum_{k = 1}^{\infty} \frac{1}{k^s}</math>
+
::<math>2^n \alpha^n = (P + \delta)^n = \sum_{j = 0}^{n} \binom{n}{j} P^{n - j} \delta^j</math>
  
gdzie skorzystaliśmy ze znalezionego wyżej wzoru dla sumy szeregu <math>\sum_{k = 1}^{\infty} \frac{1}{(2 k - 1)^s}</math><br/>
+
::<math>2^n \beta^n = (P - \delta)^n = \sum_{j = 0}^{n} \binom{n}{j} P^{n - j} (- \delta)^j</math>
&#9633;
 
{{\Spoiler}}
 
  
 +
Obliczając sumę powyższych wzorów, otrzymujemy
  
 +
::<math>2^n (\alpha^n + \beta^n) = \sum_{j = 0}^{n} \binom{n}{j} P^{n - j} (\delta^j + (- \delta)^j)</math>
  
<span style="font-size: 110%; font-weight: bold;">Przykład D7</span><br/>
+
:::::<math>\quad \: = \sum_{k = 0}^{\lfloor n / 2 \rfloor} \binom{n}{2 k} P^{n - 2 k} \cdot 2 \delta^{2 k}</math>
Szeregi niekończone często definiują ważne funkcje. Dobrym przykładem może być funkcja eta Dirichleta<ref name="DirichletEta"/>, którą definiuje szereg naprzemienny
 
  
::<math>\eta (s) = \sum_{k = 1}^{\infty} \frac{(- 1)^{k + 1}}{k^s}</math>
+
:::::<math>\quad \: = 2 \sum_{k = 0}^{\lfloor n / 2 \rfloor} \binom{n}{2 k} P^{n - 2 k} D^k</math>
  
lub funkcja dzeta Riemanna<ref name="RiemannZeta"/>, którą definiuje inny szereg
+
gdzie <math>j = 2 k</math> i&nbsp;sumowanie przebiega od <math>k = 0</math> do <math>k = \lfloor n / 2 \rfloor</math>
  
::<math>\zeta (s) = \sum_{k = 1}^{\infty} \frac{1}{k^s}</math>
+
Zatem
  
Na podstawie twierdzenia D6 funkcje te są związane wzorem
+
::<math>2^{n - 1} V_n = \sum_{k = 0}^{\lfloor n / 2 \rfloor} \binom{n}{2 k} P^{n - 2 k} D^k</math>
  
::<math>\eta (s) = (1 - 2^{1 - s}) \zeta (s)</math>
 
  
Dla <math>s \in \mathbb{R}_+</math> funkcja eta Dirichleta jest zbieżna. Możemy ją wykorzystać do znajdowania sumy szeregu naprzemiennego <math>\sum_{k = 1}^{\infty} \frac{(- 1)^{k + 1}}{k^s}</math>.
+
Obliczając różnicę tych wzorów, mamy
  
::{| class="wikitable plainlinks"  style="font-size: 100%; text-align: left; margin-right: auto;"
+
::<math>2^n (\alpha^n - \beta^n) = \sum_{j = 0}^{n} \binom{n}{j} P^{n - j} (\delta^j - (- \delta)^j)</math>
|-
 
| <math>s = \frac{1}{2}</math>
 
| <math>\sum_{k = 1}^{\infty} \frac{(- 1)^{k + 1}}{\sqrt{k}} = 0.604898643421 \ldots</math>
 
| [https://www.wolframalpha.com/input/?i=DirichletEta%5B1%2F2%5D WolframAlpha]
 
|-
 
| <math>s = 1</math>
 
| <math>\sum_{k = 1}^{\infty} \frac{(- 1)^{k + 1}}{k} = \log 2 = 0.693147180559 \ldots</math>
 
| [https://www.wolframalpha.com/input/?i=DirichletEta%5B1%5D WolframAlpha]
 
|-
 
| <math>s = 2</math>
 
| <math>\sum_{k = 1}^{\infty} \frac{(- 1)^{k + 1}}{k^2} = \frac{\pi^2}{12} = 0.822467033424 \ldots</math>
 
| [https://www.wolframalpha.com/input/?i=DirichletEta%5B2%5D WolframAlpha]
 
|}
 
  
 +
:::::<math>\quad \: = \sum_{k = 0}^{\lfloor (n - 1) / 2 \rfloor} \binom{n}{2 k + 1} P^{n - 2 k - 1} \cdot 2 \delta^{2 k + 1}</math>
  
 +
:::::<math>\quad \: = 2 \delta \sum_{k = 0}^{\lfloor (n - 1) / 2 \rfloor} \binom{n}{2 k + 1} P^{n - 2 k - 1} D^k</math>
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie D8</span><br/>
+
gdzie <math>j = 2 k + 1</math> i&nbsp;sumowanie przebiega od <math>k = 0</math> do <math>k = \lfloor (n - 1) / 2 \rfloor</math>
Niech <math>N \in \mathbb{Z}_+</math>. Szeregi <math>\sum_{k = 1}^{\infty} a_k</math> oraz <math>\sum_{k = N}^{\infty} a_k</math> są jednocześnie zbieżne lub jednocześnie rozbieżne. W&nbsp;przypadku zbieżności zachodzi związek
 
  
::<math>\sum_{k = 1}^{\infty} a_k = \left ( a_1 + a_2 + \ldots + a_{N - 1} \right ) + \sum_{k = N}^{\infty} a_k</math>
 
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
+
Zatem
Niech <math>S(n) =\sum_{k = 1}^{n} a_k</math> (gdzie <math>n \geqslant 1</math>) oznacza sumę częściową pierwszego szeregu, a <math>T(n) = \sum_{k = N}^{\infty} a_k</math> (gdzie <math>n \geqslant N</math>) oznacza sumę częściową drugiego szeregu. Dla <math>n \geqslant N</math> mamy
 
  
::<math>S(n) = (a_1 + a_2 + \ldots + a_{N - 1}) + T (n)</math>
+
::<math>2^{n - 1} \cdot {\small\frac{\alpha^n - \beta^n}{\sqrt{D}}} = 2^{n - 1} U_n = \sum_{k = 0}^{\lfloor (n - 1) / 2 \rfloor} \binom{n}{2 k + 1} P^{n - 2 k - 1} D^k</math>
  
Widzimy, że dla <math>n</math> dążącego do nieskończoności zbieżność (rozbieżność) jednego ciągu implikuje zbieżność (rozbieżność) drugiego.<br/>
+
Co należało pokazać.<br/>
 
&#9633;
 
&#9633;
 
{{\Spoiler}}
 
{{\Spoiler}}
Linia 152: Linia 161:
  
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie D9 (kryterium porównawcze)</span><br/>
+
<span style="font-size: 110%; font-weight: bold;">Uwaga N8</span><br/>
Jeżeli istnieje taka liczba całkowita <math>N_0</math>, że dla każdego <math>k > N_0</math> jest spełniony warunek
+
Korzystając z&nbsp;twierdzenia N7, możemy napisać proste funkcje do znajdowania postaci kolejnych wyrazów <math>U_n (P, Q)</math> i <math>V_n (P, Q)</math>
 +
 
 +
<span style="font-size: 90%; color:black;">U(n) = 2^(1 - n)*'''sum'''(k=0, '''floor'''((n-1)/2), '''binomial'''(n, 2*k+1) * P^(n-2*k-1) * (P^2-4*Q)^k)</span>
 +
 
 +
<span style="font-size: 90%; color:black;">V(n) = 2^(1 - n)*'''sum'''(k=0, '''floor'''(n/2), '''binomial'''(n, 2*k) * P^(n-2*k) * (P^2-4*Q)^k)</span>
  
::<math>0 \leqslant a_k \leqslant b_k</math>
 
  
to
 
  
#&nbsp;&nbsp;&nbsp;zbieżność szeregu <math>\sum_{k = 1}^{\infty} b_k</math> pociąga za sobą zbieżność szeregu <math>\sum_{k = 1}^{\infty} a_k</math>
+
Często możemy spotkać założenie <math>P \geqslant 1</math>. Poniższe twierdzenie wyjaśnia, dlaczego tak jest.
#&nbsp;&nbsp;&nbsp;rozbieżność szeregu <math>\sum_{k = 1}^{\infty} a_k</math> pociąga za sobą rozbieżność szeregu <math>\sum_{k = 1}^{\infty} b_k</math>
+
 
 +
<span style="font-size: 110%; font-weight: bold;">Twierdzenie N9</span><br/>
 +
Jeżeli <math>(U_n)</math> i <math>(V_n)</math> są ciągami Lucasa, to
 +
 
 +
::<math>U_n (- P, Q) = (- 1)^{n - 1} U_n (P, Q)</math>
 +
 
 +
::<math>V_n (- P, Q) = (- 1)^n V_n (P, Q)</math>
  
 
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
Dowód przeprowadzimy dla szeregów <math>\sum_{k = N_0}^{\infty} a_k</math> oraz <math>\sum_{k = N_0}^{\infty} b_k</math>, które są (odpowiednio) jednocześnie zbieżne lub jednocześnie rozbieżne z&nbsp;szeregami <math>\sum_{k = 1}^{\infty} a_k</math> oraz <math>\sum_{k = 1}^{\infty} b_k</math>.
+
Niech
  
'''Punkt 1.'''<br/>
+
::<math>\alpha = \frac{P + \sqrt{D}}{2} \qquad \qquad \;\; \beta = \frac{P - \sqrt{D}}{2}</math>
Z założenia szereg <math>\sum_{k = N_0}^{\infty} b_k</math> jest zbieżny. Niech <math>\sum_{k = N_0}^{\infty} b_k = b</math>, zatem z&nbsp;założonych w&nbsp;twierdzeniu nierówności dostajemy
 
  
::<math>0 \leqslant \sum_{k = N_0}^{n} a_k \leqslant \sum_{k = N_0}^{n} b_k \leqslant b</math>
+
::<math>a = \frac{- P + \sqrt{D}}{2} \qquad \qquad b = \frac{- P - \sqrt{D}}{2}</math>
  
Zauważmy, że ciąg sum częściowych <math>A_n = \sum_{k = N_0}^{n} a_k</math> jest ciągiem rosnącym (bo <math>a_k \geqslant 0</math>) i&nbsp;ograniczonym od góry. Wynika stąd, że ciąg <math>\left ( A_n \right )</math> jest zbieżny, zatem szereg <math>\sum_{k = N_0}^{\infty} a_k</math> jest zbieżny.
+
Liczby <math>\alpha, \beta</math> oraz <math>a, b</math> są odpowiednio pierwiastkami równań
  
'''Punkt 2.'''<br/>
+
::<math>x^2 - P x + Q = 0</math>
Z założenia szereg <math>\sum_{k = N_0}^{\infty} a_k</math> jest rozbieżny, a&nbsp;z&nbsp;założonych w&nbsp;twierdzeniu nierówności dostajemy
 
  
::<math>0 \leqslant \sum_{k = N_0}^{n} a_k \leqslant \sum_{k = N_0}^{n} b_k</math>
+
::<math>x^2 + P x + Q = 0</math>
  
Rosnący ciąg sum częściowych <math>A_n = \sum_{k = N_0}^{n} a_k</math> nie może być ograniczony od góry, bo przeczyłoby to założeniu, że szereg <math>\sum_{k = N_0}^{\infty} a_k</math> jest rozbieżny. Wynika stąd i&nbsp;z&nbsp;wypisanych wyżej nierówności, że również ciąg sum częściowych <math>B_n = \sum_{k = N_0}^{n} b_k</math> nie może być ograniczony od góry, zatem szereg <math>\sum_{k = N_0}^{\infty} b_k</math> jest rozbieżny.<br/>
+
Zatem definiują one ciągi Lucasa
&#9633;
+
 
{{\Spoiler}}
+
::<math>U_n (P, Q) = \frac{\alpha^n - \beta^n}{\alpha - \beta} \qquad \qquad \;\; V_n (P, Q) = \alpha^n + \beta^n</math>
  
 +
::<math>U_n (- P, Q) = \frac{a^n - b^n}{a - b} \qquad \qquad V_n (- P, Q) = a^n + b^n</math>
  
 +
Zauważmy, że
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie D10</span><br/>
+
::<math>\alpha - \beta = a - b = \sqrt{D}</math>
Jeżeli szereg <math>\sum_{k = 1}^{\infty} \left | a_k  \right |</math> jest zbieżny, to szereg <math>\sum_{k = 1}^{\infty} a_k</math> jest również zbieżny.
 
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
+
::<math>\frac{a}{\beta} = \frac{b}{\alpha} = - 1</math>
Niech <math>b_k = a_k + | a_k |</math>. Z&nbsp;definicji prawdziwe jest następujące kryterium porównawcze
 
  
::<math>0 \leqslant b_k \leqslant 2 | a_k |</math>
+
Łatwo znajdujemy
  
Zatem z&nbsp;punktu 1. twierdzenia D9 wynika, że szereg <math>\sum_{k = 1}^{\infty} b_k</math> jest zbieżny. Z&nbsp;definicji wyrazów ciągu <math>\left ( b_k \right )</math> mamy <math>a_k = b_k - | a_k |</math> i&nbsp;możemy napisać
+
::<math>U_n (- P, Q) = \frac{a^n - b^n}{a - b} = \frac{(- \beta)^n - (- \alpha)^n}{\sqrt{D}} = (- 1)^n \cdot \frac{\beta^n - \alpha^n}{\alpha - \beta} = (- 1)^{n - 1} \cdot U_n (P, Q)</math>
  
::<math>\sum_{k = 1}^{\infty} a_k = \sum_{k = 1}^{\infty} b_k - \sum_{k = 1}^{\infty} | a_k |</math>
+
::<math>V_n (- P, Q) = a^n + b^n = (- \beta)^n + (- \alpha)^n = (- 1)^n \cdot (\alpha^n + \beta^n) = (- 1)^n \cdot V_n (P, Q)</math>
  
Ponieważ szeregi po prawej stronie są zbieżne, to zbieżny jest też szereg <math>\sum_{k = 1}^{\infty} a_k</math>. Zauważmy, że jedynie w&nbsp;przypadku, gdyby obydwa szeregi po prawej stronie były rozbieżne, nie moglibyśmy wnioskować o&nbsp;zbieżności / rozbieżności szeregu <math>\sum_{k = 1}^{\infty} a_k</math>, bo suma szeregów rozbieżnych może być zbieżna.<br/>
+
Co należało pokazać.<br/>
 
&#9633;
 
&#9633;
 
{{\Spoiler}}
 
{{\Spoiler}}
Linia 201: Linia 216:
  
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie D11</span><br/>
+
<span style="font-size: 110%; font-weight: bold;">Zadanie N10</span><br/>
Niech <math>n \in \mathbb{Z}_+</math>. Jeżeli wyrazy ciągu <math>(a_n)</math> można zapisać w&nbsp;jednej z&nbsp;postaci
+
Pokazać, że jeżeli <math>P, Q \in \mathbb{Z} \setminus \{ 0 \}</math> i <math>D = P^2 - 4 Q \neq 0</math>, to
 +
 
 +
::<math>U_n (2 P, 4 Q) = 2^{n - 1} U_n (P, Q)</math>
 +
 
 +
::<math>V_n (2 P, 4 Q) = 2^n V_n (P, Q)</math>
 +
 
 +
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Rozwiązanie|Hide=Ukryj rozwiązanie}}
 +
Niech
 +
 
 +
::<math>\alpha = {\small\frac{P + \sqrt{D}}{2}} \qquad \qquad \;\; \beta = {\small\frac{P - \sqrt{D}}{2}}</math>
  
# <math>\quad a_k = f_k - f_{k + 1}</math>
+
::<math>a = P + \sqrt{D} \qquad \qquad \;\; b = P - \sqrt{D}</math>
# <math>\quad a_k = f_{k - 1} - f_k</math>
 
  
to odpowiadający temu ciągowi szereg nazywamy szeregiem teleskopowym. Suma częściowa szeregu teleskopowego jest odpowiednio równa
+
Liczby <math>\alpha, \beta</math> oraz <math>a, b</math> są odpowiednio pierwiastkami równań
  
# <math>\quad \sum_{k = m}^{n} a_k = f_m - f_{n + 1}</math>
+
::<math>x^2 - P x + Q = 0</math>
# <math>\quad \sum_{k = m}^{n} a_k = f_{m - 1} - f_n</math>
 
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
+
::<math>x^2 - 2 P x + 4 Q = 0</math>
::<math>\sum_{k = m}^{n} a_k = \sum_{k = m}^{n} (f_k - f_{k + 1}) =</math>
 
  
::::<math>= (f_m - f_{m + 1}) + (f_{m + 1} - f_{m + 2}) + (f_{m + 2} - f_{m + 3}) + \ldots + (f_{n - 1} - f_n) + (f_n - f_{n + 1}) =</math>
+
Zatem definiują one ciągi Lucasa
  
::::<math>= f_m - f_{m + 1} + f_{m + 1} - f_{m + 2} + f_{m + 2} - f_{m + 3} + \ldots + f_{n - 1} - f_n + f_n - f_{n + 1} =</math>
+
::<math>U_n (P, Q) = {\small\frac{\alpha^n - \beta^n}{\alpha - \beta}} \qquad \qquad \;\;\; V_n (P, Q) = \alpha^n + \beta^n</math>
  
::::<math>= f_m + (- f_{m + 1} + f_{m + 1}) + (- f_{m + 2} + f_{m + 2}) + (- f_{m + 3} + \ldots + f_{n - 1}) + (- f_n + f_n) - f_{n + 1} =</math>
+
::<math>U_n (2 P, 4 Q) = {\small\frac{a^n - b^n}{a - b}} \qquad \qquad V_n (2 P, 4 Q) = a^n + b^n</math>
  
::::<math>= f_m - f_{n + 1}</math>
+
Zauważmy, że
  
 +
::<math>\alpha - \beta = \sqrt{D}</math>
  
 +
::<math>a - b = 2 \sqrt{D}</math>
  
::<math>\sum_{k = m}^{n} a_k = \sum_{k = m}^{n} (f_{k - 1} - f_k) =</math>
+
::<math>{\small\frac{a}{\alpha}} = {\small\frac{b}{\beta}} = 2</math>
  
::::<math>= (f_{m - 1} - f_m) + (f_m - f_{m + 1}) + (f_{m + 1} - f_{m + 2}) + \ldots + (f_{n - 2} - f_{n - 1}) + (f_{n - 1} - f_n) =</math>
+
Łatwo znajdujemy
  
::::<math>= f_{m - 1} - f_m + f_m - f_{m + 1} + f_{m + 1} - f_{m + 2} + \ldots + f_{n - 2} - f_{n - 1} + f_{n - 1} - f_n =</math>
+
::<math>U_n (2 P, 4 Q) = {\small\frac{a^n - b^n}{a - b}} = {\small\frac{(2 \alpha)^n - (2 \beta)^n}{2 \sqrt{D}}} = 2^{n - 1} \cdot {\small\frac{\alpha^n - \beta^n}{\alpha - \beta}} = 2^{n - 1} U_n (P, Q)</math>
  
::::<math>= f_{m - 1} + (- f_m + f_m) + (- f_{m + 1} + f_{m + 1}) + (- f_{m + 2} + \ldots + f_{n - 2}) + (- f_{n - 1} + f_{n - 1}) - f_n =</math>
+
::<math>V_n (2 P, 4 Q) = a^n + b^n = (2 \alpha)^n + (2 \beta)^n = 2^n (\alpha^n + \beta^n) = 2^n V_n (P, Q)</math>
  
::::<math>= f_{m - 1} - f_n</math><br/>
+
Co należało pokazać.<br/>
 
&#9633;
 
&#9633;
 
{{\Spoiler}}
 
{{\Spoiler}}
Linia 239: Linia 262:
  
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie D12</span><br/>
+
<span style="font-size: 110%; font-weight: bold;">Zadanie N11</span><br/>
Następujące szeregi są zbieżne
+
Pokazać, że jeżeli <math>Q \in \mathbb{Z} \setminus \{ 0 \}</math> oraz <math>P = 4 Q - 1</math>, to
  
::{| class="wikitable plainlinks"  style="font-size: 100%; text-align: left; margin-right: auto;"
+
::<math>U_{2 k} (P, P Q) = - (- P)^k U_{2 k} (1, Q)</math>
|-
 
| 1. <math>\quad \sum^{\infty}_{k = 1} \frac{1}{k (k + 1)} = 1</math>
 
|
 
|-
 
| 2. <math>\quad \sum^{\infty}_{k = 2} \frac{1}{k (k - 1)} = 1</math>
 
|
 
|-
 
| 3. <math>\quad \sum^{\infty}_{k = 2} \frac{1}{k^2 - 1} = \frac{3}{4}</math>
 
|
 
|-
 
| 4. <math>\quad \sum^{\infty}_{k = 1} \frac{1}{k^2} = \frac{\pi^2}{6} = 1.644934066848 \ldots</math>
 
| [https://oeis.org/A013661 A013661], [https://www.wolframalpha.com/input/?i=Zeta%282%29 WolframAlpha]
 
|}
 
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
+
::<math>U_{2 k + 1} (P, P Q) = (- P)^k V_{2 k + 1} (1, Q)</math>
'''Punkt 1.'''<br/>
 
Dla dowodu wykorzystamy fakt, że rozpatrywany szereg jest szeregiem teleskopowym
 
  
::<math>\frac{1}{k (k + 1)} = \frac{1}{k} - \frac{1}{k + 1}</math>
+
::<math>V_{2 k} (P, P Q) = (- P)^k V_{2 k} (1, Q)</math>
  
Zatem
+
::<math>V_{2 k + 1} (P, P Q) = - (- P)^{k + 1} U_{2 k + 1} (1, Q)</math>
  
::<math>\sum^n_{k = 1} \frac{1}{k (k + 1)} = \sum^n_{k = 1} \left( \frac{1}{k} - \frac{1}{k + 1} \right) = 1 - \frac{1}{n + 1}</math>
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Rozwiązanie|Hide=Ukryj rozwiązanie}}
 +
Niech
  
Przechodząc z <math>n</math> do nieskończoności, dostajemy
+
::<math>\alpha = {\small\frac{1 + \sqrt{- P}}{2}} \qquad \qquad \beta = {\small\frac{1 - \sqrt{- P}}{2}}</math>
  
::<math>\sum^{\infty}_{k = 1} \frac{1}{k (k + 1)} = 1</math>
+
::<math>a = {\small\frac{P + \sqrt{- P}}{2}} \qquad \qquad b = {\small\frac{P - \sqrt{- P}}{2}}</math>
  
'''Punkt 2.'''<br/>
+
Liczby <math>\alpha, \beta</math> oraz <math>a, b</math> odpowiednio pierwiastkami równań
Szereg jest identyczny z&nbsp;szeregiem z&nbsp;punktu 1., co łatwo zauważyć zmieniając zmienną sumowania <math>k = s + 1</math> i&nbsp;odpowiednio granice sumowania.
 
  
'''Punkt 3.'''<br/>
+
::<math>x^2 - x + {\small\frac{P + 1}{4}} = 0</math>
Należy skorzystać z&nbsp;tożsamości
 
  
::<math>\frac{1}{k^2 - 1} = \frac{1}{2} \left[ \left( \frac{1}{k} - \frac{1}{k + 1} \right) + \left( \frac{1}{k - 1} - \frac{1}{k} \right) \right]</math>
+
::<math>x^2 - P x + {\small\frac{P (P + 1)}{4}} = 0</math>
  
'''Punkt 4.'''<br/>
+
Z założenia <math>P = 4 Q - 1</math>, zatem
Ponieważ dla <math>k \geqslant 2</math> prawdziwa jest nierówność
 
  
::<math>0 < \frac{1}{k^2} < \frac{1}{k^2 - 1}</math>
+
::<math>x^2 - x + Q = 0</math>
  
to na mocy kryterium porównawczego (twierdzenie D9) ze zbieżności szeregu <math>\sum^{\infty}_{k = 2} \frac{1}{k^2 - 1}</math> wynika zbieżność szeregu <math>\sum_{k = 1}^{\infty} \frac{1}{k^2}</math><br/>
+
::<math>x^2 - P x + P Q = 0</math>
&#9633;
 
{{\Spoiler}}
 
  
 +
Czyli definiują one ciągi Lucasa
  
 +
::<math>U_n (1, Q) = {\small\frac{\alpha^n - \beta^n}{\alpha - \beta}} \qquad \qquad \:\:\: V_n (1, Q) = \alpha^n + \beta^n</math>
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie D13</span><br/>
+
::<math>U_n (P, P Q) = {\small\frac{a^n - b^n}{a - b}} \qquad \qquad V_n (P, P Q) = a^n + b^n</math>
Następujące szeregi są zbieżne
 
  
::{| class="wikitable plainlinks"  style="font-size: 100%; text-align: left; margin-right: auto;"
+
Zauważmy, że
|-
 
| 1. <math>\quad \sum_{k = 1}^{\infty} \frac{1}{(k + 1) \sqrt{k}} = 1.860025079221 \ldots</math>
 
|
 
|-
 
| 2. <math>\quad \sum^{\infty}_{k = 2} \frac{\log k}{k (k + 1)} = 0.788530565911 \ldots</math>
 
| [https://oeis.org/A085361 A085361]
 
|-
 
| 3. <math>\quad \sum^{\infty}_{k = 2} \frac{\log k}{k (k - 1)} = 1.257746886944 \ldots</math>
 
| [https://oeis.org/A131688 A131688]
 
|-
 
| 4. <math>\quad \sum^{\infty}_{k = 3} \frac{1}{k \cdot \log^2 \! k} = 1.069058310734 \ldots</math>
 
| [https://oeis.org/A115563 A115563]
 
|}
 
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
+
::<math>\alpha - \beta = a - b = \sqrt{- P}</math>
'''Punkt 1.'''<br/>
 
  
Wystarczy zauważyć, że
+
::<math>{\small\frac{a}{\beta}} = {\small\frac{P + \sqrt{- P}}{1 - \sqrt{- P}}} = \sqrt{- P}</math>
  
::<math>\frac{1}{\sqrt{k}} - \frac{1}{\sqrt{k + 1}} = \frac{\sqrt{k + 1} - \sqrt{k}}{\sqrt{k} \cdot \sqrt{k + 1}} =</math>
+
::<math>{\small\frac{b}{\alpha}} = {\small\frac{P - \sqrt{- P}}{1 + \sqrt{- P}}} = - \sqrt{- P}</math>
  
::::::<math>\quad\: = \frac{1}{\sqrt{k} \cdot \sqrt{k + 1} \cdot \left( \sqrt{k + 1} + \sqrt{k} \right)} ></math>
 
  
::::::<math>\quad\: > \frac{1}{\sqrt{k} \cdot \sqrt{k + 1} \cdot 2 \sqrt{k + 1}}</math>
+
Łatwo znajdujemy
  
::::::<math>\quad\: = \frac{1}{2 (k + 1) \sqrt{k}}</math>
+
::<math>U_{2 k} (P, P Q) = \frac{a^{2 k} - b^{2 k}}{a - b} = \frac{\left( \beta \sqrt{- P} \right)^{2 k} - \left( - \alpha \sqrt{- P} \right)^{2 k}}{\sqrt{- P}} = \frac{(- P)^k (\beta^{2 k} - \alpha^{2 k})}{\alpha - \beta} = - (- P)^k U_{2 k} (1, Q)</math>
  
Zatem
 
  
::<math>\sum_{k = 1}^n \frac{1}{(k + 1) \sqrt{k}} = 2 \sum_{k = 1}^n \frac{1}{2 (k + 1) \sqrt{k}} <</math>
+
::<math>U_{2 k + 1} (P, P Q) = \frac{a^{2 k + 1} - b^{2 k + 1}}{a - b} = \frac{\left( \beta \sqrt{- P} \right)^{2 k + 1} - \left( - \alpha \sqrt{- P} \right)^{2 k + 1}}{\sqrt{- P}} = (- P)^k (\beta^{2 k + 1} + \alpha^{2 k + 1}) = (- P)^k V_{2 k + 1} (1, Q)</math>
  
::::::<math>\;\;\;\: < 2 \sum_{k = 1}^n \left( \frac{1}{\sqrt{k}} - \frac{1}{\sqrt{k + 1}} \right) =</math>
 
  
::::::<math>\;\;\;\: = 2 \left( 1 - \frac{1}{\sqrt{n + 1}} \right) <</math>
+
::<math>V_{2 k} (P, P Q) = a^{2 k} + b^{2 k} = \left( \beta \sqrt{- P} \right)^{2 k} + \left( - \alpha \sqrt{- P} \right)^{2 k} = (- P)^k (\alpha^{2 k} + \beta^{2 k}) = (- P)^k V_{2 k} (1, Q)</math>
  
::::::<math>\;\;\;\: < 2</math>
 
  
Ponieważ ciąg sum częściowych szeregu jest rosnący i&nbsp;ograniczony, to szereg jest zbieżny.
+
::<math>V_{2 k + 1} (P, P Q) = a^{2 k + 1} + b^{2 k + 1} = \left( \beta \sqrt{- P} \right)^{2 k + 1} + \left( - \alpha \sqrt{- P} \right)^{2 k + 1} = (- P)^{k + 1} \cdot \frac{\beta^{2 k + 1} - \alpha^{2 k + 1}}{\sqrt{- P}} = - (- P)^{k + 1} U_{2 k + 1} (1, Q)</math>
  
'''Punkt 2.'''<br/>
+
Co należało pokazać.<br/>
Korzystając z&nbsp;twierdzenia A37, możemy napisać oszacowanie
+
&#9633;
 +
{{\Spoiler}}
  
::<math>0 < \frac{\log k}{k (k + 1)} < \frac{2 \sqrt{k}}{k (k + 1)} < \frac{2}{(k + 1) \sqrt{k}}</math>
 
  
Zatem na mocy kryterium porównawczego ze zbieżności szeregu <math>\sum_{k = 1}^{\infty} \frac{1}{(k + 1) \sqrt{k}}</math> wynika zbieżność szeregu <math>\sum^{\infty}_{k = 2} \frac{\log k}{k (k + 1)}</math>
 
  
'''Punkt 3.'''<br/>
+
<span style="font-size: 110%; font-weight: bold;">Zadanie N12</span><br/>
Zauważmy, że
+
Pokazać, że jeżeli <math>Q \in \mathbb{Z} \setminus \{ 0 \}</math> oraz <math>P = 4 Q + 1</math>, to
  
::<math>\frac{\log (k - 1)}{k - 1} - \frac{\log (k)}{k} = \frac{k \log (k - 1) - (k - 1) \log (k)}{k (k - 1)} =</math>
+
::<math>U_{2 k} (P, P Q) = P^k U_{2 k} (1, - Q)</math>
  
::::::::<math>\;\;\, = \frac{k \log \left( k \left( 1 - \frac{1}{k} \right) \right) - (k - 1) \log (k)}{k (k - 1)} =</math>
+
::<math>U_{2 k + 1} (P, P Q) = P^k V_{2 k + 1} (1, - Q)</math>
  
::::::::<math>\;\;\, = \frac{k \log (k) + k \log \left( 1 - \frac{1}{k} \right) - k \log (k) + \log (k)}{k (k - 1)} ></math>
+
::<math>V_{2 k} (P, P Q) = P^k V_{2 k} (1, - Q)</math>
  
::::::::<math>\;\;\, > \frac{\log (k) - k \cdot \frac{1}{k - 1}}{k (k - 1)} =</math>
+
::<math>V_{2 k + 1} (P, P Q) = P^{k + 1} U_{2 k + 1} (1, - Q)</math>
  
::::::::<math>\;\;\, = \frac{\log (k)}{k (k - 1)} - \frac{1}{(k - 1)^2}</math>
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Rozwiązanie|Hide=Ukryj rozwiązanie}}
 +
Niech
  
Czyli prawdziwe jest oszacowanie
+
::<math>\alpha = {\small\frac{1 + \sqrt{P}}{2}} \qquad \qquad \beta = {\small\frac{1 - \sqrt{P}}{2}}</math>
  
::<math>\frac{\log (k)}{k (k - 1)} < \left[ \frac{\log (k - 1)}{k - 1} - \frac{\log (k)}{k} \right] + \frac{1}{(k - 1)^2}</math>
+
::<math>a = {\small\frac{P + \sqrt{P}}{2}} \qquad \qquad b = {\small\frac{P - \sqrt{P}}{2}}</math>
  
Zatem możemy napisać
+
Liczby <math>\alpha, \beta</math> oraz <math>a, b</math> są odpowiednio pierwiastkami równań
  
::<math>\sum_{k = 2}^{n} \frac{\log (k)}{k (k - 1)} < \sum_{k = 2}^{n} \left[ \frac{\log (k - 1)}{k - 1} - \frac{\log (k)}{k} \right] + \sum_{k = 2}^{n} \frac{1}{(k - 1)^2}</math>
+
::<math>x^2 - x - {\small\frac{P - 1}{4}} = 0</math>
  
::::::<math>\: < - \frac{\log (n)}{n} + \sum_{j = 1}^{n - 1} \frac{1}{j^2}</math>
+
::<math>x^2 - P x + {\small\frac{P (P - 1)}{4}} = 0</math>
  
::::::<math>\: < \sum_{j = 1}^{\infty} \frac{1}{j^2} =</math>
+
Z założenia <math>P = 4 Q + 1</math>, zatem
  
::::::<math>\: = \frac{\pi^2}{6}</math>
+
::<math>x^2 - x - Q = 0</math>
  
Ponieważ ciąg sum częściowych szeregu jest rosnący i&nbsp;ograniczony, to szereg jest zbieżny.
+
::<math>x^2 - P x + P Q = 0</math>
  
'''Punkt 4.'''<br/>
+
Czyli definiują one ciągi Lucasa
Zauważmy, że
 
  
::<math>\frac{1}{\log (k)} - \frac{1}{\log (k + 1)} = \frac{\log (k + 1) - \log (k)}{\log (k) \log (k + 1)} =</math>
+
::<math>U_n (1, - Q) = {\small\frac{\alpha^n - \beta^n}{\alpha - \beta}} \qquad \qquad V_n (1, - Q) = \alpha^n + \beta^n</math>
  
::::::::<math>\;\;\, = \frac{\log \left( 1 + \frac{1}{k} \right)}{\log (k) \log (k + 1)} <</math>
+
::<math>U_n (P, P Q) = {\small\frac{a^n - b^n}{a - b}} \qquad \qquad V_n (P, P Q) = a^n + b^n</math>
  
::::::::<math>\;\;\, < \frac{1}{k \cdot \log (k) \log (k + 1)} <</math>
+
Zauważmy, że
  
::::::::<math>\;\;\, < \frac{1}{k \cdot \log^2 \! k}</math>
+
::<math>\alpha - \beta = a - b = \sqrt{P}</math>
  
Z drugiej strony mamy
+
::<math>{\small\frac{a}{\alpha}} = {\small\frac{P + \sqrt{P}}{1 + \sqrt{P}}} = \sqrt{P}</math>
  
::<math>\frac{1}{\log (k - 1)} - \frac{1}{\log (k)} = \frac{\log (k) - \log (k - 1)}{\log (k - 1) \log (k)} =</math>
+
::<math>{\small\frac{b}{\beta}} = {\small\frac{P - \sqrt{P}}{1 - \sqrt{P}}} = - \sqrt{P}</math>
  
::::::::<math>\;\;\, = \frac{\log \left( 1 + \frac{1}{k - 1} \right)}{\log (k - 1) \log (k)} ></math>
 
  
::::::::<math>\;\;\, > \frac{1}{k \cdot \log (k - 1) \log (k)} ></math>
+
Łatwo znajdujemy
  
::::::::<math>\;\;\, > \frac{1}{k \cdot \log^2 \! k}</math>
+
::<math>U_{2 k} (P, P Q) = \frac{a^{2 k} - b^{2 k}}{a - b} = \frac{\left( \alpha \sqrt{P} \right)^{2 k} - \left( - \beta \sqrt{P} \right)^{2 k}}{\sqrt{P}} = \frac{P^k (\alpha^{2 k} - \beta^{2 k})}{\alpha - \beta} = P^k U_{2 k} (1, - Q)</math>
  
Wynika stąd następujący ciąg nierówności
 
  
::<math>\frac{1}{\log (k)} - \frac{1}{\log (k + 1)} < \frac{1}{k \cdot \log^2 \! k} < \frac{1}{\log (k - 1)} - \frac{1}{\log (k)}</math>
+
::<math>U_{2 k + 1} (P, P Q) = \frac{a^{2 k + 1} - b^{2 k + 1}}{a - b} = \frac{\left( \alpha \sqrt{P} \right)^{2 k + 1} - \left( - \beta \sqrt{P} \right)^{2 k + 1}}{\sqrt{P}} = P^k (\alpha^{2 k + 1} + \beta^{2 k + 1}) = P^k V_{2 k + 1} (1, - Q)</math>
  
  
Rezultat ten wykorzystamy w&nbsp;pełni w&nbsp;przykładzie D14, a&nbsp;do pokazania zbieżności szeregu wystarczy nam prawa nierówność. Mamy
+
::<math>V_{2 k} (P, P Q) = a^{2 k} + b^{2 k} = \left( \alpha \sqrt{P} \right)^{2 k} + \left( - \beta \sqrt{P} \right)^{2 k} = P^k (\alpha^{2 k} + \beta^{2 k}) = P^k V_{2 k} (1, - Q)</math>
  
::<math>\sum_{k = 3}^{n} \frac{1}{k \cdot \log^2 \! k} < \sum_{k = 3}^{n} \left[ \frac{1}{\log (k - 1)} - \frac{1}{\log (k)} \right] =</math>
 
  
::::::<math>\; = \frac{1}{\log 2} - \frac{1}{\log (n)} <</math>
+
::<math>V_{2 k + 1} (P, P Q) = a^{2 k + 1} + b^{2 k + 1} = \left( \alpha \sqrt{P} \right)^{2 k + 1} + \left( - \beta \sqrt{P} \right)^{2 k + 1} = P^{k + 1} \cdot \frac{\alpha^{2 k + 1} - \beta^{2 k + 1}}{\sqrt{P}} = P^{k + 1} U_{2 k + 1} (1, - Q)</math>
  
::::::<math>\; < \frac{1}{\log 2}</math>
+
Co należało pokazać.<br/>
 
 
Ponieważ ciąg sum częściowych szeregu jest rosnący i&nbsp;ograniczony, to szereg jest zbieżny.<br/>
 
 
&#9633;
 
&#9633;
 
{{\Spoiler}}
 
{{\Spoiler}}
Linia 409: Linia 390:
  
  
<span style="font-size: 110%; font-weight: bold;">Przykład D14</span><br/>
+
<span style="font-size: 110%; font-weight: bold;">Twierdzenie N13</span><br/>
Na przykładzie szeregu <math>\sum_{k = 3}^{\infty} \frac{1}{k \cdot \log^2 k}</math> pokażemy, jak należy obliczać przybliżoną wartość sumy szeregu.
+
Dla wyrazów ciągów Lucasa prawdziwe są wzory
  
Ponieważ nie jesteśmy w&nbsp;stanie zsumować nieskończenie wielu wyrazów, zatem najlepiej będzie podzielić szereg na dwie części
+
{| class="wikitable plainlinks"  style="display: inline-table; margin-left: 5px; margin-right: 50px; font-size: 100%; text-align: left;"
 +
|-
 +
| <math>1.</math> || <math>U_{m + n} = U_m U_{n + 1} - Q U_{m - 1} U_n</math> ||
 +
|-
 +
| <math>2.</math> || <math>V_{m + n} = V_m V_n - Q^n V_{m - n}</math> || <math>m \geqslant n</math>
 +
|-
 +
| <math>3.</math> || <math>U_{m + n} = U_m V_n - Q^n U_{m - n}</math> || <math>m \geqslant n</math>
 +
|-
 +
| <math>4.</math> || <math>V_{m + n} = D U_m U_n + Q^n V_{m - n}</math> || <math>m \geqslant n</math>
 +
|-
 +
| <math>5.</math> || <math>U_m V_n - V_m U_n = 2 Q^n U_{m - n}</math> || <math>m \geqslant n</math>
 +
|-
 +
| <math>6.</math> || <math>U^2_n = U_{n - 1} U_{n + 1} + Q^{n - 1}</math> ||
 +
|-
 +
| <math>7.</math> || <math>V^2_n = V_{n - 1} V_{n + 1} - D Q^{n - 1}</math> ||
 +
|}
 +
{| class="wikitable plainlinks"  style="display: inline-table; margin-left: 5px; margin-right: 50px; font-size: 100%; text-align: left;"
 +
|-
 +
| <math>\;\; 8.</math> || <math>2 U_{m + n} = U_m V_n + V_m U_n</math> ||
 +
|-
 +
| <math>\;\; 9.</math> || <math>2 V_{m + n} = V_m V_n + D U_m U_n</math> ||
 +
|-
 +
| <math>10.</math> || <math>V_m V_n - D U_m U_n = 2 Q^n V_{m - n}</math> || <math>m \geqslant n</math>
 +
|-
 +
| <math>11.</math> || <math>U_{2 n} = U_n V_n</math> ||
 +
|-
 +
| <math>12.</math> || <math>V_{2 n} = V^2_n - 2 Q^n</math> ||
 +
|-
 +
| <math>13.</math> || <math>V_{2 n} = D U^2_n + 2 Q^n</math> ||
 +
|-
 +
| <math>14.</math> || <math>V^2_n - D U^2_n = 4 Q^n</math> ||
 +
|-
 +
| <math>15.</math> || <math>D U_n = 2 V_{n + 1} - P V_n</math> ||
 +
|-
 +
| <math>16.</math> || <math>V_n = 2 U_{n + 1} - P U_n</math> ||
 +
|-
 +
| <math>17.</math> || <math>D U_n = V_{n + 1} - Q V_{n - 1}</math> || <math>n \geqslant 1</math>
 +
|-
 +
| <math>18.</math> || <math>V_n = U_{n + 1} - Q U_{n - 1}</math> || <math>n \geqslant 1</math>
 +
|}
 +
{| class="wikitable plainlinks"  style="display: inline-table; margin-left: 5px; margin-right: 50px; font-size: 100%; text-align: left;"
 +
|-
 +
| <math>19.</math> || <math>U_{2 n} = 2 U_n U_{n + 1} - P U^2_n</math>
 +
|-
 +
| <math>20.</math> || <math>U_{2 n + 1} = U^2_{n + 1} - Q U^2_n</math>
 +
|-
 +
| <math>21.</math> || <math>U_{2 n + 2} = P U^2_{n + 1} - 2 Q U_n U_{n + 1}</math>
 +
|}
  
::<math>\sum_{k = 3}^{\infty} \frac{1}{k \cdot \log^2 k} = \sum_{k = 3}^{m} \frac{1}{k \cdot \log^2 k} + \sum_{k = m + 1}^{\infty} \frac{1}{k \cdot \log^2 k}</math>
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 +
'''Wzory 1. - 7. najłatwiej udowodnić korzystając z&nbsp;definicji N1.'''
  
 +
Wzór 1.
  
Wartość pierwszej części możemy policzyć bezpośrednio, a&nbsp;dla drugiej części powinniśmy znaleźć jak najlepsze oszacowanie.
+
::<math>U_{m + n} = {\small\frac{\alpha^{m + n} - \beta^{m + n}}{\alpha - \beta}}</math>
  
Dowodząc twierdzenie D13, w&nbsp;punkcie 4. pokazaliśmy, że prawdziwy jest ciąg nierówności
+
:::<math>\quad \: = {\small\frac{\alpha^m - \beta^m}{\alpha - \beta}} \cdot {\small\frac{\alpha^{n + 1} - \beta^{n + 1}}{\alpha - \beta}} - \alpha \beta \cdot {\small\frac{\alpha^{m - 1} - \beta^{m - 1}}{\alpha - \beta}} \cdot {\small\frac{\alpha^n - \beta^n}{\alpha - \beta}}</math>
  
::<math>\frac{1}{\log (k)} - \frac{1}{\log (k + 1)} < \frac{1}{k \cdot \log^2 k} < \frac{1}{\log (k - 1)} - \frac{1}{\log (k)}</math>
+
:::<math>\quad \: = U_m U_{n + 1} - Q U_{m - 1} U_n</math>
  
  
Wykorzystamy powyższy wzór do znalezienia potrzebnego nam oszacowania. Sumując strony nierówności, dostajemy
+
Wzór 2.
  
::<math>\sum_{k = m + 1}^{n} \left( \frac{1}{\log (k)} - \frac{1}{\log (k + 1)} \right) < \sum_{k = m + 1}^{n} \frac{1}{k \cdot \log^2 k} < \sum_{k = m + 1}^{n} \left( \frac{1}{\log (k - 1)} - \frac{1}{\log (k)} \right)</math>
+
::<math>V_{m + n} = \alpha^{m + n} + \beta^{m + n}</math>
  
 +
:::<math>\quad \;\! = (\alpha^m + \beta^m) (\alpha^n + \beta^n) - \alpha^n \beta^n \cdot (\alpha^{m - n} + \beta^{m - n})</math>
  
Ponieważ szeregi po lewej i&nbsp;po prawej stronie są szeregami teleskopowymi, to łatwo znajdujemy, że
+
:::<math>\quad \;\! = V_m V_n - Q^n V_{m - n}</math>
  
::<math>\frac{1}{\log (m + 1)} - \frac{1}{\log (n + 1)} < \sum_{k = m + 1}^{n} \frac{1}{k \cdot \log^2 k} < \frac{1}{\log m} - \frac{1}{\log n}</math>
 
  
 +
Wzór 3.
  
Przechodząc z <math>n</math> do nieskończoności, otrzymujemy oszacowanie
+
::<math>U_{m + n} = {\small\frac{\alpha^{m + n} - \beta^{m + n}}{\alpha - \beta}}</math>
  
::<math>\frac{1}{\log (m + 1)} < \sum_{k = m + 1}^{\infty} \frac{1}{k \cdot \log^2 k} < \frac{1}{\log m}</math>
+
:::<math>\quad \: = {\small\frac{(\alpha^m - \beta^m) (\alpha^n + \beta^n)}{\alpha - \beta}} - {\small\frac{\alpha^n \beta^n \cdot (\alpha^{m - n} - \beta^{m - n})}{\alpha - \beta}}</math>
  
 +
:::<math>\quad \: = U_m V_n - Q^n U_{m - n}</math>
  
Teraz pozostaje dodać sumę wyrazów szeregu od <math>k = 3</math> do <math>k = m</math>
 
  
::<math>\frac{1}{\log (m + 1)} + \sum_{k = 3}^{m} \frac{1}{k \cdot \log^2 k} < \sum_{k = 3}^{\infty} \frac{1}{k \cdot \log^2 k} < \frac{1}{\log m} + \sum_{k = 3}^{m} \frac{1}{k \cdot \log^2 k}</math>
+
Wzór 4.
  
 +
::<math>V_{m + n} = \alpha^{m + n} + \beta^{m + n}</math>
  
Poniżej przedstawiamy wartości oszacowania sumy szeregu znalezione przy pomocy programu PARI/GP dla kolejnych wartości <math>m</math>. Wystarczy proste polecenie
+
:::<math>\quad \;\! = (\alpha - \beta)^2 \cdot {\small\frac{\alpha^m - \beta^m}{\alpha - \beta}} \cdot {\small\frac{\alpha^n - \beta^n}{\alpha - \beta}} + \alpha^n \beta^n \cdot (\alpha^{m - n} + \beta^{m - n})</math>
  
for(n=1, 8, s = sum( k = 3, 10^n, 1/k/(log(k))^2 ); print("n= ", n, "  a= ", s+1/log(10^n+1), "  b= ", s+1/log(10^n) ))
+
:::<math>\quad \;\! = D U_m U_n + Q^n V_{m - n}</math>
  
::{| class="wikitable plainlinks"  style="font-size: 100%; text-align: center; margin-right: auto;"
 
|-
 
| <math>m = 10^1</math> || <math>1.06</math> || <math>1.07</math>
 
|-
 
| <math>m = 10^2</math> || <math>1.068</math> || <math>1.069</math>
 
|-
 
| <math>m = 10^3</math> || <math>1.06904</math> || <math>1.06906</math>
 
|-
 
| <math>m = 10^4</math> || <math>1.069057</math> || <math>1.069058</math>
 
|-
 
| <math>m = 10^5</math> || <math>1.0690582</math> || <math>1.0690583</math>
 
|-
 
| <math>m = 10^6</math> || <math>1.06905830</math> || <math>1.06905831</math>
 
|-
 
| <math>m = 10^7</math> || <math>1.0690583105</math> || <math>1.0690583109</math>
 
|-
 
| <math>m = 10^8</math> || <math>1.06905831071</math> || <math>1.06905831074</math>
 
|}
 
  
Dysponując oszacowaniem reszty szeregu, znaleźliśmy wartość sumy szeregu z&nbsp;dokładnością 10 miejsc po przecinku.
+
Wzór 5.
  
Natomiast samo zsumowanie <math>10^8</math> wyrazów szeregu daje wynik
+
::<math>U_m V_n - V_m U_n = {\small\frac{\alpha^m - \beta^m}{\alpha - \beta}} \cdot (\alpha^n + \beta^n) - (\alpha^m + \beta^m) \cdot {\small\frac{\alpha^n - \beta^n}{\alpha - \beta}}</math>
  
::<math>\sum_{k = 3}^{10^8} \frac{1}{k \cdot \log^2 k} = 1.014 771 500 510 916 \ldots</math>
+
::::::<math>\;\;\: = 2 \cdot \alpha^n \beta^n \cdot {\small\frac{\alpha^{m - n} - \beta^{m - n}}{\alpha - \beta}}</math>
  
Zatem mimo zsumowania stu milionów(!) wyrazów szeregu otrzymaliśmy rezultat z&nbsp;dokładnością jednego(!) miejsca po przecinku. Co więcej, nie wiemy, jaka jest dokładność uzyskanego rezultatu. Znając oszacowanie od dołu i&nbsp;od góry, dokładność jednego miejsca po przecinku uzyskaliśmy po zsumowaniu dziesięciu(!) wyrazów szeregu.
+
::::::<math>\;\;\: = 2 Q^n U_{m - n}</math>
  
Rozpatrywana wyżej sytuacja pokazuje, że w&nbsp;przypadku znajdowania przybliżonej wartości sumy szeregu ważniejsze od sumowania ogromnej ilości wyrazów jest posiadanie oszacowania nieskończonej reszty szeregu. Ponieważ wyznaczenie tego oszacowania na ogół nie jest proste, pokażemy jak ten problem rozwiązać przy pomocy całki oznaczonej.
 
  
 +
Wzór 6.
  
 +
::<math>U^2_n = \left( {\small\frac{\alpha^n - \beta^n}{\alpha - \beta}} \right)^2</math>
  
 +
:::<math>\;\! = {\small\frac{\alpha^{n - 1} - \beta^{n - 1}}{\alpha - \beta}} \cdot {\small\frac{\alpha^{n + 1} - \beta^{n + 1}}{\alpha - \beta}} + \alpha^{n - 1} \beta^{n - 1}</math>
  
 +
:::<math>\;\! = U_{n - 1} U_{n + 1} + Q^{n - 1}</math>
  
== Szeregi nieskończone i&nbsp;całka oznaczona ==
 
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie D15</span><br/>
+
Wzór 7.
Jeżeli funkcja <math>f(x)</math> jest ciągła, dodatnia i&nbsp;malejąca w&nbsp;przedziale <math>[m, n + 1]</math>, to prawdziwy jest następujący ciąg nierówności
 
  
::<math>0 \leqslant \int_{m}^{n + 1} f(x) d x \leqslant \sum_{k = m}^{n} f(k) \leqslant f (m) + \int_{m}^{n} f(x) d x</math>
+
::<math>V^2_n = (\alpha^n + \beta^n)^2</math>
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
+
:::<math>\;\! = (\alpha^{n - 1} + \beta^{n - 1}) (\alpha^{n + 1} + \beta^{n + 1}) - (\alpha - \beta)^2 \cdot \alpha^{n - 1} \beta^{n - 1}</math>
Ponieważ funkcja <math>f(x)</math> jest z&nbsp;założenia ciągła, dodatnia i&nbsp;malejąca, to zamieszczony niżej rysunek dobrze prezentuje problem.
 
  
::[[File: D_Szereg-i-calka-1.png|none]]
+
:::<math>\;\! = V_{n - 1} V_{n + 1} - D Q^{n - 1}</math>
  
Przedstawiona na rysunku krzywa odpowiada funkcji <math>f(x)</math>. Dla współrzędnej <math>x = k</math> zaznaczyliśmy wartość funkcji <math>f(k)</math>, a&nbsp;po lewej i&nbsp;prawej stronie tych punktów zaznaczyliśmy pasy o&nbsp;jednostkowej szerokości. Łatwo zauważamy, że
 
  
* po lewej stronie pole pod krzywą (zaznaczone kolorem zielonym) jest większe od pola prostokąta o&nbsp;wysokości <math>f(k)</math> i&nbsp;jednostkowej szerokości
+
'''Wzory 8. - 18. można łatwo udowodnić, korzystając ze wzorów 1. - 7.'''
* po prawej stronie pole pod krzywą (zaznaczone kolorem niebieskim) jest mniejsze od pola prostokąta o&nbsp;wysokości <math>f(k)</math> i&nbsp;jednostkowej szerokości
 
  
Korzystając z&nbsp;własności całki oznaczonej, otrzymujemy ciąg nierówności
+
Wzór 8. Policzyć sumę wzoru 3. pomnożonego przez <math>2</math> i&nbsp;wzoru 5.
  
::<math>\int_{k}^{k + 1} f(x) d x \leqslant f(k) \leqslant \int_{k - 1}^{k} f(x) d x</math>
+
Wzór 9. Policzyć sumę wzorów 2. i 4.
  
W powyższym wzorze występują nierówności nieostre, bo rysunek przedstawia funkcję silnie malejącą, ale zgodnie z&nbsp;uczynionym założeniem funkcja <math>f(x)</math> może być funkcją słabo malejącą.
+
Wzór 10. Połączyć wzory 2. i 4.
  
Sumując lewą nierówność od <math>k = m</math> do <math>k = n</math>, a&nbsp;prawą od <math>k = m + 1</math> do <math>k = n</math>, dostajemy
+
Wzór 11. We wzorze 3. położyć <math>m = n</math>.
  
::<math>\int_{m}^{n + 1} f (x) d x \leqslant \sum_{k = m}^{n} f (k)</math>
+
Wzór 12. We wzorze 2. położyć <math>m = n</math>.
  
::<math>\sum_{k = m + 1}^{n} f (k) \leqslant \int_{m}^{n} f (x) d x</math>
+
Wzór 13. We wzorze 4. położyć <math>m = n</math>.
  
Dodając <math>f(m)</math> do obydwu stron drugiej z&nbsp;powyższych nierówności i&nbsp;łącząc je ze sobą, otrzymujemy kolejny i&nbsp;docelowy ciąg nierówności
+
Wzór 14. We wzorze 10. położyć <math>m = n</math> lub połączyć wzory 12. i 13.
  
::<math>0 \leqslant \int_{m}^{n + 1} f (x) d x \leqslant \sum_{k = m}^{n} f (k) \leqslant f (m) + \int_{m}^{n} f (x) d x</math><br/>
+
Wzór 15. We wzorze 9. położyć <math>m = 1</math>.
&#9633;
 
{{\Spoiler}}
 
  
 +
Wzór 16. We wzorze 8. położyć <math>m = 1</math>.
  
 +
Wzór 17. We wzorze 15. położyć <math>V_{n + 1} = P V_n - Q V_{n - 1}</math>.
  
<span style="font-size: 110%; font-weight: bold;">Przykład D16</span><br/>
+
Wzór 18. We wzorze 16. położyć <math>U_{n + 1} = P U_n - Q U_{n - 1}</math>.
Rozważmy szereg <math>\sum_{k = 1}^{\infty} \frac{1}{k}</math>.
 
  
Funkcja <math>f(x) = \frac{1}{x}</math> jest ciągła, dodatnia i&nbsp;silnie malejąca w&nbsp;przedziale <math>(0, + \infty)</math>, zatem dla dowolnego <math>n \in \mathbb{Z}_+</math> prawdziwe jest oszacowanie
 
  
::<math>\int_{1}^{n + 1} \frac{d x}{x} < \sum_{k = 1}^{n} \frac{1}{k} < 1 + \int_{1}^{n} \frac{d x}{x}</math>
+
'''Wzory 19. - 21. to wzory, które wykorzystamy w&nbsp;przyszłości do szybkiego obliczania wartości wyrazów <math>U_n</math> i <math>V_n</math> modulo.'''
  
Przy obliczaniu całek oznaczonych Czytelnik może skorzystać ze strony [https://www.wolframalpha.com/input?i=integral+1%2Fx+from+1+to+n WolframAlpha].
+
Wzór 19. Wystarczy połączyć wzory 11. oraz 16.
  
::<math>\log (n + 1) < \sum_{k = 1}^{n} \frac{1}{k} < 1 + \log n</math>
+
Wzór 20. Wystarczy we wzorze 1. położyć <math>m = n + 1</math>.
  
Ponieważ
+
Wzór 21. Kładąc we wzorze 19. <math>n \rightarrow n + 1</math>, otrzymujemy
  
::<math>\log (n + 1) = \log \left( n \left( 1 + \frac{1}{n} \right) \right) = \log n + \log \left( 1 + \frac{1}{n} \right) > \log n + \frac{1}{n + 1}</math>
+
::<math>U_{2 n + 2} = 2 U_{n + 1} U_{n + 2} - P U^2_{n + 1} \qquad (*)</math>
  
to dostajemy
+
Kładąc we wzorze 1. <math>m = n + 2</math>, mamy
  
::<math>\frac{1}{n + 1} < \sum_{k = 1}^{n} \frac{1}{k} - \log n < 1</math>
+
::<math>U_{2 n + 2} = U_{n + 2} U_{n + 1} - Q U_{n + 1} U_n</math>
  
Zauważmy: nie tylko wiemy, że szereg <math>\sum_{k = 1}^{\infty} \frac{1}{k}</math> jest rozbieżny, ale jeszcze potrafimy określić, jaka funkcja tę rozbieżność opisuje! Mamy zatem podstawy, by przypuszczać, że całki umożliwią opracowanie metody, która pozwoli rozstrzygać o&nbsp;zbieżności szeregów.
+
Czyli
  
 +
::<math>2 U_{2 n + 2} = 2 U_{n + 1} U_{n + 2} - 2 Q U_n U_{n + 1}</math>
  
 +
Odejmując od powyższego wzoru wzór <math>(*)</math>, dostajemy wzór 21.
  
 +
::<math>U_{2 n + 2} = P U^2_{n + 1} - 2 Q U_n U_{n + 1}</math>
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie D17 (kryterium całkowe zbieżności szeregów)</span><br/>
+
Co należało pokazać.<br/>
Załóżmy, że funkcja <math>f(x)</math> jest ciągła, dodatnia i&nbsp;malejąca w&nbsp;przedziale <math>[m, + \infty)</math>. Szereg <math>\sum_{k = m}^{\infty} f(k)</math> jest zbieżny lub rozbieżny w&nbsp;zależności od tego, czy funkcja pierwotna <math>F(x) = \int f (x) d x</math> ma dla <math>x \rightarrow \infty</math> granicę skończoną, czy nie.
+
&#9633;
 +
{{\Spoiler}}
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 
Nim przejdziemy do dowodu, wyjaśnimy uczynione założenia. Założenie, że funkcja <math>f(x)</math> jest malejąca, będzie wykorzystane w&nbsp;czasie dowodu twierdzenia, ale rozważanie przypadku, gdy <math>f(x)</math> jest rosnąca, nie ma sensu, bo wtedy nie mógłby być spełniony warunek konieczny zbieżności szeregu <math>\sum_{k = m}^{\infty} f(k)</math> (zobacz twierdzenie D4).
 
  
Moglibyśmy założyć bardziej ogólnie, że funkcja jest nieujemna, ale wtedy twierdzenie obejmowałoby przypadki funkcji takich, że dla pewnego <math>x_0</math> byłoby <math>f(x_0) = 0</math>. Ponieważ z&nbsp;założenia funkcja <math>f(x)</math> jest malejąca, zatem mielibyśmy <math>f(x) = 0</math> dla <math>x \geqslant x_0</math>. Odpowiadający tej funkcji szereg <math>\sum_{k = m}^{\infty} f (k)</math> miałby dla <math>k \geqslant x_0</math> tylko wyrazy zerowe i&nbsp;byłby w&nbsp;sposób oczywisty zbieżny.
 
  
Założenie ciągłości funkcji <math>f(x)</math> ma zapewnić całkowalność funkcji <math>f(x)</math><ref name="calkowalnosc1"/>. Założenie to można osłabić<ref name="calkowalnosc2"/>, tutaj ograniczymy się tylko do podania przykładów. Niech <math>a, b \in \mathbb{R}</math>, mamy
 
  
::<math>\int_a^b \text{sgn}(x) d x = | b | - | a |</math> <math>\qquad \qquad \int_0^a \lfloor x \rfloor d x = \frac{1}{2} \lfloor a \rfloor (2 a - \lfloor a \rfloor - 1)</math> <math>\qquad \qquad \int_{-a}^a \lfloor x \rfloor d x = - a</math>
 
  
 +
== Obliczanie wyrazów ciągu Lucasa modulo <math>m</math> ==
  
Po tych uwagach dotyczących założeń możemy przejść do właściwego dowodu. Korzystając ze wzoru udowodnionego w&nbsp;twierdzeniu D15 i&nbsp;przechodząc z <math>n</math> do nieskończoności, dostajemy
+
<span style="font-size: 110%; font-weight: bold;">Przykład N14</span><br/>
 +
Pokażemy, jak wykorzystać podane w&nbsp;twierdzeniu N13 wzory 19, 20, 21 i 16
  
::<math>0 \leqslant \int_{m}^{\infty} f(x) d x \leqslant \sum_{k = m}^{\infty} f(k) \leqslant f (m) + \int_{m}^{\infty} f(x) d x</math>
+
::<math>U_{2 n} = 2 U_n U_{n + 1} - P U^2_n</math>
  
 +
::<math>U_{2 n + 1} = U^2_{n + 1} - Q U^2_n</math>
  
'''Z drugiej nierówności wynika''', że jeżeli całka <math>\int_{m}^{\infty} f(x) d x</math> jest rozbieżna, to rosnący ciąg kolejnych całek oznaczonych <math>C_j = \int_{m}^{j} f (x) d x</math> nie może być ograniczony od góry (w&nbsp;przeciwnym wypadku całka <math>\int_{m}^{\infty} f (x) d x</math> byłby zbieżna), zatem również rosnący ciąg sum częściowych <math>F_j = \sum_{k = m}^{j} f(k)</math> nie może być ograniczony od góry, co oznacza, że szereg <math>\sum_{k = m}^{\infty} f(k)</math> jest rozbieżny.
+
::<math>U_{2 n + 2} = P U^2_{n + 1} - 2 Q U_n U_{n + 1}</math>
  
'''Z trzeciej nierówności wynika''', że jeżeli całka <math>\int_{m}^{\infty} f(x) d x</math> jest zbieżna, to ciąg sum częściowych <math>F_j = \sum_{k = m}^{j} f (k)</math> jest ciągiem rosnącym i&nbsp;ograniczonym od góry. Wynika stąd, że ciąg <math>F_j</math> jest zbieżny, zatem szereg <math>\sum_{k = m}^{\infty} f(k)</math> jest zbieżny.
+
::<math>V_n = 2 U_{n + 1} - P U_n</math>
  
Ponieważ zbieżność (rozbieżność) całki <math>\int_{m}^{\infty} f(x) d x</math> nie zależy od wyboru dolnej granicy całkowania, to wystarczy badać granicę <math>\lim_{x \to \infty} F (x)</math>, gdzie <math>F(x) = \int f (x) d x</math> jest dowolną funkcją pierwotną.<br/>
+
do szybkiego obliczania wyrazów ciągu Lucasa modulo <math>m</math>.
&#9633;
 
{{\Spoiler}}
 
  
  
 +
Niech <math>P = 3</math>, <math>Q = 1</math>, <math>D = P^2 - 4 Q = 5</math>, <math>n = 22 = (10110)_2 = \sum_{j = 0}^{4} a_j \cdot 2^j</math>.
  
<span style="font-size: 110%; font-weight: bold;">Przykład D18</span><br/>
+
W tabeli przedstawione są kolejne kroki, jakie musimy wykonać, aby policzyć <math>U_n = U_{22}</math> modulo <math>m = 23</math>.
Przykłady zebraliśmy w&nbsp;tabeli. Przy obliczaniu całek nieoznaczonych Czytelnik może skorzystać ze strony [https://www.wolframalpha.com/input?i=integral+1%2Fsqrt%28x%29 WolframAlpha].
 
  
 
::{| class="wikitable plainlinks"  style="font-size: 100%; text-align: center; margin-right: auto;"
 
::{| class="wikitable plainlinks"  style="font-size: 100%; text-align: center; margin-right: auto;"
!
 
! szereg <math>\sum_{k = m}^{\infty} a_k</math>
 
! funkcja <math>f(x)</math>
 
! całka <math>F(x) = \int f(x) d x</math>
 
! granica <math>\lim_{x \to \infty} F(x)</math>
 
! wynik
 
 
|-
 
|-
| 1. || <math>\sum_{k = 1}^{\infty} \frac{1}{k}</math> || <math>\frac{1}{x}</math> || <math>\log x</math> || <math>\infty</math> || szereg rozbieżny
+
! <math>\boldsymbol{j}</math> !! <math>\boldsymbol{a_j}</math> !! <math>\boldsymbol{k_j}</math> !! <math>\boldsymbol{U_{k_j}}</math> !! <math>\boldsymbol{U_{k_j + 1}}</math>
 
|-
 
|-
| 2. || <math>\sum_{k = 1}^{\infty} \frac{1}{\sqrt{k}}</math> || <math>\frac{1}{\sqrt{x}}</math> || <math>2 \sqrt{x}</math> || <math>\infty</math> || szereg rozbieżny
+
| <math>4</math> || <math>1</math> || <math>(1)_2 = 1</math> || <math>U_1 = 1</math> || <math>U_2 = P = 3</math>
 
|-
 
|-
| 3. || <math>\sum_{k = 1}^{\infty} \frac{1}{k^2}</math> || <math>\frac{1}{x^2}</math> || <math>- \frac{1}{x}</math> || <math>0</math> || szereg zbieżny
+
| <math>3</math> || <math>0</math> || <math>(10)_2 = 2</math> || <math>U_2 = 2 U_1 U_2 - 3 U^2_1 = 6 - 3 = 3</math> || <math>U_3 = U^2_2 - 1 = 8</math>
 
|-
 
|-
| 4. || <math>\sum_{k = 2}^{\infty} \frac{1}{k \log k}</math> || <math>\frac{1}{x \log x}</math> || <math>\log \log x</math> || <math>\infty</math> || szereg rozbieżny
+
| <math>2</math> || <math>1</math> || <math>(101)_2 = 5</math> || <math>U_5 = U^2_3 - U^2_2 = 64 - 9 = 55 \equiv 9</math> || <math>U_6 = 3 U_3^2 - 2 U_2 U_3 = 192 - 48 = 144 \equiv 6</math>
 
|-
 
|-
| 5. || <math>\sum_{k = 2}^{\infty} \frac{1}{k \log^2 \! k}</math> || <math>\frac{1}{x \log^2 \! x}</math> || <math>- \frac{1}{\log x}</math> || <math>0</math> || szereg zbieżny
+
| <math>1</math> || <math>1</math> || <math>(1011)_2 = 11</math> || <math>U_{11} = U^2_6 - U^2_5 \equiv 36 - 81 \equiv - 45 \equiv 1</math> || <math>U_{12} = 3 U_6^2 - 2 U_5 U_6 \equiv 108 - 108 \equiv 0</math>
 +
|-
 +
| <math>0</math> || <math>0</math> || <math>(10110)_2 = 22</math> || <math>U_{22} = 2 U_{11} U_{12} - 3 U^2_{11} \equiv 0 - 3 \equiv 20</math> || <math>U_{23} = U^2_{12} - U^2_{11} \equiv 0 - 1 \equiv 22</math>
 
|}
 
|}
  
Stosując kryterium całkowe można łatwo pokazać, że szeregi
+
W kolumnie <math>a_j</math> wypisujemy kolejne cyfry liczby <math>n = 22 = (10110)_2</math> zapisanej w&nbsp;układzie dwójkowym. Liczby w&nbsp;kolumnie <math>k_j</math> tworzymy, biorąc kolejne (od prawej do lewej) cyfry liczby <math>n</math> w&nbsp;zapisie dwójkowym. Postępując w&nbsp;ten sposób, w&nbsp;ostatnim wierszu mamy <math>k_j = n</math> i&nbsp;wyliczamy liczby <math>U_n</math> i <math>U_{n + 1}</math> modulo <math>m</math>.
  
::<math>\sum_{k = 1}^{\infty} \frac{1}{k^s}</math>
+
Dla uproszczenia zapisu i&nbsp;ułatwienia zrozumienia liczbę <math>k_j</math> oznaczymy jako <math>r</math>, a <math>k_{j + 1}</math> jako <math>s</math>. Zauważmy, że
  
::<math>\sum_{k = 2}^{\infty} \frac{1}{k \log^s \! k}</math>
+
:* tabela jest zbudowana tak, że musimy znaleźć wyrazy ciągu Lucasa o&nbsp;indeksie <math>r = k_j</math> oraz o&nbsp;indeksie o&nbsp;jeden większym: <math>r + 1 = k_j + 1</math>
 +
:* przejście do następnego wiersza (w dół) oznacza, że musimy znaleźć wyrazy o&nbsp;indeksie <math>s = k_{j + 1}</math> oraz o&nbsp;indeksie o&nbsp;jeden większym: <math>s + 1</math>
 +
:* przechodząc do następnego wiersza, dotychczasowa liczba <math>r = k_j</math> powiększa się o&nbsp;kolejną cyfrę ( <math>0</math> lub <math>1</math> ), którą dopisujemy z&nbsp;prawej strony
 +
:* dodanie na końcu liczby <math>r = k_j</math> zera podwaja liczbę <math>r</math>, czyli <math>s = k_{j + 1} = 2 r</math> oraz <math>s + 1 = 2 r + 1</math>
 +
:* dodanie na końcu liczby <math>r = k_j</math> jedynki podwaja liczbę <math>r</math> i&nbsp;zwiększą ją o&nbsp;jeden, czyli <math>s = k_{j + 1} = 2 r + 1</math> oraz <math>s + 1 = 2 r + 2</math>
  
są zbieżne dla <math>s > 1</math> i&nbsp;rozbieżne dla <math>s \leqslant 1</math>.
 
  
 +
Dlatego, jeżeli kolejną dodaną cyfrą jest zero, to korzystamy ze wzorów
  
 +
::<math>U_s = U_{2 r} = 2 U_r U_{r + 1} - P U^2_r</math>
  
 +
::<math>U_{s + 1} = U_{2 r + 1} = U^2_{r + 1} - Q U^2_r</math>
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie D19</span><br/>
+
Gdy kolejną dodaną cyfrą jest jeden, to stosujemy wzory
Jeżeli funkcja <math>f(x)</math> jest ciągła, dodatnia i&nbsp;malejąca w&nbsp;przedziale <math>[m, \infty)</math> oraz
 
  
::<math>R(m) = \int_{m}^{\infty} f(x) d x</math>
+
::<math>U_s = U_{2 r + 1} = U^2_{r + 1} - Q U^2_r</math>
  
::<math>S(m) = \sum_{k = a}^{m} f(k)</math>
+
::<math>U_{s + 1} = U_{2 r + 2} = P U^2_{r + 1} - 2 Q U_r U_{r + 1}</math>
  
gdzie <math>a < m</math>, to prawdziwe jest następujące oszacowanie sumy szeregu nieskończonego <math>\sum_{k = a}^{\infty} f (k)</math>
 
  
::<math>S(m) + R(m) - f(m) \leqslant \sum_{k = a}^{\infty} f(k) \leqslant S(m) + R(m)</math>
+
Korzystając ze wzoru <math>V_n = 2 U_{n + 1} - P U_n</math>, mamy
 +
 
 +
::<math>V_{22} = 2 U_{23} - 3 U_{22} \equiv 44 - 60 \equiv - 16 \equiv 7 \pmod{23}</math>
 +
 
 +
Ostatecznie otrzymujemy
 +
 
 +
::<math>U_{22} \equiv 20 \pmod{23} \quad</math> oraz <math>\quad V_{22} \equiv 7 \pmod{23}</math>
 +
 
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 
Korzystając ze wzoru udowodnionego w&nbsp;twierdzeniu D15 i&nbsp;przechodząc z <math>n</math> do nieskończoności, dostajemy
 
  
::<math>\int_{m}^{\infty} f(x) d x \leqslant \sum_{k = m}^{\infty} f(k) \leqslant f(m) + \int_{m}^{\infty} f(x) d x</math>
+
<span style="font-size: 110%; font-weight: bold;">Uwaga N15</span><br/>
 +
Uogólniając postępowanie przedstawione w&nbsp;przykładzie N14, możemy napisać program w&nbsp;PARI/GP do szybkiego obliczania wyrazów ciągu Lucasa <math>U_n (P, Q)</math> i <math>V_n (P, Q)</math> modulo <math>m</math>.
  
Czyli
+
<span style="font-size: 90%; color:black;">modLucas(n, P, Q, m) =
 +
{
 +
'''local'''(A,  i,  s,  U,  U2,  V,  W,  W2);
 +
'''if'''( m == 1, '''return'''([0, 0]) );
 +
'''if'''( n == 0, '''return'''([0, 2 % m]) );
 +
A = '''digits'''(n, 2); \\ otrzymujemy wektor cyfr liczby n w układzie dwójkowym
 +
s = '''length'''(A); \\ długość wektora A
 +
U = 1;
 +
W = P;
 +
i = 1;
 +
'''while'''( i++ <= s,
 +
        '''if'''( A[i] == 0,  U2 = 2*U*W - P*U^2;  W2 = W^2 - Q*U^2 );
 +
        '''if'''( A[i] == 1,  U2 = W^2 - Q*U^2;  W2 = P*W^2 - 2*Q*U*W );
 +
        U = U2 % m;
 +
        W = W2 % m;
 +
      );
 +
V = (2*W - P*U) % m;
 +
'''return'''([U, V]);
 +
}</span>
  
::<math>R(m) \leqslant \sum_{k = m}^{\infty} f(k) \leqslant f(m) + R (m)</math>
 
  
Odejmując od każdej ze stron nierówności liczbę <math>f(m)</math> i&nbsp;dodając do każdej ze stron nierówności sumę skończoną <math>S(m) = \sum_{k = a}^{m} f(k)</math>, otrzymujemy
 
  
::<math>S(m) + R (m) - f(m) \leqslant \sum_{k = a}^{\infty} f(k) \leqslant S(m) + R (m)</math>
 
  
Co należało pokazać.<br/>
 
&#9633;
 
{{\Spoiler}}
 
  
 +
== Podzielność wyrazów <math>U_n (P, Q)</math> przez liczbę pierwszą nieparzystą ==
  
 +
<span style="font-size: 110%; font-weight: bold;">Uwaga N16</span><br/>
 +
Niech <math>p</math> będzie liczbą pierwszą nieparzystą. W&nbsp;przypadku, gdy <math>p \nmid P Q</math> nie możemy nic powiedzieć o&nbsp;podzielności wyrazów <math>U_n</math> przez <math>p</math>. Przykładowo, jeżeli <math>P \equiv 1 \pmod{p} \;</math> <math>\text{i} \;\; Q \equiv 1 \pmod{p}</math>, to modulo <math>p</math>, mamy
  
<span style="font-size: 110%; font-weight: bold;">Przykład D20</span><br/>
+
::<math>(U_n) \equiv (0, 1, 1, 0, - 1, - 1, 0, 1, 1, 0, - 1, - 1, 0, 1, 1, 0, - 1, - 1, 0, 1, 1, 0, - 1, - 1, \ldots)</math>
Twierdzenie D19 umożliwia określenie, z&nbsp;jaką dokładnością została wyznaczona suma szeregu. Wyznaczmy sumę szeregu <math>\sum_{k = 1}^{\infty} \frac{1}{(k + 1) \sqrt{k}}</math>. Mamy
 
  
::<math>S(m) = \sum_{k = 1}^{m} \frac{1}{(k + 1) \sqrt{k}}</math>
+
W przypadku, gdy <math>P \equiv 2 \pmod{p} \;</math> <math>\text{i} \;\; Q \equiv 1 \pmod{p}</math>, to modulo <math>p</math> mamy
  
::<math>\int \frac{d x}{(x + 1) \sqrt{x}} = 2 \text{arctg} \left( \sqrt{x} \right)</math>
+
::<math>(U_n) \equiv (0, 1, 2, \ldots, p - 1, 0, 1, 2, \ldots, p - 1, 0, 1, 2, \ldots, p - 1, \ldots)</math>
  
::<math>R(m) = \int_{m}^{\infty} \frac{d x}{(x + 1) \sqrt{x}} = \pi - 2 \text{arctg} \left( \sqrt{m} \right)</math>
+
Sytuacja wygląda inaczej, gdy <math>p \mid P Q</math>.
  
Zatem
 
  
::<math>S(m) + R (m) - f (m) \leqslant \sum_{k = 1}^{\infty} \frac{1}{(k + 1) \sqrt{k}} \leqslant S (m) + R (m)</math>
 
  
Dla kolejnych wartości <math>m</math> otrzymujemy
+
<span style="font-size: 110%; font-weight: bold;">Twierdzenie N17</span><br/>
 +
Niech <math>p</math> będzie liczbą pierwszą nieparzystą.
  
::{| class="wikitable plainlinks" style="font-size: 100%; text-align: center; margin-right: auto;"
+
::{| border="0"  
! <math>m</math>
+
|-style=height:1.9em
! <math>S(m) + R(m) - f(m)</math>
+
| &#9679;&nbsp;&nbsp;&nbsp; jeżeli <math>\; p \mid P \;</math> <math>\text{i} \;\; p \mid Q , \;</math> to <math>\; p \mid U_n \;</math> dla <math>n \geqslant 2</math>
! <math>S(m) + R(m)</math>
+
|-style=height:1.9em
|-
+
| &#9679;&nbsp;&nbsp;&nbsp; jeżeli <math>\; p \mid P \;</math> <math>\text{i} \;\; p \nmid Q , \;</math> to <math>\; p \mid U_{2 n} \;</math> i <math>\; p \nmid U_{2 n + 1}</math>
| <math>10^1</math> || <math>1.84</math> || <math>1.87</math>
+
|-style=height:1.9em
|-
+
| &#9679;&nbsp;&nbsp;&nbsp; jeżeli <math>\; p \nmid P \;</math> <math>\text{i} \;\; p \mid Q , \;</math> to <math>\; p \nmid U_n \;</math> dla <math>n \geqslant 1</math>
| <math>10^2</math> || <math>1.85</math> || <math>1.86</math>
+
|-style=height:1.9em
|-
+
| &#9679;&nbsp;&nbsp;&nbsp; jeżeli <math>\; p \mid Q , \;</math> to <math>\; p \mid U_n</math>, gdzie <math>n \geqslant 2</math>, wtedy i&nbsp;tylko wtedy, gdy <math>\; p \mid P</math>
| <math>10^3</math> || <math>1.86000</math> || <math>1.86004</math>
+
|-style=height:1.9em
|-
+
| &#9679;&nbsp;&nbsp;&nbsp; jeżeli <math>\; p \nmid P \;</math> <math>\text{i} \;\; p \mid D , \;</math> to <math>\; p \mid U_n \;</math> wtedy i&nbsp;tylko wtedy, gdy <math>p \mid n</math>
| <math>10^4</math> || <math>1.860024</math> || <math>1.860025</math>
 
|-
 
| <math>10^5</math> || <math>1.86002506</math> || <math>1.86002509</math>
 
|-
 
| <math>10^6</math> || <math>1.860025078</math> || <math>1.860025079</math>
 
|-
 
| <math>10^7</math> || <math>1.86002507920</math> || <math>1.86002507923</math>
 
|-
 
| <math>10^8</math> || <math>1.860025079220</math> || <math>1.860025079221</math>
 
|-
 
| <math>10^9</math> || <math>1.8600250792211</math> || <math>1.8600250792212</math>
 
|-
 
 
|}
 
|}
  
 +
Założenie, że <math>p \nmid P</math> w&nbsp;ostatnim punkcie jest istotne. Gdy <math>\; p \mid P \;</math> i <math>\; p \mid D , \;</math> to <math>\; p \mid Q \;</math> i&nbsp;otrzymujemy punkt pierwszy.
 +
 +
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 +
'''Punkt 1.'''
 +
 +
Ponieważ <math>U_2 = P</math>, zatem <math>p \mid U_2</math>. Dla <math>n \geqslant 3</math> wyrażenie <math>U_n = P U_{n - 1} - Q U_{n - 2}</math> jest podzielne przez <math>p</math>.
 +
 +
'''Punkt 2.'''
 +
 +
Indeksy parzyste. Indukcja matematyczna. Mamy <math>U_0 = 0</math> i <math>U_2 = P</math>, zatem <math>p \mid U_0</math> i <math>p \mid U_2</math>. Zakładając, że <math>p \mid U_{2 n}</math>, z definicji ciągu <math>(U_k)</math>, otrzymujemy dla <math>U_{2 n + 2}</math>
 +
 +
::<math>U_{2 n + 2} = P U_{2 n - 1} - Q U_{2 n}</math>
 +
 +
Z założenia indukcyjnego wynika, że <math>p \mid U_{2 n + 2}</math>, zatem na mocy zasady indukcji matematycznej twierdzenie jest prawdziwe dla wszystkich <math>n \geqslant 0</math>.
 +
 +
Indeksy nieparzyste. Indukcja matematyczna. Mamy <math>U_1 = 1</math> i <math>U_3 = P^2 - Q</math>, zatem <math>p \nmid U_1</math> i <math>p \nmid U_3</math>. Zakładając, że <math>p \nmid U_{2 n - 1}</math>, z definicji ciągu <math>(U_k)</math>, otrzymujemy dla <math>U_{2 n + 1}</math>
  
W programie PARI/GP wystarczy napisać:
+
::<math>U_{2 n + 1} = P U_{2 n} - Q U_{2 n - 1}</math>
  
f(k) = 1.0/(k+1)/sqrt(k)
+
Z założenia indukcyjnego wynika, że <math>p \nmid U_{2 n + 1}</math>, zatem na mocy zasady indukcji matematycznej twierdzenie jest prawdziwe dla wszystkich <math>n \geqslant 1</math>.
S(m) = sum( k = 1, m, f(k) )
 
R(m) = Pi - 2*atan( sqrt(m) )
 
for(j=1, 9, m=10^j; suma=S(m); reszta=R(m); print( "j= ", j, "  a= ", suma + reszta - f(m), "  b= ", suma + reszta ))
 
  
 +
'''Punkt 3.'''
  
 +
Indukcja matematyczna. Mamy <math>U_1 = 1</math> i <math>U_2 = P</math>, zatem <math>p \nmid U_1</math> i <math>p \nmid U_2</math>. Zakładając, że <math>p \nmid U_n</math> zachodzi dla wszystkich liczb całkowitych dodatnich nie większych od <math>n</math>, z&nbsp;definicji ciągu <math>(U_n)</math>
 +
otrzymujemy dla <math>n + 1</math>
  
 +
::<math>U_{n + 1} = P U_n - Q U_{n - 1}</math>
  
Prostym wnioskiem z&nbsp;twierdzenia D15 jest następujące<br/>
+
Z założenia indukcyjnego wynika, że <math>p \nmid U_{n + 1}</math>, zatem na mocy zasady indukcji matematycznej twierdzenie jest prawdziwe dla wszystkich liczb <math>n \geqslant 1</math>.
<span style="font-size: 110%; font-weight: bold;">Twierdzenie D21</span><br/>
 
Niech <math>f(x)</math> będzie funkcją ciągłą, dodatnią i&nbsp;malejącą w&nbsp;przedziale <math>[m, + \infty)</math>. Jeżeli przy wyliczaniu sumy szeregu nieskończonego <math>\sum_{k = a}^{\infty} f (k)</math> (gdzie <math>a < m</math>) zastąpimy sumę <math>\sum_{k = m}^{\infty} f (k)</math> całką <math>\int_{m}^{\infty} f (x) d x</math>, to błąd wyznaczenia sumy szeregu nie przekroczy <math>f(m)</math>.
 
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
+
'''Punkt 4.'''
Korzystając ze wzoru z&nbsp;twierdzenia D15 i&nbsp;przechodząc z <math>n</math> do nieskończoności, otrzymujemy
 
  
::<math>\int_{m}^{\infty} f(x) d x \leqslant \sum_{k = m}^{\infty} f(k) \leqslant f(m) + \int_{m}^{\infty} f(x) d x</math>
+
Wynika z&nbsp;punktów pierwszego i&nbsp;trzeciego.
  
Dodając do każdej ze stron nierówności wyrażenie <math>- f(m) + \sum_{k = a}^{m} f(k)</math>, dostajemy
+
'''Punkt 5.'''
  
::<math>- f(m) + \sum_{k = a}^{m} f(k) + \int_{m}^{\infty} f(x) d x \leqslant \sum_{k = a}^{\infty} f(k) \leqslant \sum_{k = a}^{m} f(k) + \int_{m}^{\infty} f(x) d x</math>
+
Z twierdzenia N7 wiemy, że
  
Skąd wynika natychmiast
+
::<math>2^{n - 1} U_n = \sum_{k = 0}^{\lfloor (n - 1) / 2 \rfloor} \binom{n}{2 k + 1} P^{n - 2 k - 1} D^k</math>
  
::<math>- f(m) \leqslant \sum_{k = a}^{\infty} f(k) - \left( \sum_{k = a}^{m} f(k) + \int_{m}^{\infty} f(x) d x \right) \leqslant 0 < f(m)</math>
+
::::<math>\;\; = n P^{n - 1} + \binom{n}{3} P^{n - 3} D + \binom{n}{5} P^{n - 5} D^2 + \ldots +
 +
\begin{cases}
 +
n P D^{(n - 2) / 2} & \text{gdy }n\text{ jest parzyste} \\
 +
D^{(n - 1) / 2} & \text{gdy }n\text{ jest nieparzyste} \\
 +
\end{cases}</math>
  
Czyli
+
Z założenia <math>p \mid D</math>, zatem modulo <math>p</math> dostajemy
  
::<math>\left| \sum_{k = a}^{\infty} f(k) - \left( \sum_{k = a}^{m} f(k) + \int_{m}^{\infty} f(x) d x \right) \right| \leqslant f(m)</math>
+
::<math>2^{n - 1} U_n \equiv n P^{n - 1} \pmod{p}</math>
  
Co kończy dowód.<br/>
+
Ponieważ <math>p \nmid P</math>, zatem <math>p \mid U_n</math> wtedy i&nbsp;tylko wtedy, gdy <math>p \mid n</math>.
 +
Co należało pokazać.<br/>
 
&#9633;
 
&#9633;
 
{{\Spoiler}}
 
{{\Spoiler}}
Linia 711: Linia 747:
  
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie D22</span><br/>
+
<span style="font-size: 110%; font-weight: bold;">Twierdzenie N18</span><br/>
Niech <math>f(x)</math> będzie funkcją ciągłą, dodatnią i&nbsp;malejącą w&nbsp;przedziale <math>[m, + \infty)</math>. Jeżeli szereg <math>\sum_{k = m}^{\infty} f (k)</math> jest zbieżny, to dla każdego <math>n \geqslant m</math> prawdziwe jest następujące oszacowanie sumy częściowej szeregu <math>S(n)</math>
+
Jeżeli <math>d</math> jest nieparzystym dzielnikiem <math>Q</math>, to dla <math>n \geqslant 2</math> jest
 +
 
 +
::<math>U_n \equiv P^{n - 1} \pmod{d}</math>
 +
 
 +
W szczególności, gdy liczba pierwsza nieparzysta <math>p</math> jest dzielnikiem <math>Q</math> i <math>p \nmid P</math>, to
 +
 
 +
::<math>U_p \equiv 1 \pmod{p}</math>
 +
 
 +
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 +
Oznaczmy <math>\delta = \sqrt{D}</math>, zatem <math>2 \alpha = P + \delta</math> i <math>2 \beta = P - \delta</math>. Ze wzoru dwumianowego, mamy
 +
 
 +
::<math>2^n \alpha^n = (P + \delta)^n = \sum_{j = 0}^{n} \binom{n}{j} P^{n - j} \delta^j</math>
 +
 
 +
::<math>2^n \beta^n = (P - \delta)^n = \sum_{j = 0}^{n} \binom{n}{j} P^{n - j} (- \delta)^j</math>
 +
 
  
::<math>S(n) = \sum_{k = m}^{n} f (k) \leqslant C - B \int_{n}^{\infty} f (x) d x</math>
+
Obliczając różnicę wyjściowych wzorów, mamy
  
gdzie <math>B</math> oraz <math>C</math> są dowolnymi stałymi spełniającymi nierówności
+
::<math>2^n (\alpha^n - \beta^n) = \sum_{j = 0}^{n} \binom{n}{j} P^{n - j} (\delta^j - (- \delta)^j) =</math>
  
::<math>B \geqslant 1</math>
+
:::::<math>\quad \: = \underset{j \; \text{nieparzyste}}{\sum_{j = 1}^{n}} \binom{n}{j} P^{n - j} \cdot 2 \delta^j</math>
  
::<math>C \geqslant f (m) + B \int_{m}^{\infty} f (x) d x</math>
+
:::::<math>\quad \: = 2 \underset{j \; \text{nieparzyste}}{\sum_{j = 1}^{n}} \binom{n}{j} P^{n - j} \cdot \delta \cdot D^{(j - 1) / 2}</math>
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
+
Rozpatrując powyższą równość modulo <math>Q</math> dostajemy (zobacz N43)
Z twierdzenia D15 mamy
+
 
 +
::<math>2^{n - 1} \cdot {\small\frac{\alpha^n - \beta^n}{\delta}} = 2^{n - 1} U_n \equiv \underset{j \; \text{nieparzyste}}{\sum_{j = 1}^{n}} \binom{n}{j} P^{n - j} \cdot P^{j - 1}</math>
 +
 
 +
:::::::::<math>\;\:\: \equiv P^{n - 1} \underset{j \; \text{nieparzyste}}{\sum_{j = 1}^{n}} \binom{n}{j}</math>
  
::<math>S(n) = \sum_{k = m}^{n} f (k) \leqslant f (m) + \int_{m}^{n} f (x) d x \leqslant</math>
+
:::::::::<math>\;\:\: \equiv 2^{n - 1} P^{n - 1}</math>
  
:::::::<math>\;\! \leqslant f (m) + B \int_{m}^{n} f (x) d x =</math>
+
Czyli
  
:::::::<math>\;\! = f (m) + B \int_{m}^{n} f (x) d x - B \int_{m}^{\infty} f (x) d x + B \int_{m}^{\infty} f (x) d x =</math>
+
::<math>2^{n - 1} (U_n - P^{n - 1}) \equiv 0 \pmod{Q}</math>
  
:::::::<math>\;\! = f (m) + B \int_{m}^{n} f (x) d x - B \int^n_m f (x) d x - B \int_{n}^{\infty} f (x) d x + B \int_{m}^{\infty} f (x) d x =</math>
+
Ponieważ <math>Q</math> dzieli <math>2^{n - 1} (U_n - P^{n - 1})</math>, to tym bardziej <math>d</math> dzieli <math>2^{n - 1} (U_n - P^{n - 1})</math>. Z założenia <math>\gcd (d, 2^{n - 1}) = 1</math>, zatem <math>d</math> dzieli <math>U_n - P^{n - 1}</math> (zobacz C74).
  
:::::::<math>\;\! = f (m) - B \int_{n}^{\infty} f (x) d x + B \int_{m}^{\infty} f (x) d x =</math>
+
W przypadku szczególnym, gdy <math>d = p</math>, gdzie <math>p</math> jest nieparzystą liczbą pierwszą i <math>p \nmid P</math>, z&nbsp;twierdzenia Fermata otrzymujemy natychmiast
  
:::::::<math>\;\! = \left[ f (m) + B \int_{m}^{\infty} f (x) d x \right] - B \int_{n}^{\infty} f (x) d x \leqslant</math>
+
::<math>U_p \equiv P^{p - 1} \equiv 1 \pmod{p}</math>
  
:::::::<math>\;\! \leqslant C - B \int_{n}^{\infty} f (x) d x</math><br/>
+
Co należało pokazać.<br/>
 
&#9633;
 
&#9633;
 
{{\Spoiler}}
 
{{\Spoiler}}
Linia 743: Linia 796:
  
  
<span style="font-size: 110%; font-weight: bold;">Uwaga D23</span><br/>
+
<span style="font-size: 110%; font-weight: bold;">Twierdzenie N19</span><br/>
Niech <math>f(x)</math> będzie funkcją ciągłą, dodatnią i&nbsp;malejącą w&nbsp;przedziale <math>[m, \infty)</math>. Rozważmy szereg <math>\sum_{k = m}^{\infty} f (k)</math>. Zauważmy, że:
+
Niech <math>D = P^2 - 4 Q</math>, a <math>(D \mid p)</math> oznacza symbol Legendre'a, gdzie <math>p</math> jest liczbą pierwszą nieparzystą i <math>p \nmid Q</math>. Mamy
  
* korzystając z&nbsp;całkowego kryterium zbieżności, możemy łatwo zbadać, czy szereg <math>\sum_{k = m}^{\infty} f (k)</math> jest zbieżny
+
::{| border="0"
* jeżeli szereg jest zbieżny, to ponownie wykorzystując całki (twierdzenie D22), możemy znaleźć oszacowanie sumy częściowej szeregu <math>S(n) = \sum_{k = m}^{n} f(k)</math>
+
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; <math>U_p \equiv (D \mid p) \pmod{p}</math>
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; jeżeli <math>(D \mid p) = - 1 , \;</math> to <math>\; p \mid U_{p + 1}</math>
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; jeżeli <math>(D \mid p) = 1 , \;</math> to <math>\; p \mid U_{p - 1}</math>
 +
|}
  
Jednak dysponując już oszacowaniem sumy częściowej szeregu <math>S(n) = \sum_{k = m}^{n} f(k)</math>, możemy udowodnić jego poprawność przy pomocy indukcji matematycznej, a&nbsp;stąd łatwo pokazać zbieżność szeregu <math>\sum_{k = m}^{\infty} f(k)</math>. Zauważmy, że wybór większego <math>B</math> ułatwia dowód indukcyjny. Stałą <math>C</math> najlepiej zaokrąglić w&nbsp;górę do wygodnej dla nas wartości.
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 +
'''Punkt 1.'''
  
 +
Zauważmy, że przypadek gdy <math>p \mid Q</math>, omówiliśmy w&nbsp;twierdzeniu poprzednim. Z&nbsp;założenia <math>p</math> jest liczbą pierwszą nieparzystą. Z&nbsp;twierdzenia N7, w&nbsp;przypadku nieparzystego <math>n = p</math>, otrzymujemy
  
Czasami potrzebujemy takiego uproszczenia problemu, aby udowodnić zbieżność szeregów bez odwoływania się do całek. Zauważmy, że Czytelnik nawet nie musi znać całek – wystarczy, że policzy je przy pomocy programów, które potrafią to robić (np. WolframAlpha). Kiedy już znajdziemy oszacowanie sumy częściowej szeregu, nie musimy wyjaśniać, w&nbsp;jaki sposób je znaleźliśmy – wystarczy udowodnić, że jest ono poprawne, a&nbsp;do tego wystarczy indukcja matematyczna.
+
::<math>2^{p - 1} U_p = p P^{p - 1} + \binom{p}{3} P^{p - 3} D + \binom{p}{5} P^{p - 5} D^2 + \ldots + \binom{p}{p-2} P^2 D^{(p - 3) / 2} + D^{(p - 1) / 2}</math>
  
Zamieszczonej niżej zadania pokazują, jak wykorzystać w&nbsp;tym celu twierdzenie D22.
+
Ponieważ dla każdego <math>k \in [1, p - 1]</math> (zobacz N43)
  
 +
::<math>\binom{p}{k} \equiv 0 \pmod{p}</math>
  
 +
to modulo <math>p</math> dostajemy (zobacz J32)
  
<span style="font-size: 110%; font-weight: bold;">Zadanie D24</span><br/>
+
::<math>2^{p - 1} U_p \equiv U_p \equiv D^{(p - 1) / 2} \equiv (D \mid p) \pmod{p}</math>
Korzystając z&nbsp;twierdzenia D22, znaleźć oszacowania sumy częściowej szeregów
 
  
::<math>\sum_{k = 1}^{\infty} \frac{1}{k^2} \qquad</math> oraz <math>\qquad \sum_{k = 2}^{\infty} \frac{1}{k (\log k)^2}</math>
+
'''Punkt 2.'''
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Rozwiązanie|Hide=Ukryj rozwiązanie}}
+
Zauważmy, że warunek <math>(D \mid p) = - 1</math> nie może być spełniony, gdy <math>p \mid Q</math>. Istotnie, gdy <math>p \mid Q</math>, to <math>D = P^2 - 4 Q \equiv P^2 \pmod{p}</math>, czyli
Rozważmy szereg <math>\sum_{k = 1}^{\infty} \frac{1}{k^2}</math>. Funkcja <math>f(x) = \frac{1}{x^2}</math> jest funkcją ciągłą, dodatnią i&nbsp;malejącą w&nbsp;przedziale <math>(0, + \infty)</math>. Dla <math>n > 0</math> jest
 
  
::<math>\int_{n}^{\infty} \frac{1}{x^2} d x = \frac{1}{n} \qquad</math> (zobacz: [https://www.wolframalpha.com/input/?i=int+1%2Fx%5E2%2C+x%3Dn%2C+infinity WolframAlpha])
+
::<math>(D \mid p) = (P^2 \mid p) = (P \mid p)^2 = 0 , \;</math> gdy <math>p \mid P</math>
  
::<math>C \geqslant 1 + \int_{1}^{\infty} \frac{1}{x^2} d x = 2</math>
+
lub
  
Zatem
+
::<math>(D \mid p) = (P^2 \mid p) = (P \mid p)^2 = 1 , \;</math> gdy <math>p \nmid P</math>
  
::<math>\sum_{k = 1}^{n} \frac{1}{k^2} \leqslant 2 - \frac{1}{n}</math>
+
i nie może być <math>(D \mid p) = - 1</math>.
  
 +
Dla parzystego <math>n = p + 1</math> otrzymujemy z&nbsp;twierdzenia N7
  
Rozważmy szereg <math>\sum_{k = 2}^{\infty} \frac{1}{k (\log k)^2}</math>. Funkcja <math>f(x) = \frac{1}{x (\log x)^2}</math> jest funkcją ciągłą, dodatnią i&nbsp;malejącą w&nbsp;przedziale <math>(1, + \infty)</math>. Dla <math>n > 1</math> jest
+
::<math>2^p U_{p + 1} = (p + 1) P^p + \binom{p + 1}{3} P^{p - 2} D + \binom{p + 1}{5} P^{p - 4} D^2 + \ldots + \binom{p + 1}{p - 2} P^3 D^{(p - 3) / 2} + (p + 1) P D^{(p - 1) / 2}</math>
  
::<math>\int_{n}^{\infty} \frac{1}{x (\log x)^2} d x = \frac{1}{\log n} \qquad</math> (zobacz: [https://www.wolframalpha.com/input/?i=int+1%2F%28x*%28log%28x%29%29%5E2%29%2C+x%3Dn%2C+infinity WolframAlpha])
+
Ponieważ dla <math>k \in [2, p - 1]</math> (zobacz N44)
  
::<math>C \geqslant \frac{1}{2 \cdot (\log 2)^2} + \int_{2}^{\infty} \frac{1}{x (\log x)^2} d x = \frac{1}{2 \cdot (\log 2)^2} + \frac{1}{\log 2} = 2.483379 \ldots</math>
+
::<math>\binom{p + 1}{k} \equiv 0 \pmod{p}</math>
  
Przyjmijmy <math>C = 2.5</math>, zatem
+
to modulo <math>p</math> dostajemy
  
::<math>\sum_{k = 2}^{n} \frac{1}{k (\log k)^2} < 2.5 - \frac{1}{\log n}</math><br/>
+
::<math>2 U_{p + 1} \equiv P + P D^{(p - 1) / 2} \pmod{p}</math>
&#9633;
 
{{\Spoiler}}
 
  
  
 +
Z założenia <math>D</math> jest liczbą niekwadratową modulo <math>p</math>, zatem <math>D^{(p - 1) / 2} \equiv - 1 \pmod{p}</math> (zobacz J30). Skąd wynika natychmiast, że
  
<span style="font-size: 110%; font-weight: bold;">Zadanie D25</span><br/>
+
::<math>2 U_{p + 1} \equiv 0 \pmod{p}</math>
Stosując indukcję matematyczną, udowodnić prawdziwość oszacowania <math>\sum_{k = 1}^{n} \frac{1}{k^2} \leqslant 2 - \frac{1}{n}</math> i&nbsp;udowodnić, że szereg <math>\sum_{k = 1}^{\infty} \frac{1}{k^2}</math> jest zbieżny.
 
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Rozwiązanie|Hide=Ukryj rozwiązanie}}
+
Czyli <math>p \mid U_{p + 1}</math>.
Indukcja matematyczna. Łatwo zauważamy, że oszacowanie jest prawdziwe dla <math>n = 1</math>. Zakładając, że oszacowanie jest prawdziwe dla <math>n</math>, otrzymujemy dla <math>n + 1</math>
 
  
::<math>\sum_{k = 1}^{n + 1} \frac{1}{k^2} = \sum_{k = 1}^{n} \frac{1}{k^2} + \frac{1}{(n + 1)^2} \leqslant</math>
+
'''Punkt 3.'''
  
::::<math>\;\: \leqslant 2 - \frac{1}{n} + \frac{1}{(n + 1)^2} \leqslant</math>
+
Dla parzystego <math>n = p - 1</math> otrzymujemy z&nbsp;twierdzenia N7
  
::::<math>\;\: \leqslant 2 - \frac{1}{n + 1} + \left( \frac{1}{n + 1} - \frac{1}{n} + \frac{1}{(n + 1)^2} \right) =</math>
+
::<math>2^{p - 2} U_{p - 1} = (p - 1) P^{p - 2} + \binom{p - 1}{3} P^{p - 4} D + \binom{p - 1}{5} P^{p - 6} D^2 + \ldots + \binom{p - 1}{p - 4} P^3 D^{(p - 5) / 2} + (p - 1) P D^{(p - 3) / 2}</math>
  
::::<math>\;\: = 2 - \frac{1}{n + 1} - \frac{1}{n (n + 1)^2} <</math>
+
Ponieważ dla <math>k \in [0, p - 1]</math> (zobacz N45)
  
::::<math>\;\: < 2 - \frac{1}{n + 1}</math>
+
::<math>\binom{p - 1}{k} \equiv (- 1)^k \pmod{p}</math>
  
Co kończy dowód indukcyjny. Zatem dla <math>n \geqslant 1</math> mamy
+
to modulo <math>p</math> mamy
  
::<math>S(n) = \sum_{k = 1}^{n} \frac{1}{k^2} \leqslant 2 - \frac{1}{n} < 2</math>
+
::<math>2^{p - 2} U_{p - 1} \equiv - (P^{p - 2} + P^{p - 4} D + P^{p - 6} D^2 + \ldots + P D^{(p - 3) / 2}) \pmod{p}</math>
  
Czyli ciąg sum częściowych <math>S(n) = \sum_{k = 1}^{n} \frac{1}{k^2}</math> szeregu <math>\sum_{k = 1}^{\infty} \frac{1}{k^2}</math> jest rosnący i&nbsp;ograniczony od góry, a&nbsp;zatem zbieżny. Co oznacza, że szereg jest zbieżny.<br/>
+
::::<math>\quad \,\, \equiv - P (P^{p - 3} + P^{p - 5} D + P^{p - 7} D^2 + \ldots + D^{(p - 3) / 2}) \pmod{p}</math>
&#9633;
 
{{\Spoiler}}
 
  
  
 +
Z założenia <math>D</math> jest liczbą kwadratową modulo <math>p</math> (zobacz J28), zatem istnieje taka liczba <math>R</math>, że
  
<span style="font-size: 110%; font-weight: bold;">Zadanie D26</span><br/>
+
::<math>D \equiv R^2 \pmod{p}</math>
Stosując indukcję matematyczną, udowodnić prawdziwość oszacowania <math>\sum_{k = 2}^{n} \frac{1}{k (\log k)^2} < 2.5 - \frac{1}{\log n}</math> i&nbsp;udowodnić, że szereg <math>\sum_{k = 2}^{\infty} \frac{1}{k (\log k)^2}</math> jest zbieżny.
 
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Rozwiązanie|Hide=Ukryj rozwiązanie}}
+
Ponieważ
Indukcja matematyczna. Łatwo sprawdzamy, że oszacowanie jest prawdziwe dla <math>n = 2</math>
 
  
::<math>\sum_{k = 2}^{2} \frac{1}{k (\log k)^2} \approx 1.040684 < 2.5 - \frac{1}{\log 2} \approx 1.05730</math>
+
:* <math>(D \mid p) = 1</math>, to <math>p \nmid D</math>, zatem <math>p \nmid R</math>
 +
:* z&nbsp;założenia <math>p \nmid Q</math>, to <math>P^2 - R^2 \equiv P^2 - D \equiv 4 Q \not\equiv 0 \pmod{p}</math>
  
Zakładając, że oszacowanie jest prawdziwe dla <math>n</math>, otrzymujemy dla <math>n + 1</math>
 
  
::<math>\sum_{k = m}^{n + 1} \frac{1}{k (\log k)^2} = \sum_{k = m}^{n} \frac{1}{k (\log k)^2} + \frac{1}{(n + 1) \cdot (\log (n + 1))^2} <</math>
+
Czyli
  
::::::<math>\;\: < 2.5 - \frac{1}{\log n} + \frac{1}{(n + 1) \cdot (\log (n + 1))^2} =</math>
+
::<math>2^{p - 2} U_{p - 1} \equiv - P (P^{p - 3} + P^{p - 5} R^2 + P^{p - 7} R^4 + \ldots + R^{p - 3}) \pmod{p}</math>
  
::::::<math>\;\: = 2.5 - \frac{1}{\log (n + 1)} + \left( \frac{1}{\log (n + 1)} - \frac{1}{\log n} + \frac{1}{(n + 1) \cdot (\log (n + 1))^2} \right) =</math>
 
  
::::::<math>\;\: = 2.5 - \frac{1}{\log (n + 1)} + \frac{1}{\log (n + 1)} \left( 1 - \frac{\log (n + 1)}{\log n} + \frac{1}{(n + 1) \cdot \log (n + 1)} \right) =</math>
+
Uwzględniając, że <math>P^2 - R^2 \not\equiv 0 \pmod{p}</math>, możemy napisać
  
::::::<math>\;\: = 2.5 - \frac{1}{\log (n + 1)} + \frac{1}{\log (n + 1)} \left( 1 - \frac{\log \left( n \left( 1 + \frac{1}{n} \right) \right)}{\log n} + \frac{1}{(n + 1) \cdot \log (n + 1)} \right) =</math>
+
::<math>2^{p - 2} (P^2 - R^2) U_{p - 1} \equiv - P (P^2 - R^2) (P^{p - 3} + P^{p - 5} R^2 + P^{p - 7} R^4 + \ldots + R^{p - 3}) \pmod{p}</math>
  
::::::<math>\;\: = 2.5 - \frac{1}{\log (n + 1)} + \frac{1}{\log (n + 1)} \left( 1 - 1 - \frac{\log \left( 1 + \frac{1}{n} \right)}{\log n} + \frac{1}{(n + 1) \cdot \log (n + 1)} \right) <</math>
+
::::::::<math>\equiv - P (P^{p - 1} - R^{p - 1}) \pmod{p}</math>
  
::::::<math>\;\: < 2.5 - \frac{1}{\log (n + 1)} + \frac{1}{\log (n + 1)} \left( - \frac{1}{(n + 1) \log n} + \frac{1}{(n + 1) \cdot \log (n + 1)} \right) <</math>
+
::::::::<math>\equiv 0 \pmod{p}</math>
  
::::::<math>\;\: < 2.5 - \frac{1}{\log (n + 1)}</math>
+
Zauważmy, że wynik nie zależy od tego, czy <math>p \mid P</math>, czy <math>p \nmid P</math>. Skąd wynika
  
Co kończy dowód indukcyjny. Zatem dla <math>n \geqslant 2</math> mamy
+
::<math>U_{p - 1} \equiv 0 \pmod{p}</math>
  
::<math>S(n) = \sum_{k = 2}^{n} \frac{1}{k (\log k)^2} < 2.5 - \frac{1}{\log n} < 2.5</math>
+
Co należało pokazać.<br/>
 
 
Czyli ciąg sum częściowych <math>S(n)</math> szeregu <math>\sum_{k = 2}^{\infty} \frac{1}{k (\log k)^2}</math> jest rosnący i&nbsp;ograniczony od góry, a&nbsp;zatem zbieżny. Co oznacza, że szereg jest zbieżny.<br/>
 
 
&#9633;
 
&#9633;
 
{{\Spoiler}}
 
{{\Spoiler}}
  
 +
 +
 +
Aby zapisać punkty 2. i 3. twierdzenia N19 (i tylko te punkty) w&nbsp;zwartej formie, musimy założyć, że <math>\gcd (p, D) = 1</math>. Otrzymujemy<br/>
 +
<span style="font-size: 110%; font-weight: bold;">Twierdzenie N20</span><br/>
 +
Jeżeli <math>p</math> jest liczbą pierwszą nieparzystą i <math>\gcd (p, Q D) = 1</math>, to
 +
 +
::<math>U_{p - (D \mid p)} \equiv 0 \pmod{p}</math>
  
  
  
  
== Szeregi nieskończone i&nbsp;liczby pierwsze ==
 
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie D27</span><br/>
+
== Liczby pseudopierwsze Lucasa ==
Następujące szeregi są zbieżne
 
  
::{| class="wikitable plainlinks"  style="font-size: 100%; text-align: left; margin-right: auto;"
+
<span style="font-size: 110%; font-weight: bold;">Uwaga N21</span><br/>
|-
+
Z twierdzenia N20 wiemy, że liczby pierwsze nieparzyste <math>p</math> takie, że <math>p \nmid Q D</math> są dzielnikami wyrazów ciągu Lucasa <math>U_{p - (D \mid p)}</math>, gdzie <math>(D \mid p)</math> oznacza symbol Legendre'a. Jeśli zastąpimy symbol Legendre'a symbolem Jacobiego, to będziemy mogli badać prawdziwość tego twierdzenia dla liczb złożonych i&nbsp;łatwo przekonamy się, że dla pewnych liczb złożonych <math>m</math> kongruencja
| 1. <math>\quad \sum_{k = 1}^{\infty} \frac{(- 1)^{k + 1}}{p_k} = 0.269605966 \ldots</math>
+
 
|
+
::<math>U_{m - (D \mid m)} \equiv 0 \pmod{m}</math>
|-
+
 
| 2. <math>\quad \sum_{p \geqslant 2} \frac{1}{p^2} = 0.452247420041 \ldots</math>
+
również jest prawdziwa. Prowadzi to definicji liczb pseudopierwszych Lucasa.
| [https://oeis.org/A085548 A085548]
+
 
|-
+
 
| 3. <math>\quad \sum_{p \geqslant 2} \frac{1}{(p - 1)^2} = 1.375064994748 \ldots</math>
+
 
| [https://oeis.org/A086242 A086242]
+
<span style="font-size: 110%; font-weight: bold;">Definicja N22</span><br/>
|-
+
Powiemy, że liczba złożona nieparzysta <math>m</math> jest liczbą pseudopierwszą Lucasa dla parametrów <math>P</math> i <math>Q</math> (symbolicznie: LPSP( <math>P, Q</math> )), jeżeli <math>\gcd (m, Q D) = 1</math> i
| 4. <math>\quad \sum_{p \geqslant 2} \frac{1}{p (p - 1)} = 0.773156669049 \ldots</math>
+
 
| [https://oeis.org/A136141 A136141]
+
::<math>U_{m - (D \mid m)} \equiv 0 \pmod{m}</math>
|}
+
 
 +
gdzie <math>(D \mid m)</math> oznacza symbol Jacobiego.
 +
 
 +
 
 +
 
 +
<span style="font-size: 110%; font-weight: bold;">Twierdzenie N23</span><br/>
 +
Jeżeli liczba złożona nieparzysta <math>m</math> jest liczbą pseudopierwszą Lucasa dla parametrów <math>P = a + 1</math> i <math>Q = a</math>, gdzie <math>a \geqslant 2</math>, to jest liczbą pseudopierwszą Fermata przy podstawie <math>a</math>.
  
 
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
'''Punkt 1.'''<br/>
+
Połóżmy we wzorze definiującym ciąg Lucasa
Szereg jest szeregiem naprzemiennym i&nbsp;jego zbieżność wynika z&nbsp;twierdzenia D5.
+
 
 +
::<math>U_m = {\small\frac{\alpha^m - \beta^m}{\alpha - \beta}}</math>
 +
 
 +
<math>\alpha = a</math> i <math>\beta = 1</math>. Odpowiada to parametrom <math>P = \alpha + \beta = a + 1</math>, <math>Q = \alpha \beta = a</math>, <math>D = (\alpha - \beta)^2 = (a - 1)^2</math>.
 +
 
 +
Ponieważ musi być <math>\gcd (m, Q D) = 1</math>, to mamy <math>\gcd (m, (a - 1) a) = 1</math> i&nbsp;wynika stąd, że <math>(D \mid m) = 1</math>. Z&nbsp;założenia <math>m</math> jest liczbą pseudopierwszą Lucasa dla parametrów <math>P = a + 1</math> i <math>Q = a</math>, zatem
  
'''Punkt 2.'''<br/>
+
::<math>U_{m - 1} (a + 1, a) \equiv 0 \pmod{m}</math>
Szereg jest zbieżny, bo sumy częściowe tego szeregu tworzą ciąg rosnący i&nbsp;ograniczony
 
  
::<math>\sum_{p \leqslant n} \frac{1}{p^2} < \sum_{k = 2}^{\infty} \frac{1}{k^2} < \frac{\pi^2}{6}</math>
+
Czyli
  
'''Punkt 3.'''<br/>
+
::<math>{\small\frac{a^{m - 1} - 1}{a - 1}} \equiv 0 \pmod{m}</math>
Szereg jest zbieżny, bo sumy częściowe tego szeregu tworzą ciąg rosnący i&nbsp;ograniczony
 
  
::<math>\sum_{p \leqslant n} \frac{1}{(p - 1)^2} < \sum_{j = 2}^{\infty} \frac{1}{(j - 1)^2} = \sum_{k = 1}^{\infty} \frac{1}{k^2} = \frac{\pi^2}{6}</math>
+
Jeżeli <math>m \biggr\rvert {\small\frac{a^{m - 1} - 1}{a - 1}}</math>, to tym bardziej <math>m \big\rvert (a^{m - 1} - 1)</math> i&nbsp;możemy napisać
  
'''Punkt 4.'''<br/>
+
::<math>a^{m - 1} - 1 \equiv 0 \pmod{m}</math>
Zbieżność wzoru wynika z&nbsp;kryterium porównawczego, bo dla każdego <math>p \geqslant 2</math> jest
 
  
::<math>0 < \frac{1}{p (p - 1)} < \frac{1}{(p - 1)^2}</math><br/>
+
Zatem <math>m</math> jest liczbą pseudopierwszą Fermata przy podstawie <math>a</math>. Co należało pokazać.<br/>
 
&#9633;
 
&#9633;
 
{{\Spoiler}}
 
{{\Spoiler}}
Linia 896: Linia 962:
  
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie D28</span><br/>
+
<span style="font-size: 110%; font-weight: bold;">Uwaga N24</span><br/>
Następujące szeregi są zbieżne
+
Wykorzystując funkcje <code>jacobi(a, n)</code> i <code>modLucas(n, P, Q, m)</code> (zobacz J47, N15) możemy napisać prosty program, który sprawdza, czy dla liczby nieparzystej <math>m</math> prawdziwe jest twierdzenie N20.
 +
 
 +
<span style="font-size: 90%; color:black;">isPrimeOr<span style="background-color: #fee481;">LPSP</span>(m, P, Q) =
 +
{
 +
'''local'''(D, js);
 +
D = P^2 - 4*Q;
 +
'''if'''( gcd(m, 2*Q*D) > 1, '''return'''(0) );
 +
js = jacobi(D, m);
 +
'''if'''( modLucas(m - js, P, Q, m)[1] == 0, '''return'''(1), '''return'''(0) );
 +
}
 +
 
 +
 
  
::{| class="wikitable plainlinks"  style="font-size: 100%; text-align: left; margin-right: auto;"
+
<span style="font-size: 110%; font-weight: bold;">Przykład N25</span><br/>
 +
Poniższa tabela zawiera najmniejsze liczby pseudopierwsze Lucasa dla różnych parametrów <math>P</math> i <math>Q</math>
 +
 
 +
::{| class="wikitable plainlinks"  style="font-size: 90%; text-align: right; margin-right: auto;"
 +
! &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<math>\boldsymbol{P}</math><br/><math>\boldsymbol{Q}</math>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 +
! <math>\boldsymbol{1}</math> !! <math>\boldsymbol{2}</math> !! <math>\boldsymbol{3}</math> !! <math>\boldsymbol{4}</math> !! <math>\boldsymbol{5}</math> !! <math>\boldsymbol{6}</math> !! <math>\boldsymbol{7}</math> !! <math>\boldsymbol{8}</math> !! <math>\boldsymbol{9}</math> !! <math>\boldsymbol{10}</math>
 +
|-
 +
! <math>\boldsymbol{- 5}</math>
 +
| <math>253</math> || <math>121</math> || <math>57</math> || <math>217</math> || style="background-color: yellow" | <math>323</math> || <math>69</math> || <math>121</math> || <math>253</math> || <math>9</math> || style="background-color: yellow" | <math>143</math>
 +
|-
 +
! <math>\boldsymbol{- 4}</math>
 +
| <math>9</math> || style="background-color: yellow" | <math>323</math> || <math>91</math> || style="background-color: yellow" | <math>35</math> || style="background-color: yellow" | <math>15</math> || style="background-color: yellow" | <math>119</math> || <math>57</math> || <math>9</math> || <math>9</math> || <math>9</math>
 +
|-
 +
! <math>\boldsymbol{- 3}</math>
 +
| <math>217</math> || <math>91</math> || style="background-color: yellow" | <math>527</math> || <math>25</math> || style="background-color: yellow" | <math>35</math> || style="background-color: yellow" | <math>65</math> || style="background-color: yellow" | <math>35</math> || style="background-color: yellow" | <math>35</math> || style="background-color: yellow" | <math>35</math> || style="background-color: yellow" | <math>323</math>
 +
|-
 +
! <math>\boldsymbol{- 2}</math>
 +
| <math>341</math> || style="background-color: yellow" | <math>209</math> || style="background-color: yellow" | <math>39</math> || <math>49</math> || <math>49</math> || style="background-color: yellow" | <math>15</math> || style="background-color: yellow" | <math>35</math> || style="background-color: yellow" | <math>35</math> || <math>9</math> || <math>85</math>
 +
|-
 +
! <math>\boldsymbol{- 1}</math>
 +
| style="background-color: yellow" | <math>323</math> || style="background-color: yellow" | <math>35</math> || style="background-color: yellow" | <math>119</math> || <math>9</math> || <math>9</math> || style="background-color: yellow" | <math>143</math> || <math>25</math> || <math>33</math> || <math>9</math> || style="background-color: yellow" | <math>15</math>
 +
|-
 +
! <math>\boldsymbol{1}</math>
 +
| <math>25</math> || style="background-color: red" | <math></math> || <math>21</math> || style="background-color: yellow" | <math>65</math> || style="background-color: yellow" | <math>115</math> || style="background-color: yellow" | <math>35</math> || style="background-color: yellow" | <math>323</math> || style="background-color: yellow" | <math>209</math> || <math>9</math> || style="background-color: yellow" | <math>35</math>
 
|-
 
|-
| 1. <math>\quad \sum_{p \geqslant 2} \frac{1}{p \log p} = 1.636616323351 \ldots</math>
+
! <math>\boldsymbol{2}</math>
| [https://oeis.org/A137245 A137245]
+
| <math>1541</math> || <math>9</math> || <math>341</math> || style="background-color: yellow" | <math>35</math> || <math>21</math> || <math>85</math> || <math>9</math> || style="background-color: yellow" | <math>15</math> || <math>9</math> || style="background-color: yellow" | <math>35</math>
 
|-
 
|-
| 2. <math>\quad \sum_{p \geqslant 2} \frac{1}{p^2 \log p} = 0.507782187859 \ldots</math>
+
! <math>\boldsymbol{3}</math>
| [https://oeis.org/A221711 A221711]
+
| style="background-color: yellow" | <math>629</math> || style="background-color: yellow" | <math>559</math> || <math>25</math> || <math>91</math> || <math>49</math> || <math>49</math> || style="background-color: yellow" | <math>35</math> || <math>55</math> || <math>25</math> || style="background-color: yellow" | <math>35</math>
 
|-
 
|-
| 3. <math>\quad \sum_{p \geqslant 2} \frac{\log p}{p (p - 1)} = 0.755366610831 \ldots</math>
+
! <math>\boldsymbol{4}</math>
| [https://oeis.org/A138312 A138312]
+
| style="background-color: yellow" | <math>119</math> || <math>25</math> || style="background-color: yellow" | <math>209</math> || style="background-color: red" | <math></math> || <math>85</math> || <math>21</math> || style="background-color: yellow" | <math>119</math> || style="background-color: yellow" | <math>65</math> || <math>9</math> || style="background-color: yellow" | <math>115</math>
 
|-
 
|-
| 4. <math>\quad \sum_{p \geqslant 2} \frac{\log p}{p^2} = 0.493091109368 \ldots</math>
+
! <math>\boldsymbol{5}</math>
| [https://oeis.org/A136271 A136271]
+
| <math>9</math> || style="background-color: yellow" | <math>143</math> || <math>49</math> || style="background-color: yellow" | <math>143</math> || style="background-color: yellow" | <math>323</math> || <math>217</math> || style="background-color: yellow" | <math>39</math> || <math>9</math> || <math>9</math> || <math>9</math>
 
|}
 
|}
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Pokaż kod|Hide=Ukryj kod}}
'''Punkt 1.'''<br/>
+
<span style="font-size: 90%; color:black;">FirstLPSP(Stop) =
Zbieżność tego szeregu udowodniliśmy w&nbsp;twierdzeniu B39, ale obecnie potrafimy uzyskać rezultat znacznie łatwiej. Zauważmy, że rozpatrywaną sumę możemy zapisać w&nbsp;postaci
+
\\ najmniejsze LPSP(P,Q) < Stop;  dla 1<=P<=10 i -5<=Q<=5
 +
{
 +
'''local'''(D, m, P, Q);
 +
Q = -6;
 +
'''while'''( Q++ <= 5,
 +
        '''if'''( Q == 0, '''next'''() );
 +
        P = 0;
 +
        '''while'''( P++ <= 10,
 +
              D = P^2 - 4*Q;
 +
              '''if'''( D == 0,
 +
                  '''print'''("Q= ", Q, "  P= ", P, "  ------------------");
 +
                  '''next'''();
 +
                );
 +
              m = 3;
 +
              '''while'''( m < Stop,
 +
                      '''if'''( isPrimeOr<span style="background-color: #fee481;">LPSP</span>(m, P, Q)  &&  !'''isprime'''(m),
 +
                          '''print'''("Q= ", Q, "  P= ", P, "  m= ", m, "  (D|m)= ", jacobi(D, m));
 +
                          '''break'''();
 +
                        );
 +
                      m = m + 2;
 +
                    );
 +
            );
 +
      );
 +
}</span>
 +
<br/>
 +
{{\Spoiler}}
 +
 
 +
Żółtym tłem oznaczyliśmy te najmniejsze liczby pseudopierwsze Lucasa, dla których <math>(D \mid m) = - 1</math>.
 +
 
 +
 
 +
 
 +
<span style="font-size: 110%; font-weight: bold;">Przykład N26</span><br/>
 +
Ilość liczb LPSP(<math>P, Q</math>) mniejszych od <math>10^9</math>
 +
 
 +
::{| class="wikitable plainlinks"  style="font-size: 90%; text-align: right; margin-right: auto;"
 +
! &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<math>\boldsymbol{P}</math><br/><math>\boldsymbol{Q}</math>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 +
! <math>\boldsymbol{1}</math> !! <math>\boldsymbol{2}</math> !! <math>\boldsymbol{3}</math> !! <math>\boldsymbol{4}</math> !! <math>\boldsymbol{5}</math> !! <math>\boldsymbol{6}</math> !! <math>\boldsymbol{7}</math> !! <math>\boldsymbol{8}</math> !! <math>\boldsymbol{9}</math> !! <math>\boldsymbol{10}</math>
 +
|-
 +
! <math>\boldsymbol{- 5}</math>
 +
| <math>4266</math> || <math>4935</math> || <math>4278</math> || <math>4981</math> || <math>6363</math> || <math>6028</math> || <math>5202</math> || <math>4426</math> || <math>5832</math> || <math>6027</math>
 +
|-
 +
! <math>\boldsymbol{- 4}</math>
 +
| <math>4599</math> || <math>4152</math> || <math>9272</math> || <math>5886</math> || <math>6958</math> || <math>4563</math> || <math>5600</math> || <math>9509</math> || <math>7007</math> || <math>4142</math>
 +
|-
 +
! <math>\boldsymbol{- 3}</math>
 +
| <math>4265</math> || <math>5767</math> || <math>4241</math> || <math>5114</math> || <math>5859</math> || <math>7669</math> || <math>6083</math> || <math>6120</math> || <math>4420</math> || <math>5096</math>
 +
|-
 +
! <math>\boldsymbol{- 2}</math>
 +
| <math>5361</math> || <math>4389</math> || <math>5063</math> || <math>5632</math> || <math>5364</math> || <math>5228</math> || <math>5859</math> || <math>10487</math> || <math>5370</math> || <math>9798</math>
 +
|-
 +
! <math>\boldsymbol{- 1}</math>
 +
| <math>4152</math> || <math>5886</math> || <math>4563</math> || <math>9509</math> || <math>4142</math> || <math>6273</math> || <math>5773</math> || <math>4497</math> || <math>5166</math> || <math>5305</math>
 +
|-
 +
! <math>\boldsymbol{1}</math>
 +
| <math>282485800</math> || style="background-color: red" | <math></math> || <math>6567</math> || <math>7669</math> || <math>7131</math> || <math>10882</math> || <math>8626</math> || <math>8974</math> || <math>8509</math> || <math>8752</math>
 +
|-
 +
! <math>\boldsymbol{2}</math>
 +
| <math>7803</math> || <math>449152466</math> || <math>5597</math> || <math>5886</math> || <math>6509</math> || <math>5761</math> || <math>8115</math> || <math>6945</math> || <math>8380</math> || <math>7095</math>
 +
|-
 +
! <math>\boldsymbol{3}</math>
 +
| <math>5974</math> || <math>8768</math> || <math>282485800</math> || <math>5767</math> || <math>5651</math> || <math>5632</math> || <math>6640</math> || <math>5725</math> || <math>6058</math> || <math>7050</math>
 +
|-
 +
! <math>\boldsymbol{4}</math>
 +
| <math>10749</math> || <math>282485800</math> || <math>14425</math> || style="background-color: red" | <math></math> || <math>9735</math> || <math>6567</math> || <math>8164</math> || <math>7669</math> || <math>7608</math> || <math>7131</math>
 +
|-
 +
! <math>\boldsymbol{5}</math>
 +
| <math>5047</math> || <math>15127</math> || <math>6155</math> || <math>15127</math> || <math>4152</math> || <math>5146</math> || <math>4423</math> || <math>5526</math> || <math>6289</math> || <math>9509</math>
 +
|}
  
::<math>\sum_{p \geqslant 2} \frac{1}{p \log p} = \sum_{k = 1}^{\infty} \frac{1}{p_k \log p_k} = \frac{1}{2 \log 2} + \sum_{k = 2}^{\infty} \frac{1}{p_k \log p_k}</math>
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Pokaż kod|Hide=Ukryj kod}}
 +
<span style="font-size: 90%; color:black;">NumOfLPSP(Stop) =
 +
\\ ilość liczb pseudopierwszych Lucasa LPSP(P,Q) < Stop;  dla 1<=P<=10 i -5<=Q<=5
 +
{
 +
'''local'''(D, m, P, Q);
 +
Q = -6;
 +
'''while'''( Q++ <= 5,
 +
        '''if'''( Q == 0, '''next'''() );
 +
        P = 0;
 +
        '''while'''( P++ <= 10,
 +
              D = P^2 - 4*Q;
 +
              '''if'''( D == 0, '''print'''("Q= ", Q, "  P= ", P, "  ------------------"); '''next'''() );
 +
              s = 0;
 +
              m = 3;
 +
              '''while'''( m < Stop,
 +
                      '''if'''( isPrimeOr<span style="background-color: #fee481;">LPSP</span>(m, P, Q)  &&  !'''isprime'''(m), s++ );
 +
                      m = m + 2;
 +
                    );
 +
              '''print'''("Q= ", Q, "  P= ", P, "  s= ", s);
 +
            );
 +
      );
 +
}</span>
 +
<br/>
 +
{{\Spoiler}}
  
Wyrażenie w&nbsp;mianowniku ułamka możemy łatwo oszacować. Z&nbsp;twierdzenia A1 mamy (<math>a = 0.72</math>)
 
  
::<math>p_k \log p_k > a \cdot k \log k \cdot \log (a \cdot k \log k) =</math>
 
  
::::<math>\;\;\:\, = a \cdot k \log k \cdot (\log a + \log k + \log \log k) =</math>
+
<span style="font-size: 110%; font-weight: bold;">Uwaga N27</span><br/>
 +
Dla <math>(P, Q) = (1, 1)</math> ciąg Lucasa <math>(U_n)</math> ma postać
  
::::<math>\;\;\:\, = a \cdot k \cdot (\log k)^2 \cdot \left( 1 + \frac{\log a + \log \log k}{\log k} \right)</math>
+
::<math>(U_n) = (0, 1, 1, 0, - 1, - 1, 0, 1, 1, 0, - 1, - 1, 0, 1, 1, 0, - 1, - 1, 0, 1, 1, \ldots)</math>
  
Ponieważ dla <math>k > \exp \left( \tfrac{1}{a} \right) = 4.01039 \ldots</math> jest
+
Stosując indukcję matematyczną, udowodnimy, że <math>U_{3 k} = 0</math>. Łatwo sprawdzamy, że dla <math>k = 0</math> i <math>k = 1</math> wzór jest prawdziwy. Zakładając prawdziwość wzoru dla wszystkich liczb naturalnych nie większych od <math>k</math>, otrzymujemy dla <math>k + 1</math> (zobacz N13 p.3)
  
::<math>\log a + \log \log k > 0</math>
+
::<math>U_{3 (k + 1)} = U_{3 k + 3} = U_{3 k} V_3 - U_{3 (k - 1)} = 0</math>
  
to dla <math>k \geqslant 5</math> prawdziwe jest oszacowanie
+
Co kończy dowód. Zbadajmy liczby pseudopierwsze Lucasa dla <math>(P, Q) = (1, 1)</math>.
  
::<math>p_k \log p_k > a \cdot k \cdot (\log k)^2</math>
+
Mamy <math>D = P^2 - 4 Q = - 3</math>. Wynika stąd, że nie może być <math>3 \mid m</math>, bo mielibyśmy <math>\gcd (m, Q D) = 3 > 1</math>.
  
Wynika stąd, że dla <math>k \geqslant 5</math> prawdziwy jest ciąg nierówności
+
Z zadania J45 wiemy, że
  
::<math>0 < \frac{1}{p_k \log p_k} < \frac{1}{a \cdot k \cdot (\log k)^2}</math>
+
::<math>(- 3 \mid m) =
 +
\begin{cases}
 +
\;\;\: 1 & \text{gdy } m = 6 k + 1 \\
 +
\;\;\: 0 & \text{gdy } m = 6 k + 3 \\
 +
      - 1 & \text{gdy } m = 6 k + 5 \\
 +
\end{cases}</math>
  
Zatem na mocy kryterium porównawczego ze zbieżności szeregu <math>\sum_{k = 2}^{\infty} \frac{1}{k \cdot (\log k)^2}</math> (zobacz twierdzenie D13 p. 4 lub przykład D18 p. 5) wynika zbieżność szeregu <math>\sum_{k = 2}^{\infty} \frac{1}{p_k \log p_k}</math>
+
Ponieważ <math>3 \nmid m</math>, to wystarczy zbadać przypadki <math>m = 6 k + 1</math> i <math>m = 6 k + 5</math>. W&nbsp;pierwszym przypadku jest
  
'''Punkt 2.'''<br/>
+
::<math>U_{m - (- 3 \mid m)} = U_{6 k + 1 - 1} = U_{6 k} = 0</math>
Zbieżność szeregu wynika z&nbsp;kryterium porównawczego (twierdzenie D9), bo
 
  
::<math>0 < \frac{1}{p^2 \log p} < \frac{1}{p \log p}</math>
+
W drugim przypadku, gdy <math>m = 6 k + 5</math>, dostajemy
  
'''Punkt 3.'''<br/>
+
::<math>U_{m - (- 3 \mid m)} = U_{6 k + 5 + 1} = U_{6 (k + 1)} = 0</math>
Szereg jest zbieżny, bo sumy częściowe tego szeregu tworzą ciąg rosnący i&nbsp;ograniczony
 
  
::<math>\sum_{p \leqslant n} \frac{\log p}{p (p - 1)} < \sum_{k = 2}^{\infty} \frac{\log k}{k (k - 1)} = 1.2577 \ldots</math>
+
Zatem dla dowolnej liczby nieparzystej <math>m</math> niepodzielnej przez <math>3</math> jest
  
'''Punkt 4.'''<br/>
+
::<math>U_{m - (- 3 \mid m)} \equiv 0 \pmod{m}</math>
Zbieżność szeregu wynika z&nbsp;kryterium porównawczego, bo dla każdego <math>p \geqslant 2</math> jest
 
  
::<math>0 < \frac{\log p}{p^2} < \frac{\log p}{p (p - 1)}</math><br/>
+
Czyli liczbami pseudopierwszymi Lucasa dla parametrów <math>(P, Q) = (1, 1)</math> będą liczby nieparzyste <math>m</math>, które nie są podzielne przez <math>3</math> i&nbsp;nie są liczbami pierwszymi. Ilość takich liczb nie większych od <math>10^k</math> możemy łatwo znaleźć poleceniem
&#9633;
 
{{\Spoiler}}
 
  
 +
<span style="font-size: 90%; color:black;">'''for'''(k = 1, 9, s = 0; '''forstep'''(m = 3, 10^k, 2, '''if'''( m%6 <> 3, s = s + !'''isprime'''(m) )); '''print'''(s))</span>
  
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie D29</span><br/>
 
Szereg <math>\sum_{p \geqslant 2} \frac{\log p}{p}</math> jest rozbieżny.
 
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
+
<span style="font-size: 110%; font-weight: bold;">Zadanie N28</span><br/>
Dla potrzeb dowodu zapiszmy szereg w&nbsp;innej postaci
+
Pokazać, że ilość liczb pseudopierwszych Lucasa dla parametrów <math>(P, Q) = (2, 2)</math> nie większych od <math>10^k</math> możemy znaleźć poleceniem
  
::<math>\sum_{p \geqslant 2} \frac{\log p}{p} = \sum_{k = 1}^{\infty} \frac{\log p_k}{p_k}</math>
+
<span style="font-size: 90%; color:black;">'''for'''(k = 1, 9, s = 0; '''forstep'''(m = 3, 10^k, 2, s = s + !'''isprime'''(m)); '''print'''(s))</span>
  
Zauważmy, że dla <math>k \geqslant 3</math> wyrazy szeregów <math>\sum_{k = 1}^{\infty} \frac{1}{p_k}</math> oraz <math>\sum_{k = 1}^{\infty} \frac{\log p_k}{p_k}</math> spełniają nierówności
 
  
::<math>0 \leqslant \frac{1}{p_k} \leqslant \frac{\log p_k}{p_k}</math>
 
  
Ponieważ szereg <math>\sum_{k = 1}^{\infty} \frac{1}{p_k}</math> jest rozbieżny, to na mocy kryterium porównawczego (twierdzenie D9) rozbieżny jest również szereg <math>\sum_{k = 1}^{\infty} \frac{\log p_k}{p_k}</math><br/>
 
&#9633;
 
{{\Spoiler}}
 
  
  
 +
== Metoda Selfridge'a wyboru parametrów <math>P</math> i <math>Q</math> ==
  
<span style="font-size: 110%; font-weight: bold;">Uwaga D30</span><br/>
+
<span style="font-size: 110%; font-weight: bold;">Uwaga N29</span><br/>
Moglibyśmy oszacować rozbieżność szeregu <math>\sum_{p \geqslant 2} \frac{\log p}{p}</math> podobnie, jak to uczyniliśmy w&nbsp;przypadku twierdzenia B37, ale tym razem zastosujemy inną metodę, która pozwoli nam uzyskać bardziej precyzyjny rezultat.
+
Twierdzenie N20 możemy wykorzystać do testowania pierwszości liczb. Ponieważ musi być spełniony warunek <math>\gcd (m, Q D) = 1</math>, to nie każda para liczb <math>P, Q</math> (np. wybrana losowo) nadaje się do przeprowadzenia testu. Zawsze będziemy zmuszeni określić zasadę postępowania, która doprowadzi do wyboru właściwej pary <math>P, Q</math>.
  
 +
Robert Baillie i&nbsp;Samuel Wagstaff przedstawili<ref name="BaillieWagstaff1"/> dwie metody wyboru parametrów dla testu Lucasa. Ograniczymy się do omówienia tylko pierwszej z&nbsp;nich (metodę zaproponował John Selfridge).
  
 +
Rozważmy ciąg <math>a_k = (- 1)^k (2 k + 1)</math>, gdzie <math>k \geqslant 2</math>, czyli <math>a_k = (5, - 7, 9, - 11, 13, - 15, \ldots)</math>. Niech <math>D</math> będzie pierwszym wyrazem ciągu <math>(a_k)</math>, dla którego jest <math>(a_k \mid m) = - 1</math>. Dla tak ustalonego <math>D</math> przyjmujemy <math>P = 1</math> i <math>Q = (1 - D) / 4</math>.
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie D31</span><br/>
+
Tabela przedstawia początkowe wartości <math>Q</math>, jakie otrzymamy, stosując tę metodę.
Niech <math>n \in \mathbb{Z}_+</math>. Prawdziwe są następujące nierówności
 
  
::{| class="wikitable plainlinks"  style="font-size: 100%; text-align: center; margin-right: auto;"
+
::{| class="wikitable plainlinks"  style="font-size: 90%; text-align: right; margin-right: auto;"
|- style=height:3em
+
! <math>\boldsymbol{k}</math>
| <math>\quad 1. \quad</math> || <math>n! > n^n e^{- n}</math> || <math>\text{dla} \;\; n \geqslant 1</math>
+
| <math>2</math> || <math>3</math> || <math>4</math> || <math>5</math> || <math>6</math> || <math>7</math> || <math>8</math> || <math>9</math> || <math>10</math> || <math>11</math> || <math>12</math> || <math>13</math> || <math>14</math> || <math>15</math> || <math>16</math> || <math>17</math> || <math>18</math> || <math>19</math> || <math>20</math>
|- style=height:3em
+
|-
| <math>\quad 2. \quad</math> || <math>n! < n^{n + 1} e^{- n}</math> || <math>\text{dla} \;\; n \geqslant 7</math>
+
!  <math>\boldsymbol{a_k}</math>
 +
| <math>5</math> || <math>-7</math> || <math>9</math> || <math>-11</math> || <math>13</math> || <math>-15</math> || <math>17</math> || <math>-19</math> || <math>21</math> || <math>-23</math> || <math>25</math> || <math>-27</math> || <math>29</math> || <math>-31</math> || <math>33</math> || <math>-35</math> || <math>37</math> || <math>-39</math> || <math>41</math>
 +
|-
 +
<math>\boldsymbol{Q}</math>  
 +
| <math>-1</math> || <math>2</math> || style="background-color: red" | <math>-2</math> || <math>3</math> || <math>-3</math> || <math>4</math> || <math>-4</math> || <math>5</math> || <math>-5</math> || <math>6</math> || style="background-color: red" | <math>-6</math> || <math>7</math> || <math>-7</math> || <math>8</math> || <math>-8</math> || <math>9</math> || <math>-9</math> || <math>10</math> || <math>-10</math>
 
|}
 
|}
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 
'''Punkt 1. (indukcja matematyczna)'''<br/>
 
Łatwo sprawdzić prawdziwość nierówności dla <math>n = 1</math>. Zakładając prawdziwość dla <math>n</math>, otrzymujemy dla <math>n + 1</math>
 
  
::<math>(n + 1) ! = n! \cdot (n + 1) ></math>
+
Zauważmy, że
 +
:* jeżeli liczba nieparzysta <math>m</math> jest liczbą kwadratową, to wybór <math>D</math> nie będzie możliwy
 +
:* w&nbsp;przypadku zastosowania tej metody znajdziemy tylko liczby pierwsze lub pseudopierwsze Lucasa, które spełniają kongruencję <math>U_{m + 1} \equiv 0 \pmod{m}</math>, czyli tylko część liczb pseudopierwszych Lucasa określonych w&nbsp;definicji N22
 +
 
 +
 
 +
Ponieważ Baillie i&nbsp;Wagstaff określili metodę zaproponowaną przez Selfridge'a jako metodę A, to pozostaniemy przy tej nazwie. Korzystając ze wzoru rekurencyjnego
  
::::<math>\;\;\; > n^n \cdot e^{- n} \cdot (n + 1) =</math>
+
::<math> a_{k+1} =
 +
  \begin{cases}
 +
  \qquad \qquad 5 & \text{gdy } k = 1 \\
 +
      - a_k - 2 * \mathop{\textnormal{sign}}( a_k ) & \text{gdy } k \geqslant 2 \\
 +
  \end{cases}</math>
  
::::<math>\;\;\; = (n + 1)^{n + 1} \cdot \frac{n^n}{(n + 1)^n} \cdot e^{- n} =</math>
+
możemy łatwo napisać odpowiednią funkcję znajdującą liczby <math>P, Q</math> według tej metody.
  
::::<math>\;\;\; = (n + 1)^{n + 1} \cdot \frac{1}{\left( 1 + \frac{1}{n} \right)^n} \cdot e^{- n} ></math>
+
<span style="font-size: 90%; color:black;">MethodA(m) =
 +
{
 +
'''local'''(a, js);
 +
a = 5;
 +
'''while'''( 1,
 +
        js = jacobi(a, m);
 +
        '''if'''( js == 0  &&  a % m <> 0, '''return'''([0, 0]) );
 +
        '''if'''( js == -1, '''return'''([1, (1 - a)/4]) );
 +
        a = -a - 2*'''sign'''(a);
 +
      );
 +
}</span>
  
::::<math>\;\;\; > (n + 1)^{n + 1} \cdot \frac{1}{e} \cdot e^{- n} =</math>
+
Wyjaśnienia wymaga druga linia kodu w&nbsp;pętli <code>while</code>. Wiemy, że (zobacz J41)
  
::::<math>\;\;\; = (n + 1)^{n + 1} e^{- (n + 1)}</math>
+
::<math>(a \mid m) = 0 \quad \qquad \Longleftrightarrow \quad \qquad \gcd (a, m) > 1</math>
  
Ponieważ <math>\left( 1 + \frac{1}{n} \right)^n < e</math>, zatem <math>\frac{1}{\left( 1 + \frac{1}{n} \right)^n} > \frac{1}{e}</math>. Co kończy dowód punktu 1.
+
Jednak z&nbsp;faktu, że <math>\gcd (a, m) > 1</math> nie wynika natychmiast, że liczba <math>m</math> jest liczbą złożoną. Rozważmy dwa przypadki: gdy <math>m \mid a</math> i <math>m \nmid a</math>.
  
 +
Gdy <math>\gcd (a, m) > 1</math> i <math>m \mid a</math>, to <math>\gcd (a, m) = \gcd (k \cdot m, m) = m > 1</math> i&nbsp;nie jesteśmy w&nbsp;stanie rozstrzygnąć, czy liczba <math>m</math> jest liczbą pierwszą, czy złożoną. Widać to dobrze na prostych przykładach
  
'''Punkt 2. (indukcja matematyczna)'''<br/>
+
::<math>\gcd (7, 7) = \gcd (14, 7) = 7 > 1</math>
Łatwo sprawdzić prawdziwość nierówności dla <math>n = 7</math>. Zakładając prawdziwość dla <math>n</math>, otrzymujemy dla <math>n + 1</math>
 
  
::<math>(n + 1) ! = n! \cdot (n + 1) <</math>
+
::<math>\gcd (15, 15) = \gcd (30, 15) = 15 > 1</math>
  
::::<math>\;\;\; < n^{n + 1} \cdot e^{- n} \cdot (n + 1) =</math>
+
Gdy <math>\gcd (a, m) > 1</math> i <math>m \nmid a</math>, to <math>m</math> jest liczbą złożoną. Ponieważ <math>m \nmid a</math>, to <math>a = k \cdot m + r</math>, gdzie <math>r \in [1, m - 1]</math>. Mamy
  
::::<math>\;\;\; = (n + 1)^{n + 2} \cdot \frac{n^{n + 1}}{(n + 1)^{n + 1}} \cdot e^{- n} =</math>
+
::<math>\gcd (a, m) = \gcd (k \cdot m + r, m) = \gcd (r, m) = d</math>
  
::::<math>\;\;\; = (n + 1)^{n + 2} \cdot \left( \frac{n}{n + 1} \right)^{n + 1} \cdot e^{- n} =</math>
+
Musi być <math>d > 1</math>, bo założyliśmy, że <math>\gcd (a, m) > 1</math> i&nbsp;musi być <math>d < m</math>, bo <math>d \leqslant r \leqslant m - 1</math>. Zatem <math>d</math> jest dzielnikiem nietrywialnym liczby <math>m</math> i <math>m</math> jest liczbą złożoną.
  
::::<math>\;\;\; = (n + 1)^{n + 2} \cdot \left( 1 - \frac{1}{n + 1} \right)^{n + 1} \cdot e^{- n} <</math>
+
Omawiana linia kodu zapewnia wysłanie informacji o&nbsp;tym, że liczba <math>m</math> jest liczbą złożoną (zwrot wektora [0, 0]). W&nbsp;przypadku, gdy nie mamy takiej pewności, kontynuujemy szukanie liczby <math>a</math>, takiej że <math>(a \mid m) = - 1</math>, pozostawiając zbadanie pierwszości liczby <math>m</math> na kolejnym etapie testowania.
  
::::<math>\;\;\; < (n + 1)^{n + 2} \cdot \frac{1}{e} \cdot e^{- n} =</math>
 
  
::::<math>\;\;\; = (n + 1)^{n + 2} \cdot e^{- (n + 1)}</math>
+
Uważny Czytelnik dostrzeże, że nie zbadaliśmy, czy spełniony jest warunek <math>\gcd (m, Q) = 1</math>. Nie musimy tego robić, bo zwracana przez funkcję <code>MethodA()</code> liczba <math>Q</math> jest względnie pierwsza z <math>m</math>. Omówimy ten problem dokładnie w&nbsp;zadaniu N30. Poniżej pokażemy, że nawet gdyby było <math>\gcd (m, Q) > 1</math>, to złożona liczba <math>m</math> nie zostanie uznana za liczbę pseudopierwszą Lucasa.
  
Ostatnia nierówność wynika z&nbsp;faktu, że <math>\left( 1 - \frac{1}{n + 1} \right)^{n + 1} < \frac{1}{e}</math>. Co kończy dowód punktu 2.<br/>
+
Zauważmy, że jeżeli <math>m</math> jest liczbą złożoną i&nbsp;ma dzielnik pierwszy <math>p < m</math>, który dzieli <math>Q</math>, to <math>p \mid Q</math> i <math>p \nmid P</math> (bo <math>P = 1</math>), zatem <math>p \nmid U_k</math> dla <math>k \geqslant 1</math> (zobacz N17), czyli nie może być
&#9633;
 
{{\Spoiler}}
 
  
 +
::<math>U_{m + 1} (1, Q) \equiv 0 \pmod{m}</math>
  
 +
bo mielibyśmy
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie D32</span><br/>
+
::<math>U_{m + 1} (1, Q) \equiv 0 \pmod{p}</math>
Niech <math>n \in \mathbb{Z}_+</math>. Dla wykładnika, z&nbsp;jakim liczba pierwsza <math>p</math> występuje w&nbsp;rozwinięciu liczby <math>n!</math> na czynniki pierwsze, prawdziwe są oszacowania
 
  
::{| class="wikitable plainlinks"  style="font-size: 100%; text-align: right; margin-right: auto;"
+
a to jest niemożliwe. Zatem program wykorzystujący twierdzenie N20 wykryje złożoność liczby <math>m</math>.
|- style=height:3em
 
| <math>\quad 1. \quad</math> || <math>\frac{n}{p} - 1 < W_p (n!) < \frac{n}{p - 1}</math>
 
|- style=height:3em
 
| <math>\quad 2. \quad</math> || <math>\frac{n + 1}{p} - 1 \leqslant W_p (n!) \leqslant \frac{n - 1}{p - 1}</math>
 
|}
 
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
+
Łatwo pokażemy, że nie jest możliwe, aby liczba <math>m</math> była liczbą pierwszą i&nbsp;była dzielnikiem <math>Q</math>. Jeżeli <math>m</math> jest liczbą pierwszą, to istnieje dokładnie <math>\tfrac{m - 1}{2}</math> liczb kwadratowych modulo <math>p</math> i <math>\tfrac{m - 1}{2}</math> liczb niekwadratowych modulo <math>p</math>, zatem rozpoczynając od wyrazu <math>a_2</math> możemy dojść co najwyżej do wyrazu o&nbsp;indeksie <math>k = \tfrac{m - 1}{2} + 2</math>, czyli
'''Punkt 1. (prawa nierówność)'''
 
  
Zauważmy, że
+
::<math>| a_k | \leqslant m + 4</math>
  
::<math>W_p (n!) = \left\lfloor \frac{n}{p} \right\rfloor + \left\lfloor \frac{n}{p^2} \right\rfloor + \left\lfloor \frac{n}{p^3} \right\rfloor + \ldots <</math>
+
Skąd wynika, że
  
::::<math>\;\, < \frac{n}{p} + \frac{n}{p^2} + \frac{n}{p^3} + \ldots + \frac{n}{p^k} + \ldots =</math>
+
::<math>| Q | = \left| {\small\frac{1 - a_k}{4}} \right| \leqslant {\small\frac{m + 5}{4}} < m</math>
  
::::<math>\;\, = \frac{n}{p} \cdot \frac{1}{1 - \frac{1}{p}} =</math>
+
Ostatnia nierówność jest prawdziwa dla <math>m > {\small\frac{5}{3}}</math>, czyli dla wszystkich liczb pierwszych. Ponieważ <math>| Q | < m</math>, w&nbsp;przypadku gdy <math>m</math> jest liczbą pierwszą, to <math>m</math> nie może być dzielnikiem liczby <math>Q</math>.
  
::::<math>\;\, = \frac{n}{p - 1}</math>
 
  
'''Punkt 1. (lewa nierówność)'''
 
  
Łatwo znajdujemy, że
+
<span style="font-size: 110%; font-weight: bold;">Zadanie N30</span><br/>
 +
Pokazać, że w&nbsp;przypadku, gdy dla kolejnych liczb <math>a_k = (- 1)^k (2 k + 1)</math> sprawdzamy, czy konsekwencją <math>(a_k \mid m) = 0</math> jest złożoność liczby <math>m</math>, to dla każdej liczby <math>Q</math> wyznaczonej metodą Selfridge'a jest <math>\gcd (Q, m) = 1</math>.
  
::<math>W_p (n!) = \sum_{k = 1}^{\infty} \left\lfloor \frac{n}{p^k} \right\rfloor \geqslant \left\lfloor \frac{n}{p} \right\rfloor > \frac{n}{p} - 1</math>
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Rozwiązanie|Hide=Ukryj rozwiązanie}}
 +
Niech <math>m = 21</math>. Rozpoczniemy od przykładu liczb <math>a_k = (- 1)^k (2 k + 1)</math> dla <math>k = 0, 1, \ldots, m - 1</math>.
  
'''Punkt 2. (prawa nierówność)'''
+
::{| class="wikitable plainlinks"  style="font-size: 90%; text-align: center; margin-right: auto;"
 +
! <math>\boldsymbol{k}</math> !! <math>\boldsymbol{0}</math> !!  !!  !!  !!  !!  !!  !!  !!  !!  !! <math>\boldsymbol{(m-1)/2}</math> !!  !!  !!  !!  !!  !!  !!  !!  !!  !! <math>\boldsymbol{m-1}</math>
 +
|-
 +
! <math>\boldsymbol{k}</math>
 +
| <math>0</math> || <math>1</math> || <math>2</math> || <math>3</math> || <math>4</math> || <math>5</math> || <math>6</math> || <math>7</math> || <math>8</math> || <math>9</math> || <math>10</math> || <math>11</math> || <math>12</math> || <math>13</math> || <math>14</math> || <math>15</math> || <math>16</math> || <math>17</math> || <math>18</math> || <math>19</math> || <math>20</math>
 +
|-
 +
! <math>\boldsymbol{a_k}</math>
 +
| <math>1</math> || <math>-3</math> || <math>5</math> || <math>-7</math> || <math>9</math> || <math>-11</math> || <math>13</math> || <math>-15</math> || <math>17</math> || <math>-19</math> || <math>21</math> || <math>-23</math> || <math>25</math> || <math>-27</math> || <math>29</math> || <math>-31</math> || <math>33</math> || <math>-35</math> || <math>37</math> || <math>-39</math> || <math>41</math>
 +
|-
 +
! <math>\boldsymbol{R_m(a_k)}</math>
 +
| <math>1</math> || <math>18</math> || <math>5</math> || <math>14</math> || <math>9</math> || <math>10</math> || <math>13</math> || <math>6</math> || <math>17</math> || <math>2</math> || <math>0</math> || <math>19</math> || <math>4</math> || <math>15</math> || <math>8</math> || <math>11</math> || <math>12</math> || <math>7</math> || <math>16</math> || <math>3</math> || <math>20</math>
 +
|}
  
Z uzyskanego w&nbsp;punkcie 1. oszacowania wynika, że <math>(p - 1) W_p (n!) < n</math>. Ponieważ nierówność ta dotyczy liczb całkowitych, to możemy napisać
+
Zauważmy, że modulo <math>21</math> ciąg <math>(a_k) = (1, - 3, 5, - 7, \ldots, 37, - 39, 41)</math> jest identyczny z&nbsp;ciągiem <math>(0, 1, 2, \ldots, 19, 20)</math>, a&nbsp;ciąg <math>(| a_k |)</math> to kolejne liczby nieparzyste od <math>1</math> do <math>2 m - 1</math>.
  
::<math>(p - 1) W_p (n!) \leqslant n - 1</math>
 
  
Skąd otrzymujemy natychmiast nierówność nieostrą <math>W_p (n!) \leqslant \frac{n - 1}{p - 1}</math>.
+
Poniżej pokażemy, dlaczego musi być <math>\gcd (Q, m) = 1</math>, gdzie <math>Q</math> jest liczbą wyznaczoną metodą Selfridge'a (o ile sprawdzana jest złożoność liczby <math>m</math> przy testowaniu kolejnych liczb <math>a_k</math>). Pogrubioną czcionką zaznaczone są symbole Jacobiego, które wykryły złożoność liczby <math>m</math>. Gdyby nie była badana złożoność, to wyliczona zostałaby wartość <math>Q</math> na podstawie innego wyrazu ciągu <math>a_k</math> (ten symbol Jacobiego został zapisany zwykłą czcionką).
  
'''Punkt 2. (lewa nierówność)'''
+
::<math>m = 3 , \;\; (5 \mid 3) = - 1 , \;\; Q = - 1 , \;\; \gcd (m, Q) = 1</math>
  
Z uzyskanego w&nbsp;punkcie 1. oszacowania wynika, że <math>n - p < p \cdot W_p (n!)</math>. Ponieważ nierówność ta dotyczy liczb całkowitych, to możemy napisać
+
::<math>m = 5 , \;\; (5 \mid 5) = 0 , \;\; (- 7 \mid 5) = - 1 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1 \;\;</math> (zauważmy, że <math>(5 \mid 5) = 0</math> nie pozwala wnioskować o&nbsp;złożoności)
  
::<math>n - p \leqslant p \cdot W_p (n!) - 1</math>
+
::<math>m = 7 , \;\; (5 \mid 7) = - 1 , \;\; Q = - 1 , \;\; \gcd (m, Q) = 1</math>
  
Skąd otrzymujemy natychmiast nierówność nieostrą <math>W_p (n!) \geqslant \frac{n + 1}{p} - 1</math>.<br/>
+
::<math>m = 9 , \;\; </math> (liczba kwadratowa)
&#9633;
 
{{\Spoiler}}
 
  
 +
::<math>m = 11 , \;\; (- 11 \mid 11) = 0 , \;\; (13 \mid 11) = - 1 , \;\; Q = - 3 , \;\; \gcd (m, Q) = 1 \;\;</math> (zauważmy, że <math>(- 11 \mid 11) = 0</math> nie pozwala wnioskować o&nbsp;złożoności)
  
 +
::<math>m = 13 , \;\; (5 \mid 13) = - 1 , \;\; Q = - 1 , \;\; \gcd (m, Q) = 1</math>
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie D33</span><br/>
+
::<math>m = 15 , \;\; \boldsymbol{(5 \mid 15) = 0} , \;\; (13 \mid 15) = - 1 , \;\; Q = - 3 , \;\; \gcd (m, Q) = 3 \;\;</math> (gdyby nie zbadano złożoności)
Dla dowolnego <math>n \in \mathbb{Z}_+</math> prawdziwe jest następujące oszacowanie
 
  
::<math>\sum_{p \leqslant n} \frac{\log p}{p - 1} - \log n > - 1</math>
+
::<math>m = 17 , \;\; (5 \mid 17) = - 1 , \;\; Q = - 1 , \;\; \gcd (m, Q) = 1</math>
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
+
::<math>m = 19 , \;\; (- 7 \mid 19) = - 1 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1</math>
Z oszacowania wykładnika, z&nbsp;jakim liczba pierwsza <math>p</math> występuje w rozwinięciu liczby <math>n!</math> na czynniki pierwsze, wynika natychmiast, że dla <math>n \geqslant 2</math> mamy
 
  
::<math>n! < \prod_{p \leqslant n} p^{n / (p - 1)}</math>
+
::<math>m = 21 , \;\; \boldsymbol{(- 7 \mid 21) = 0} , \;\; (- 11 \mid 21) = - 1 , \;\; Q = 3 , \;\; \gcd (m, Q) = 3 \;\;</math> (gdyby nie zbadano złożoności)
  
Ponieważ dla <math>n \geqslant 1</math> jest <math>n! > n^n e^{- n}</math> (zobacz punkt 1. twierdzenia D31), to
 
  
::<math>n^n e^{- n} < \prod_{p \leqslant n} p^{n / (p - 1)}</math>
+
Niech <math>m \geqslant 23</math>. Wiemy, że w&nbsp;ciągu <math>(5, - 7, 9, \ldots, \pm m, \mp (m + 2), \ldots, - (2 m - 3), 2 m - 1)</math> wystąpią liczby <math>a_k</math> takie, że <math>(a_k \mid m) = - 1</math>. Warunek <math>(a_k \mid m) = 0</math> oznacza, że <math>(2 k + 1 \mid m) = 0</math>, bo
  
Logarytmując, otrzymujemy
+
::<math>(a_k \mid m) = ((- 1)^k (2 k + 1) \mid m) = ((- 1)^k \mid m) \cdot (2 k + 1 \mid m) = (- 1 \mid m)^k \cdot (2 k + 1 \mid m) = \pm (2 k + 1 \mid m)</math>
  
::<math>n \log n - n < \sum_{p \leqslant n} \frac{n \log p}{p - 1} = n \sum_{p \leqslant n} \frac{\log p}{p - 1}</math>
+
Jeżeli będą spełnione warunki <math>(a_k \mid m) = 0</math> i <math>R_m (a_k) \neq 0</math>, to liczba <math>m</math> będzie liczbą złożoną.
  
Dzieląc strony przez <math>n</math>, dostajemy szukaną nierówność.<br/>
+
Wypiszmy kolejne próby dla <math>m \geqslant 23</math>. Liczba <math>r</math> jest numerem próby.
&#9633;
 
{{\Spoiler}}
 
  
 +
::<math>r = 1 , \;\; a_{r + 1} = 5</math>
  
 +
::{| border="0"
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(5 \mid m) = 1</math> || <math>5 \nmid m \quad</math> || przechodzimy do kolejnego wyrazu ciągu <math>(a_k)</math>
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(5 \mid m) = 0</math> || <math>5 \mid m</math> || '''koniec'''
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(5 \mid m) = - 1 \quad</math> || <math>5 \nmid m</math> || <math>D = 5 , \;\; Q = - 1 , \;\; \gcd (m, Q) = 1 , \;\;</math> '''koniec'''
 +
|}
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie D34 (pierwsze twierdzenie Mertensa</span><ref name="Mertens1"/><ref name="Mertens2"/><span style="font-size: 110%; font-weight: bold;">, 1874)</span><br/>
+
::<math>r = 2 , \;\; a_{r + 1} = - 7</math>
Dla dowolnego <math>n \in \mathbb{Z}_+</math> prawdziwe jest następujące oszacowanie
 
  
::<math>\sum_{p \leqslant n} \frac{\log p}{p} - \log n > - 1.755367</math>
+
::{| border="0"
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(- 7 \mid m) = 1</math> || <math>7 \nmid m \quad</math> || przechodzimy do kolejnego wyrazu ciągu <math>(a_k)</math>
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(- 7 \mid m) = 0</math> || <math>7 \mid m</math> || '''koniec'''
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(- 7 \mid m) = - 1 \quad</math> || <math>7 \nmid m</math> || <math>D = -7 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1 , \;\;</math> '''koniec'''
 +
|}
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
+
::<math>r = 3</math>, <math>a_{r + 1} = 9</math>
Ponieważ
 
  
::<math>\frac{1}{p - 1} = \frac{1}{p} + \frac{1}{p (p - 1)}</math>
+
::{| border="0"
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(9 \mid m) = 1</math> || <math>3 \nmid m \quad</math> || przechodzimy do kolejnego wyrazu ciągu <math>(a_k)</math>
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(9 \mid m) = 0</math> || <math>3 \mid m</math> || '''koniec'''
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(9 \mid m) \neq - 1 \quad</math> || - - - - || bo <math>9</math> jest liczbą kwadratową
 +
|}
  
  
to z&nbsp;twierdzenia D33 dostajemy
+
Po wykonaniu trzech prób niezakończonych sukcesem (tzn. wykryciem złożoności <math>m</math> lub ustaleniem wartości liczb <math>D</math> i <math>Q</math>) wiemy, że <math>m</math> nie jest podzielna przez żadną z&nbsp;liczb pierwszych <math>p = 3, 5, 7</math>.
  
::<math>\sum_{p \leqslant n} \frac{\log p}{p} + \sum_{p \leqslant n} \frac{\log p}{p (p - 1)} - \log n > - 1</math>
+
::<math>r</math>-ta próba, gdzie <math>r \geqslant 4 , \;\;</math> wyraz <math>a_{r + 1}</math>
  
Czyli
+
::{| border="0"
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(a_{r + 1} \mid m) = 1</math> || żadna liczba pierwsza <math>p \leqslant | a_{r + 1} | = 2 r + 3</math> nie dzieli liczby <math>m \quad</math> &nbsp;&nbsp;&nbsp;  || przechodzimy do kolejnego wyrazu ciągu <math>(a_k)</math>
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(a_{r + 1} \mid m) = 0</math> || A. jeżeli <math>m \mid a_{r + 1}</math><sup>( * )</sup><br/>B. jeżeli <math>m \nmid a_{r + 1}</math> || A. przechodzimy do kolejnego wyrazu ciągu <math>(a_k)</math> <br/> B. <math>a_{r + 1} \mid m</math><sup>( ** )</sup>, '''koniec'''
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(a_{r + 1} \mid m) = - 1 \quad</math> || żadna liczba pierwsza <math>p \leqslant | a_{r + 1} | = 2 r + 3</math> nie dzieli liczby <math>m \quad</math> &nbsp;&nbsp;&nbsp;  || <math>D = a_{r + 1}</math>, <math>Q = {\small\frac{1 - a_{r + 1}}{4}}</math>, '''koniec'''
 +
|}
 +
 
 +
<sup>( * )</sup> jest to możliwe tylko dla <math>a_{r + 1} = a_{(m - 1) / 2} = m</math>
  
::<math>\sum_{p \leqslant n} \frac{\log p}{p} - \log n > - 1 - \sum_{p \leqslant n} \frac{\log p}{p (p - 1)}</math>
+
<sup>( ** )</sup> zauważmy, że jeżeli <math>m \nmid a_{r + 1}</math>, to <math>\gcd (a_{r + 1}, m) = | a_{r + 1} |</math>, bo gdyby liczba <math>| a_{r + 1} |</math> była liczbą złożoną, to żaden z&nbsp;jej dzielników pierwszych nie dzieliłby liczby <math>m</math>
  
:::::::<math>\;\, > - 1 - \sum_{p \geqslant 2} \frac{\log p}{p (p - 1)}</math>
 
  
:::::::<math>\;\, = - 1 - 0.755366610831 \ldots</math>
+
Jeżeli nie została wykryta złożoność liczby <math>m</math>, to żadna z&nbsp;liczb pierwszych <math>p \leqslant | a_{r + 1} | = 2 r + 3</math> nie dzieli liczby <math>m</math>. Zatem <math>\gcd (Q, m) > 1</math> może być tylko w&nbsp;przypadku, gdy pewna liczba pierwsza <math>q \geqslant 2 r + 5</math> będzie wspólnym dzielnikiem liczb <math>Q</math> i <math>m</math>, ale jest to niemożliwe, bo
  
:::::::<math>\;\, > - 1.755367</math>
+
::<math>| Q | = \left| {\small\frac{1 - a_{r + 1}}{4}} \right| \leqslant {\small\frac{| a_{r + 1} | + 1}{4}} = {\small\frac{2 r + 4}{4}} < 2 r + 5 \leqslant q</math>
  
Gdzie wykorzystaliśmy zbieżność szeregu <math>\sum_{p \geqslant 2} \frac{\log p}{p (p - 1)}</math> (twierdzenie D28 p. 3).<br/>
+
Przedostatnia (ostra) nierówność jest prawdziwa dla wszystkich <math>r</math> naturalnych.<br/>
 
&#9633;
 
&#9633;
 
{{\Spoiler}}
 
{{\Spoiler}}
Linia 1140: Linia 1371:
  
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie D35 (pierwsze twierdzenie Mertensa</span><ref name="Mertens1"/><ref name="Mertens2"/><span style="font-size: 110%; font-weight: bold;">, 1874)</span><br/>
+
<span style="font-size: 110%; font-weight: bold;">Zadanie N31</span><br/>
Dla dowolnego <math>n \in \mathbb{Z}_+</math> prawdziwe jest następujące oszacowanie
+
Zmodyfikujmy metodę Selfridge'a w&nbsp;taki sposób, że będziemy rozpoczynali próby nie od wyrazu <math>a_2 = 5</math>, ale od wyrazu <math>a_3 = - 7</math>. Pokazać, że w&nbsp;przypadku, gdy dla kolejnych liczb <math>a_k = (- 1)^k (2 k + 1)</math> sprawdzamy, czy konsekwencją <math>(a_k \mid m) = 0</math> jest złożoność liczby <math>m</math>, to dla każdej liczby <math>Q</math> wyznaczonej tak zmodyfikowaną metodą Selfridge'a jest <math>\gcd (Q, m) = 1</math>.
 +
 
 +
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Rozwiązanie|Hide=Ukryj rozwiązanie}}
 +
Poniżej pokażemy, dlaczego musi być <math>\gcd (Q, m) = 1</math>, gdzie <math>Q</math> jest liczbą wyznaczoną zmodyfikowaną metodą Selfridge'a (o ile sprawdzana jest złożoność liczby <math>m</math> przy testowaniu kolejnych liczb <math>a_k</math>). Pogrubioną czcionką zaznaczone są symbole Jacobiego, które wykryły złożoność liczby <math>m</math>. Gdyby nie była badana złożoność, to wyliczona zostałaby wartość <math>Q</math> na podstawie innego wyrazu ciągu <math>a_k</math> (ten symbol Jacobiego został zapisany zwykłą czcionką).
  
::<math>\sum_{p \leqslant n} \frac{\log p}{p} - \log n < 0.386295</math>
+
::<math>m = 3 , \;\; (- 7 \mid 3) = - 1 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1</math>
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
+
::<math>m = 5 , \;\; (- 7 \mid 5) = - 1 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1</math>
Z oszacowania wykładnika, z&nbsp;jakim liczba pierwsza <math>p</math> występuje w rozwinięciu liczby <math>n!</math> na czynniki pierwsze, wynika natychmiast, że dla <math>n \geqslant 1</math> mamy
 
  
::<math>n! \geqslant \prod_{p \leqslant n} p^{(n + 1) / p \: - \: 1}</math>
+
::<math>m = 7 , \;\; (- 7 \mid 7) = 0 , \;\; (- 11 \mid 7) = - 1 , \;\; Q = 3 , \;\; \gcd (m, Q) = 1</math> (zauważmy, że <math>(- 7 \mid 7) = 0</math> nie pozwala wnioskować o&nbsp;złożoności)
  
Ponieważ dla <math>n \geqslant 7</math> jest <math>n! < n^{n + 1} e^{- n}</math>, to
+
::<math>m = 9 , \;\; </math> (liczba kwadratowa)
  
::<math>\prod_{p \leqslant n} p^{(n + 1) / p \: - \: 1} < n^{n + 1} e^{- n}</math>
+
::<math>m = 11 , \;\; (- 11 \mid 11) = 0 , \;\; (13 \mid 11) = - 1 , \;\; Q = - 3 , \;\; \gcd (m, Q) = 1 \;\;</math> (zauważmy, że <math>(- 11 \mid 11) = 0</math> nie pozwala wnioskować o&nbsp;złożoności)
  
Logarytmując, otrzymujemy
+
::<math>m = 13 , \;\; (- 7 \mid 13) = - 1 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1</math>
  
::<math>\sum_{p \leqslant n} \left( \frac{n + 1}{p} - 1 \right) \cdot \log p < (n + 1) \cdot \log n - n</math>
+
::<math>m = 15 , \;\; \boldsymbol{(9 \mid 15) = 0} , \;\; (13 \mid 15) = - 1 , \;\; Q = - 3 , \;\; \gcd (m, Q) = 3 \;\;</math> (gdyby nie zbadano złożoności)
  
::<math>(n + 1) \sum_{p \leqslant n} \frac{\log p}{p} - \sum_{p \leqslant n} \log p < (n + 1) \cdot \log n - n</math>
+
::<math>m = 17 , \;\; (- 7 \mid 17) = - 1 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1</math>
  
 +
::<math>m = 19 , \;\; (- 7 \mid 19) = - 1 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1</math>
  
Skąd natychmiast wynika, że
+
::<math>m = 21 , \;\; \boldsymbol{(- 7 \mid 21) = 0} , \;\; (- 11 \mid 21) = - 1 , \;\; Q = 3 , \;\; \gcd (m, Q) = 3 \;\;</math> (gdyby nie zbadano złożoności)
  
::<math>\sum_{p \leqslant n} \frac{\log p}{p} - \log n < - \frac{n}{n + 1} + \frac{1}{n + 1} \cdot \log \left( \prod_{p \leqslant n} p \right)</math>
 
  
:::::::<math>\;\: = - 1 + \frac{1}{n + 1} + \frac{1}{n + 1} \cdot \log (P (n))</math>
+
Niech <math>m \geqslant 23</math>. Wiemy, że w&nbsp;ciągu <math>( - 7, 9, \ldots, \pm m, \mp (m + 2), \ldots, - (2 m - 3), 2 m - 1)</math> wystąpią liczby <math>a_k</math> takie, że <math>(a_k \mid m) = - 1</math>. Warunek <math>(a_k \mid m) = 0</math> oznacza, że <math>(2 k + 1 \mid m) = 0</math>, bo
  
:::::::<math>\;\: < - 1 + \frac{1}{n + 1} + \frac{n \cdot \log 4}{n + 1}</math>
+
::<math>(a_k \mid m) = ((- 1)^k (2 k + 1) \mid m) = ((- 1)^k \mid m) \cdot (2 k + 1 \mid m) = (- 1 \mid m)^k \cdot (2 k + 1 \mid m) = \pm (2 k + 1 \mid m)</math>
  
:::::::<math>\;\: = - 1 + \frac{1}{n + 1} + \log 4 - \frac{\log 4}{n + 1}</math>
+
Jeżeli będą spełnione warunki <math>(a_k \mid m) = 0</math> i <math>R_m (a_k) \neq 0</math>, to liczba <math>m</math> będzie liczbą złożoną.
  
:::::::<math>\;\: = \log 4 - 1 + \frac{1 - \log 4}{n + 1}</math>
+
Wypiszmy kolejne próby dla <math>m \geqslant 23</math>. Liczba <math>r</math> jest numerem próby.
  
:::::::<math>\;\: = \log 4 - 1 - \frac{0.386294 \ldots}{n + 1}</math>
+
::<math>r = 1 , \;\; a_{r + 2} = - 7</math>
  
:::::::<math>\;\: < \log 4 - 1</math>
+
::{| border="0"
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(- 7 \mid m) = 1</math> || <math>7 \nmid m \quad</math> || przechodzimy do kolejnego wyrazu ciągu <math>(a_k)</math>
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(- 7 \mid m) = 0</math> || <math>7 \mid m</math> || '''koniec'''
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(- 7 \mid m) = - 1 \quad</math> || <math>7 \nmid m</math> || <math>D = - 7 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1 , \;\;</math> '''koniec'''
 +
|}
  
:::::::<math>\;\: = 0.386294361 \ldots</math>
+
::<math>r = 2 , \;\; a_{r + 2} = 9</math>
  
Druga nierówność wynika z&nbsp;twierdzenia A9. Bezpośrednio sprawdzamy, że powyższa nierówność jest prawdziwa dla <math>n < 7</math>.<br/>
+
::{| border="0"
&#9633;
+
|-style=height:2em
{{\Spoiler}}
+
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(9 \mid m) = 1</math> || <math>3 \nmid m \quad</math> || przechodzimy do kolejnego wyrazu ciągu <math>(a_k)</math>
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(9 \mid m) = 0</math> || <math>3 \mid m</math> || '''koniec'''
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(9 \mid m) \neq - 1 \quad</math> || - - - - || bo <math>9</math> jest liczbą kwadratową
 +
|}
  
 +
::<math>r = 3 , \;\; a_{r + 2} = - 11</math>
  
 +
::{| border="0"
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(- 11 \mid m) = 1</math> || <math>11 \nmid m \quad</math> || przechodzimy do kolejnego wyrazu ciągu <math>(a_k)</math>
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(- 11 \mid m) = 0</math> || <math>11 \mid m</math> || '''koniec'''
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(- 11 \mid m) = - 1 \quad</math> || <math>11 \nmid m</math> || <math>D = - 11 , \;\; Q = 3 , \;\; \gcd (m, Q) = 1 , \;\;</math> '''koniec''' (bo liczby złożone <math>m = 3 k</math> zostały usunięte w&nbsp;poprzedniej próbie, <math>r = 2</math>)
 +
|}
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie D36</span><br/>
+
::<math>r = 4 , \;\; a_{r + 2} = 13</math>
Dla dowolnego <math>n \in \mathbb{Z}_+</math> prawdziwe jest następujące oszacowanie
 
  
::<math>\sum_{p \leqslant n} \frac{\log p}{p - 1} - \log n < 1.141661</math>
+
::{| border="0"
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(13 \mid m) = 1</math> || <math>13 \nmid m \quad</math> || przechodzimy do kolejnego wyrazu ciągu <math>(a_k)</math>
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(13 \mid m) = 0</math> || <math>13 \mid m</math> || '''koniec'''
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(13 \mid m) = - 1 \quad</math> || <math>13 \nmid m</math> || <math>D = 13 , \;\; Q = - 3 , \;\; \gcd (m, Q) = 1 , \;\;</math> '''koniec''' (bo liczby złożone <math>m = 3 k</math> zostały usunięte w&nbsp;próbie o&nbsp;numerze <math>r = 2</math>)
 +
|}
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
+
::<math>r = 5 , \;\; a_{r + 2} = - 15</math>
Ponieważ
 
  
::<math>\frac{1}{p} = \frac{1}{p - 1} - \frac{1}{p (p - 1)}</math>
+
::{| border="0"
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(- 15 \mid m) = 1</math> || <math>5 \nmid m \quad</math> || przechodzimy do kolejnego wyrazu ciągu <math>(a_k)</math>
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(- 15 \mid m) = 0</math> || <math>5 \mid m</math> || '''koniec'''
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(- 15 \mid m) = - 1 \quad</math> || <math>5 \nmid m</math> || <math>D = - 15 , \;\; Q = 4 , \;\; \gcd (m, Q) = 1 , \;\;</math> '''koniec'''
 +
|}
  
to z&nbsp;twierdzenia D35 dostajemy
 
  
::<math>\sum_{p \leqslant n} \frac{\log p}{p - 1} - \sum_{p \leqslant n} \frac{\log p}{p (p - 1)} - \log n < \log 4 - 1</math>
+
Po wykonaniu pięciu prób niezakończonych sukcesem (tzn. wykryciem złożoności <math>m</math> lub ustaleniem wartości liczb <math>D</math> i <math>Q</math>) wiemy, że <math>m</math> nie jest podzielna przez żadną z&nbsp;liczb pierwszych <math>p = 3, 5, 7, 11, 13</math>.
  
Czyli
+
::<math>r</math>-ta próba, gdzie <math>r \geqslant 6 , \;\;</math> wyraz <math>a_{r + 2}</math>
  
::<math>\sum_{p \leqslant n} \frac{\log p}{p - 1} - \log n < \log 4 - 1 + \sum_{p \leqslant n} \frac{\log p}{p (p - 1)}</math>
+
::{| border="0"
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(a_{r + 2} \mid m) = 1</math> || żadna liczba pierwsza <math>p \leqslant | a_{r + 2} | = 2 r + 5</math> nie dzieli liczby <math>m \quad</math> &nbsp;&nbsp;&nbsp;  || przechodzimy do kolejnego wyrazu ciągu <math>(a_k)</math>
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(a_{r + 2} \mid m) = 0</math> || A. jeżeli <math>m \mid a_{r + 2}</math><sup>( * )</sup><br/>B. jeżeli <math>m \nmid a_{r + 2}</math> || A. przechodzimy do kolejnego wyrazu ciągu <math>(a_k)</math> <br/> B. <math>a_{r + 1} \mid m</math><sup>( ** )</sup>, '''koniec'''
 +
|-style=height:2em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>(a_{r + 2} \mid m) = - 1 \quad</math> || żadna liczba pierwsza <math>p \leqslant | a_{r + 2} | = 2 r + 5</math> nie dzieli liczby <math>m \quad</math> &nbsp;&nbsp;&nbsp;  || <math>D = a_{r + 2}</math>, <math>Q = {\small\frac{1 - a_{r + 2}}{4}}</math>, '''koniec'''
 +
|}
  
:::::::<math>\;\;\: < \log 4 - 1 + \sum_{p \geqslant 2} \frac{\log p}{p (p - 1)}</math>
+
<sup>( * )</sup> jest to możliwe tylko dla <math>a_{r + 2} = a_{(m - 1) / 2} = m</math>
  
:::::::<math>\;\;\: = \log 4 - 1 + 0.755366610831 \ldots</math>
+
<sup>( ** )</sup> zauważmy, że jeżeli <math>m \nmid a_{r + 2}</math>, to <math>\gcd (a_{r + 2}, m) = | a_{r + 2} |</math>, bo gdyby liczba <math>| a_{r + 2} |</math> była liczbą złożoną, to żaden z&nbsp;jej dzielników pierwszych nie dzieliłby liczby <math>m</math>
  
:::::::<math>\;\;\: < 1.141661</math><br/>
 
&#9633;
 
{{\Spoiler}}
 
  
 +
Jeżeli nie została wykryta złożoność liczby <math>m</math>, to żadna z&nbsp;liczb pierwszych <math>p \leqslant | a_{r + 2} | = 2 r + 5</math> nie dzieli liczby <math>m</math>. Zatem <math>\gcd (Q, m) > 1</math> może być tylko w&nbsp;przypadku, gdy pewna liczba pierwsza <math>q \geqslant 2 r + 7</math> będzie wspólnym dzielnikiem liczb <math>Q</math> i <math>m</math>, ale jest to niemożliwe, bo
  
 +
::<math>| Q | = \left| {\small\frac{1 - a_{r + 2}}{4}} \right| \leqslant {\small\frac{| a_{r + 2} | + 1}{4}} = {\small\frac{2 r + 6}{4}} < 2 r + 7 \leqslant q</math>
  
<span style="font-size: 110%; font-weight: bold;">Uwaga D37</span><br/>
+
Przedostatnia (ostra) nierówność jest prawdziwa dla wszystkich <math>r</math> naturalnych.<br/>
{| class="wikitable"
+
&#9633;
|
+
{{\Spoiler}}
Dokładniejsze oszacowanie sumy <math>\sum_{p \leqslant n} \frac{\log p}{p}</math> jest dane wzorem
 
  
::<math>\sum_{p \leqslant n} \frac{\log p}{p} = \log n - E + \ldots</math>
 
  
gdzie <math>E = 1.332582275733 \ldots</math>
 
  
Dla <math>n \geqslant 319</math> mamy też<ref name="Rosser1"/>
+
<span style="font-size: 110%; font-weight: bold;">Uwaga N32</span><br/>
 +
Przyjmując metodę Selfridge'a wyboru parametrów <math>P, Q</math> dla testu Lucasa, możemy łatwo napisać odpowiedni program w&nbsp;PARI/GP testujący pierwszość liczb
  
::<math>\left| \sum_{p \leqslant n} \frac{\log p}{p} - \log n + E \right| < \frac{1}{2 \log n}</math>
+
<span style="font-size: 90%; color:black;">LucasTest(m) =
 +
{
 +
'''local'''(P, Q, X);
 +
'''if'''( m % 2 == 0, '''return'''(m == 2) );
 +
'''if'''( '''issquare'''(m), '''return'''(0) ); \\ sprawdzamy, czy m nie jest liczbą kwadratową
 +
X = MethodA(m);
 +
P = X[1];
 +
Q = X[2];
 +
'''if'''( P == 0, '''return'''(0) ); \\ jeżeli P = 0, to m jest liczbą złożoną
 +
'''if'''( modLucas(m + 1, P, Q, m)[1] == 0, '''return'''(1), '''return'''(0) );
 +
}</span>
  
|}
 
  
  
 +
<span style="font-size: 110%; font-weight: bold;">Uwaga N33</span><br/>
 +
Najmniejsze liczby pseudopierwsze Lucasa, które pojawiają się przy zastosowaniu metody Selfridge'a wyboru parametrów <math>P</math> i <math>Q</math>, to
  
<span style="font-size: 110%; font-weight: bold;">Uwaga D38</span><br/>
+
::<math>323, 377, 1159, 1829, 3827, 5459, 5777, 9071, 9179, 10877, 11419, 11663, 13919, 14839, 16109, 16211, 18407, 18971, 19043, 22499, \ldots</math>
{| class="wikitable"
 
|
 
Dokładniejsze oszacowanie sumy <math>\sum_{p \leqslant n} \frac{\log p}{p - 1}</math> jest dane wzorem
 
  
::<math>\sum_{p \leqslant n} \frac{\log p}{p - 1} = \log n - \gamma + \ldots</math>
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Pokaż kod|Hide=Ukryj kod}}
 +
<span style="font-size: 90%; color:black;">'''forstep'''(k=1, 3*10^4, 2, '''if'''( LucasTest(k) && !'''isprime'''(k), '''print'''(k)) )</span>
 +
<br/>
 +
{{\Spoiler}}
  
gdzie <math>\gamma = 0.5772156649 \ldots</math> jest stałą Eulera.
 
  
Dla <math>n \geqslant 318</math> prawdziwe jest oszacowanie<ref name="twierdzenie"/>
 
  
::<math>\left| \sum_{p \leqslant n} \frac{\log p}{p - 1} - \log n + \gamma \right| < \frac{1}{2 \log n}</math>
+
Tabela przedstawia ilość takich liczb nie większych od <math>10^n</math>
  
 +
::{| class="wikitable plainlinks"  style="font-size: 90%; text-align: right; margin-right: auto;"
 +
! <math>\boldsymbol{n}</math> !! <math>\boldsymbol{3}</math> !! <math>\boldsymbol{4}</math> !! <math>\boldsymbol{5}</math> !! <math>\boldsymbol{6}</math> !! <math>\boldsymbol{7}</math> !! <math>\boldsymbol{8}</math> !! <math>\boldsymbol{9}</math>
 +
|-
 +
| #LPSP <math>< 10^n</math> (metoda Selfridge'a) || <math>2</math> || <math>9</math> || <math>57</math> || <math>219</math> || <math>659</math> || <math>1911</math> || <math>5485</math>
 
|}
 
|}
  
 +
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Pokaż kod|Hide=Ukryj kod}}
 +
<span style="font-size: 90%; color:black;">'''for'''(n=3, 9, s=0; '''forstep'''(k = 1, 10^n, 2, '''if'''( LucasTest(k) && !'''isprime'''(k), s++ ) ); '''print'''("n= ", n, "  ", s) )</span>
 +
<br/>
 +
{{\Spoiler}}
  
  
<span style="font-size: 110%; font-weight: bold;">Uwaga D39</span><br/>
 
Dla <math>n \leqslant 10^{10}</math> wartości wyrażeń
 
 
::<math>\sum_{p \leqslant n} \frac{\log p}{p} - \log n + E</math>
 
 
::<math>\sum_{p \leqslant n} \frac{\log p}{p - 1} - \log n + \gamma</math>
 
  
są liczbami dodatnimi.
 
  
  
 +
== Liczby silnie pseudopierwsze Lucasa ==
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie D40</span><br/>
+
<span style="font-size: 110%; font-weight: bold;">Twierdzenie N34</span><br/>
Prawdziwy jest następujący związek
+
Jeżeli <math>p</math> jest liczbą pierwszą nieparzystą taką, że <math>\gcd (p, Q D) = 1</math> oraz <math>p - (D \mid p) = 2^r w</math>, gdzie <math>w</math> jest liczbą nieparzystą, to spełniony jest dokładnie jeden z&nbsp;warunków
  
::<math>\sum_{p \geqslant 2} \frac{\log p}{p (p - 1)} = \sum_{n = 2}^{\infty} \left( \sum_{p \geqslant 2} \frac{\log p}{p^n} \right) = E - \gamma</math>
+
::<math>U_w \equiv 0 \pmod{p}</math>
  
gdzie
+
lub
  
* <math>\quad \gamma = 0.577215664901532 \ldots</math> jest stałą Eulera<ref name="A001620"/>
+
::<math>V_{2^k w} \equiv 0 \pmod{p} \qquad</math> dla pewnego <math>k \in [0, r - 1]</math>
* <math>\quad E = 1.332582275733220 \ldots</math><ref name="A083343"/>
 
* <math>\quad E - \gamma = 0.755366610831688 \ldots</math><ref name="A138312"/>
 
  
 
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
Ponieważ
+
Wiemy (zobacz N20), że jeżeli <math>p</math> jest liczbą pierwszą nieparzystą taką, że <math>\gcd (p, Q D) = 1</math>, to <math>p \mid U_{p - (D \mid p)}</math>. Z&nbsp;założenia jest <math>p - (D \mid p) = 2^r w</math>, zatem <math>p \mid U_{2^r w}</math>. Ponieważ założyliśmy, że <math>p \nmid Q</math> i <math>p \nmid D</math>, to ze wzoru <math>V^2_n - D U^2_n = 4 Q^n</math> (zobacz N13 p.14) wynika natychmiast, że <math>p</math> nie może dzielić jednocześnie liczb <math>U_n</math> i <math>V_n</math>.
  
::<math>\frac{1}{p (p - 1)} = \frac{1}{p - 1} - \frac{1}{p}</math>
+
Korzystając ze wzoru <math>U_{2 n} = U_n V_n</math> (zobacz N13 p.11), otrzymujemy
  
zatem
+
::{| border="0"
 +
|-style=height:3em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>p \mid U_{2^r w} \;\; \Longleftrightarrow \;\; p \mid U_{2^{r - 1} w} \cdot V_{2^{r - 1} w} \quad</math> || Jeżeli <math>p \mid V_{2^{r - 1} w}</math>, to twierdzenie jest dowiedzione. Jeżeli <math>p \nmid V_{2^{r - 1} w}</math>, to <math>p \mid U_{2^{r - 1} w}</math>.
 +
|-style=height:3em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>p \mid U_{2^{r - 1} w} \;\; \Longleftrightarrow \;\; p \mid U_{2^{r - 2} w} \cdot V_{2^{r - 2} w} \quad</math> || Jeżeli <math>p \mid V_{2^{r - 2} w}</math>, to twierdzenie jest dowiedzione. Jeżeli <math>p \nmid V_{2^{r - 2} w}</math>, to <math>p \mid U_{2^{r - 2} w}</math>.
 +
|-style=height:3em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>.................</math> ||
 +
|-style=height:3em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>p \mid U_{4 w} \;\; \Longleftrightarrow \;\; p \mid U_{2 w} \cdot V_{2 w}</math> || Jeżeli <math>p \mid V_{2 w}</math>, to twierdzenie jest dowiedzione. Jeżeli <math>p \nmid V_{2 w}</math>, to <math>p \mid U_{2 w}</math>.
 +
|-style=height:3em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>p \mid U_{2 w} \;\; \Longleftrightarrow \;\; p \mid U_w \cdot V_w</math> || Jeżeli <math>p \mid V_w</math>, to twierdzenie jest dowiedzione. Jeżeli <math>p \nmid V_w</math>, to <math>p \mid U_w</math>.
 +
|}
  
::<math>\sum_{p \leqslant n} \frac{\log p}{p (p - 1)} = \sum_{p \leqslant n} \frac{\log p}{p - 1} - \sum_{p \leqslant n} \frac{\log p}{p} = (\log n - \gamma + \ldots) - (\log n - E + \ldots)</math>
+
Z powyższego wynika, że musi być spełniony jeden z wypisanych w twierdzeniu warunków.
  
Przechodząc z <math>n</math> do nieskończoności, otrzymujemy
 
  
::<math>\sum_{p \geqslant 2} \frac{\log p}{p (p - 1)} = E - \gamma</math>
+
Zauważmy teraz, że jeżeli liczba pierwsza <math>p</math> dzieli <math>V_w</math>, to <math>p \nmid U_w</math>, bo <math>p</math> nie może jednocześnie być dzielnikiem liczb <math>U_w</math> i <math>V_w</math>.
  
 +
Zauważmy też, że jeżeli dla pewnego <math>k \in [1, r - 1]</math> liczba pierwsza <math>p</math> dzieli <math>V_{2^k w}</math>, to <math>p</math> nie dzieli żadnej liczby <math>V_{2^j w}</math> dla <math>j \in [0, k - 1] \;\; \text{i} \;\; p \nmid U_w</math>. Istotnie:
  
Zauważmy teraz, że
+
::{| border="0"
 +
|-style=height:3em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || jeżeli <math>p \mid V_{2^k w}</math>, to <math>p \nmid U_{2^k w} \;\; \text{i} \;\; U_{2^k w} = U_{2^{k - 1} w} V_{2^{k - 1} w}</math>, zatem <math>p</math> nie może być dzielnikiem żadnej z liczb <math>U_{2^{k - 1} w} \;\; \text{i} \;\; V_{2^{k - 1} w}</math>
 +
|-style=height:3em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || jeżeli <math>p \nmid U_{2^{k - 1} w} \;\; \text{i} \;\; U_{2^{k - 1} w} = U_{2^{k - 2} w} V_{2^{k - 2} w}</math>, to <math>p</math> nie może być dzielnikiem żadnej z liczb <math>U_{2^{k - 2} w} \;\; \text{i} \;\; V_{2^{k - 2} w}</math>
 +
|-style=height:3em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || <math>.................</math> ||
 +
|-style=height:3em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || jeżeli <math>p \nmid U_{4 w} \;\; \text{i} \;\; U_{4 w} = U_{2 w} V_{2 w}</math>, to <math>p</math> nie może być dzielnikiem żadnej z liczb <math>U_{2 w} \;\; \text{i} \;\; V_{2 w}</math>
 +
|-style=height:3em
 +
| &#9679;&nbsp;&nbsp;&nbsp; || jeżeli <math>p \nmid U_{2 w} \;\; \text{i} \;\; U_{2 w} = U_w V_w</math>, to <math>p</math> nie może być dzielnikiem żadnej z liczb <math>U_w \;\; \text{i} \;\; V_w</math>
 +
|}
  
::<math>\frac{1}{p - 1} = \frac{1}{p} \cdot \frac{1}{1 - \frac{1}{p}} =</math>
 
  
::::<math>\;\! = \frac{1}{p} \cdot \left( 1 + \frac{1}{p} + \frac{1}{p^2} + \frac{1}{p^3} + \ldots + \frac{1}{p^k} + \ldots \right) =</math>
+
Co dowodzi, że spełniony jest dokładnie jeden z <math>r + 1</math> warunków:
  
::::<math>\;\! = \frac{1}{p} + \frac{1}{p^2} + \frac{1}{p^3} + \ldots + \frac{1}{p^k} + \ldots</math>
+
::<math>U_w \equiv 0 \pmod{p}</math>
  
Zatem
+
::<math>V_{2^k w} \equiv 0 \pmod{p} \qquad</math> gdzie <math>k \in [0, r - 1]</math>
  
::<math>\sum_{p \geqslant 2} \frac{\log p}{p (p - 1)} = \sum_{p \geqslant 2} \frac{\log p}{p} \cdot \left( \frac{1}{p} + \frac{1}{p^2} + \frac{1}{p^3} + \ldots + \frac{1}{p^k} + \ldots \right) = \sum_{n = 2}^{\infty} \left( \sum_{p \geqslant 2} \frac{\log p}{p^n} \right)</math><br/>
+
Co należało pokazać.<br/>
 
&#9633;
 
&#9633;
 
{{\Spoiler}}
 
{{\Spoiler}}
Linia 1299: Linia 1598:
  
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie D41</span><br/>
+
Konsekwentnie definiujemy liczby pseudopierwsze<br/>
Dla <math>n \geqslant 318</math> prawdziwe jest oszacowanie
+
<span style="font-size: 110%; font-weight: bold;">Definicja N35</span><br/>
 +
Powiemy, że liczba złożona nieparzysta <math>m</math> jest liczbą silnie pseudopierwszą Lucasa (SLPSP) dla parametrów <math>P</math> i <math>Q</math>, jeżeli <math>\gcd (m, Q D) = 1</math> oraz <math>m - (D \mid m) = 2^r w</math>, gdzie <math>w</math> jest liczbą nieparzystą i&nbsp;spełniony jest jeden z&nbsp;warunków
  
::<math>\left| \sum_{p \leqslant n} \frac{\log p}{p - 1} - \log n + \gamma \right| < \frac{1}{2 \log n}</math>
+
::<math>U_w \equiv 0 \pmod{m}</math>
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
+
lub
Należy zauważyć, że tak dokładnego oszacowania nie można udowodnić metodami elementarnymi, dlatego punktem wyjścia jest oszacowanie podane w&nbsp;pracy Pierre'a Dusarta<ref name="Dusart1"/>
 
  
::<math>- \left( \frac{0.2}{\log n} + \frac{0.2}{\log^2 n} \right) \; \underset{n \geqslant 2}{<} \; \sum_{p \leqslant n} \frac{\log p}{p} - \log n + E \; \underset{n \geqslant 2974}{<} \; \frac{0.2}{\log n} + \frac{0.2}{\log^2 n}</math>
+
::<math>V_{2^k w} \equiv 0 \pmod{m} \;</math> dla pewnego <math>k \in [0, r - 1]</math>
  
Ponieważ dla <math>x > e^2 \approx 7.389</math> jest <math>1 + \frac{1}{\log x} < 1.5</math>, to dla <math>n \geqslant 8</math> mamy
 
  
::<math>\frac{0.2}{\log n} + \frac{0.2}{\log^2 n} = \frac{0.2}{\log n} \left( 1 + \frac{1}{\log n} \right) < \frac{0.3}{\log n}</math>
 
  
 +
<span style="font-size: 110%; font-weight: bold;">Uwaga N36</span><br/>
 +
Każda liczba SLPSP(<math>P, Q</math>) jest LPSP(<math>P, Q</math>). Korzystając ze zdefiniowanych wcześniej funkcji: <code>modPower(a, n, m)</code>, <code>jacobi(a, n)</code> i <code>modLucas(n, P, Q, m)</code> (zobacz M2, J47, N15), możemy napisać prosty program, który sprawdza, czy liczba <math>m</math> spełnia jeden z&nbsp;warunków podanych w&nbsp;twierdzeniu N34.
  
Zatem wyjściowy układ nierówności możemy zapisać w&nbsp;postaci
+
<span style="font-size: 90%; color: black;">isPrimeOr<span style="background-color: #fee481;">SLPSP</span>(m, P, Q) =
 +
{
 +
'''local'''(a, b, c, D, js, k, r, w, X);
 +
D = P^2 - 4*Q;
 +
'''if'''( gcd(m, 2*Q*D) > 1, '''return'''(0) );
 +
js = jacobi(D, m);
 +
r = '''valuation'''(m - js, 2); \\ znajdujemy wykładnik, z jakim liczba 2 występuje w m - js
 +
w = (m - js) / 2^r;
 +
X =  modLucas(w, P, Q, m);
 +
a = X[1]; \\ U_w(P, Q) % m
 +
b = X[2]; \\ V_w(P, Q) % m
 +
'''if'''( a == 0 || b == 0, '''return'''(1) ); \\ b == 0 to przypadek k == 0
 +
'''if'''( r == 1, '''return'''(0) ); \\ nie ma dalszych przypadków
 +
c = modPower(Q, w, m); \\ Q^w % m
 +
k = 0;
 +
\\ sprawdzamy warunek V_(2^k * w) % m = 0; korzystamy ze wzoru V_(2*t) = (V_t)^2 - 2*Q^t
 +
'''while'''( k++ < r,
 +
        b = (b^2 - 2*c) % m;
 +
        '''if'''( b == 0, '''return'''(1) );
 +
        c = c^2 % m;
 +
      );
 +
'''return'''(0);
 +
}</span>
  
::<math>- \frac{0.3}{\log n} \; \underset{n \geqslant 8}{<} \; \sum_{p \leqslant n} \frac{\log p}{p} - \log n + E \; \underset{n \geqslant 2974}{<} \; \frac{0.3}{\log n}</math>
 
  
  
Z tożsamości
+
<span style="font-size: 110%; font-weight: bold;">Przykład N37</span><br/>
 +
Poniższa tabela zawiera najmniejsze liczby silnie pseudopierwsze Lucasa dla różnych parametrów <math>P</math> i <math>Q</math>
  
::<math>\frac{1}{p} = \frac{1}{p - 1} - \frac{1}{p (p - 1)}</math>
+
::{| class="wikitable plainlinks"  style="font-size: 90%; text-align: right; margin-right: auto;"
 +
! &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<math>\boldsymbol{P}</math><br/><math>\boldsymbol{Q}</math>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 +
! <math>\boldsymbol{1}</math> !! <math>\boldsymbol{2}</math> !! <math>\boldsymbol{3}</math> !! <math>\boldsymbol{4}</math> !! <math>\boldsymbol{5}</math> !! <math>\boldsymbol{6}</math> !! <math>\boldsymbol{7}</math> !! <math>\boldsymbol{8}</math> !! <math>\boldsymbol{9}</math> !! <math>\boldsymbol{10}</math>
 +
|-
 +
! <math>\boldsymbol{- 5}</math>
 +
| <math>253</math> || <math>121</math> || style="background-color: yellow" | <math>143</math> || <math>781</math> || style="background-color: yellow" | <math>323</math> || style="background-color: yellow" | <math>299</math> || <math>121</math> || style="background-color: yellow" | <math>407</math> || <math>9</math> || style="background-color: yellow" | <math>143</math>
 +
|-
 +
! <math>\boldsymbol{- 4}</math>
 +
| <math>9</math> || <math>4181</math> || <math>341</math> || <math>169</math> || <math>33</math> || style="background-color: yellow" | <math>119</math> || <math>57</math> || <math>9</math> || <math>9</math> || <math>9</math>
 +
|-
 +
! <math>\boldsymbol{- 3}</math>
 +
| style="background-color: yellow" | <math>799</math> || <math>121</math> || style="background-color: yellow" | <math>527</math> || <math>25</math> || <math>85</math> || style="background-color: yellow" | <math>209</math> || style="background-color: yellow" | <math>55</math> || style="background-color: yellow" | <math>35</math> || <math>169</math> || <math>529</math>
 +
|-
 +
! <math>\boldsymbol{- 2}</math>
 +
| <math>2047</math> || style="background-color: yellow" | <math>989</math> || <math>161</math> || <math>49</math> || <math>49</math> || style="background-color: yellow" | <math>323</math> || style="background-color: yellow" | <math>35</math> || style="background-color: yellow" | <math>35</math> || <math>9</math> || <math>265</math>
 +
|-
 +
! <math>\boldsymbol{- 1}</math>
 +
| <math>4181</math> || <math>169</math> || style="background-color: yellow" | <math>119</math> || <math>9</math> || <math>9</math> || style="background-color: yellow" | <math>629</math> || <math>25</math> || <math>33</math> || <math>9</math> || style="background-color: yellow" | <math>51</math>
 +
|-
 +
! <math>\boldsymbol{1}</math>
 +
| <math>25</math> || style="background-color: red" | <math></math> || style="background-color: yellow" | <math>323</math> || style="background-color: yellow" | <math>209</math> || style="background-color: yellow" | <math>527</math> || style="background-color: yellow" | <math>35</math> || style="background-color: yellow" | <math>323</math> || style="background-color: yellow" | <math>559</math> || <math>9</math> || <math>49</math>
 +
|-
 +
! <math>\boldsymbol{2}</math>
 +
| style="background-color: yellow" | <math>5459</math> || <math>9</math> || <math>2047</math> || <math>169</math> || <math>21</math> || <math>253</math> || <math>9</math> || style="background-color: yellow" | <math>15</math> || <math>9</math> || <math>49</math>
 +
|-
 +
! <math>\boldsymbol{3}</math>
 +
| style="background-color: yellow" | <math>899</math> || style="background-color: yellow" | <math>5983</math> || <math>25</math> || <math>121</math> || <math>49</math> || <math>49</math> || style="background-color: yellow" | <math>35</math> || <math>55</math> || <math>25</math> || style="background-color: yellow" | <math>35</math>
 +
|-
 +
! <math>\boldsymbol{4}</math>
 +
| style="background-color: yellow" | <math>899</math> || <math>25</math> || <math>1541</math> || style="background-color: red" | <math></math> || <math>341</math> || style="background-color: yellow" | <math>323</math> || style="background-color: yellow" | <math>377</math> || style="background-color: yellow" | <math>209</math> || <math>9</math> || style="background-color: yellow" | <math>527</math>
 +
|-
 +
! <math>\boldsymbol{5}</math>
 +
| <math>9</math> || style="background-color: yellow" | <math>527</math> || <math>49</math> || style="background-color: yellow" | <math>527</math> || <math>4181</math> || <math>781</math> || style="background-color: yellow" | <math>39</math> || <math>9</math> || <math>9</math> || <math>9</math>
 +
|}
  
 +
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Pokaż kod|Hide=Ukryj kod}}
 +
<span style="font-size: 90%; color:black;">FirstSLPSP(Stop) =
 +
\\ najmniejsze SLPSP(P,Q) < Stop;  dla 1<=P<=10 i -5<=Q<=5
 +
{
 +
'''local'''(D, m, P, Q);
 +
Q = -6;
 +
'''while'''( Q++ <= 5,
 +
        '''if'''( Q == 0, '''next'''() );
 +
        P = 0;
 +
        '''while'''( P++ <= 10,
 +
              D = P^2 - 4*Q;
 +
              '''if'''( D == 0,
 +
                  '''print'''("Q= ", Q, "  P= ", P, "  ------------------");
 +
                  '''next'''();
 +
                );
 +
              m = 3;
 +
              '''while'''( m < Stop,
 +
                      '''if'''( isPrimeOr<span style="background-color: #fee481;">SLPSP</span>(m, P, Q)  &&  !'''isprime'''(m),
 +
                          '''print'''("Q= ", Q, "  P= ", P, "  m= ", m, "  (D|m)= ", jacobi(D, m));
 +
                          '''break'''();
 +
                        );
 +
                      m = m + 2;
 +
                    );
 +
            );
 +
      );
 +
}</span>
 +
<br/>
 +
{{\Spoiler}}
  
wynika natychmiast, że
+
Żółtym tłem oznaczyliśmy te najmniejsze liczby pseudopierwsze Lucasa, dla których <math>(D \mid m) = - 1</math>.
  
::<math>- \frac{0.3}{\log n} \; \underset{n \geqslant 8}{<} \; \sum_{p \leqslant n}  \frac{\log p}{p - 1} - \sum_{p \leqslant n} \frac{\log p}{p (p - 1)} - \log n + E \; \underset{n \geqslant 2974}{<} \; \frac{0.3}{\log n}</math>
 
  
  
'''Prawa nierówność'''
+
<span style="font-size: 110%; font-weight: bold;">Przykład N38</span><br/>
 +
Ilość liczb SLPSP(<math>P, Q</math>) mniejszych od <math>10^9</math>
  
Rozważmy prawą nierówność prawdziwą dla <math>n \geqslant 2974</math>
+
::{| class="wikitable plainlinks"  style="font-size: 90%; text-align: right; margin-right: auto;"
 +
! &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<math>\boldsymbol{P}</math><br/><math>\boldsymbol{Q}</math>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 +
! <math>\boldsymbol{1}</math> !! <math>\boldsymbol{2}</math> !! <math>\boldsymbol{3}</math> !! <math>\boldsymbol{4}</math> !! <math>\boldsymbol{5}</math> !! <math>\boldsymbol{6}</math> !! <math>\boldsymbol{7}</math> !! <math>\boldsymbol{8}</math> !! <math>\boldsymbol{9}</math> !! <math>\boldsymbol{10}</math>
 +
|-
 +
! <math>\boldsymbol{- 5}</math>
 +
| <math>1056</math> || <math>1231</math> || <math>1184</math> || <math>1264</math> || <math>2278</math> || <math>1284</math> || <math>1181</math> || <math>1174</math> || <math>1281</math> || <math>1429</math>
 +
|-
 +
! <math>\boldsymbol{- 4}</math>
 +
| <math>1043</math> || <math>1165</math> || <math>2139</math> || <math>1316</math> || <math>1151</math> || <math>1079</math> || <math>1112</math> || <math>2377</math> || <math>1197</math> || <math>989</math>
 +
|-
 +
! <math>\boldsymbol{- 3}</math>
 +
| <math>952</math> || <math>1514</math> || <math>1055</math> || <math>1153</math> || <math>1135</math> || <math>2057</math> || <math>998</math> || <math>1202</math> || <math>1077</math> || <math>1112</math>
 +
|-
 +
! <math>\boldsymbol{- 2}</math>
 +
| <math>1282</math> || <math>1092</math> || <math>1212</math> || <math>1510</math> || <math>1155</math> || <math>1179</math> || <math>1173</math> || <math>2240</math> || <math>1089</math> || <math>2109</math>
 +
|-
 +
! <math>\boldsymbol{- 1}</math>
 +
| <math>1165</math> || <math>1316</math> || <math>1079</math> || <math>2377</math> || <math>989</math> || <math>1196</math> || <math>1129</math> || <math>1050</math> || <math>1055</math> || <math>1147</math>
 +
|-
 +
! <math>\boldsymbol{1}</math>
 +
| <math>282485800</math> || style="background-color: red" | <math></math> || <math>2278</math> || <math>2057</math> || <math>2113</math> || <math>2266</math> || <math>4053</math> || <math>2508</math> || <math>2285</math> || <math>3083</math>
 +
|-
 +
! <math>\boldsymbol{2}</math>
 +
| <math>1776</math> || <math>449152466</math> || <math>1282</math> || <math>1316</math> || <math>1645</math> || <math>1413</math> || <math>1564</math> || <math>1595</math> || <math>1683</math> || <math>1435</math>
 +
|-
 +
! <math>\boldsymbol{3}</math>
 +
| <math>1621</math> || <math>1553</math> || <math>282485800</math> || <math>1514</math> || <math>1530</math> || <math>1510</math> || <math>1588</math> || <math>1549</math> || <math>1468</math> || <math>1692</math>
 +
|-
 +
! <math>\boldsymbol{4}</math>
 +
| <math>2760</math> || <math>282485800</math> || <math>2978</math> || style="background-color: red" | <math></math> || <math>2137</math> || <math>2278</math> || <math>1995</math> || <math>2057</math> || <math>2260</math> || <math>2113</math>
 +
|-
 +
! <math>\boldsymbol{5}</math>
 +
| <math>1314</math> || <math>2392</math> || <math>1497</math> || <math>2392</math> || <math>1165</math> || <math>1268</math> || <math>1227</math> || <math>1411</math> || <math>1253</math> || <math>2377</math>
 +
|}
  
::<math>\sum_{p \leqslant n} \frac{\log p}{p - 1} - \sum_{p \leqslant n} \frac{\log p}{p (p - 1)} - \log n + E < \frac{0.3}{\log n}</math>
 
  
  
Z twierdzenia D40 wiemy, że
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Pokaż kod|Hide=Ukryj kod}}
 +
<span style="font-size: 90%; color:black;">NumOfSLPSP(Stop) =
 +
\\ ilość liczb silnie pseudopierwszych Lucasa SLPSP(P,Q) < Stop;  dla 1<=P<=10 i -5<=Q<=5
 +
{
 +
'''local'''(D, m, P, Q);
 +
Q = -6;
 +
'''while'''( Q++ <= 5,
 +
        '''if'''( Q == 0, '''next'''() );
 +
        P = 0;
 +
        '''while'''( P++ <= 10,
 +
              D = P^2 - 4*Q;
 +
              '''if'''( D == 0, '''print'''("Q= ", Q, "  P= ", P, "  ------------------"); '''next'''() );
 +
              s = 0;
 +
              m = 3;
 +
              '''while'''( m < Stop,
 +
                      '''if'''( isPrimeOr<span style="background-color: #fee481;">SLPSP</span>(m, P, Q)  &&  !'''isprime'''(m), s++ );
 +
                      m = m + 2;
 +
                    );
 +
              '''print'''("Q= ", Q, "  P= ", P, "  s= ", s);
 +
            );
 +
      );
 +
}</span>
 +
<br/>
 +
{{\Spoiler}}
  
::<math>\sum_{p \geqslant 2} \frac{\log p}{p (p - 1)} - E = - \gamma</math>
 
  
Zatem
 
  
::<math>\sum_{p \leqslant n} \frac{\log p}{p - 1} - \log n < \sum_{p \leqslant n} \frac{\log p}{p (p - 1)} - E + \frac{0.3}{\log n}</math>
+
<span style="font-size: 110%; font-weight: bold;">Uwaga N39</span><br/>
 +
Można pokazać<ref name="Arnault1"/>, że dla liczby złożonej nieparzystej <math>m \neq 9</math> i&nbsp;ustalonego <math>D</math> ilość par <math>P, Q</math> takich, że
  
:::::::<math>\;\;\: < \sum_{p \geqslant 2} \frac{\log p}{p (p - 1)} - E + \frac{0.3}{\log n}</math>
+
:* <math>0 \leqslant P, Q < m</math>
 +
:* <math>\gcd (Q, m) = 1</math>
 +
:* <math>P^2 - 4 Q \equiv D \pmod{m}</math>
 +
:* <math>m</math> jest SLPSP(<math>P, Q</math>)
  
:::::::<math>\;\;\: = - \gamma + \frac{0.3}{\log n}</math>
+
nie przekracza <math>\tfrac{4}{15} n</math>.
  
:::::::<math>\;\;\: < - \gamma + \frac{0.5}{\log n}</math>
+
Nie dotyczy to przypadku, gdy <math>m = p (p + 2)</math> jest iloczynem liczb pierwszych bliźniaczych takich, że <math>(D \mid p) = - (D \mid p + 2) = - 1</math>, wtedy mamy słabsze oszacowanie: <math>\# (P, Q) \leqslant \tfrac{1}{2} n</math>. Zauważmy, że taką sytuację łatwo wykryć, bo w&nbsp;tym przypadku <math>m + 1 = (p + 1)^2</math> jest liczbą kwadratową.
  
  
Bezpośrednio obliczając, sprawdzamy, że nierówność
 
  
::<math>\sum_{p \leqslant n} \frac{\log p}{p - 1} - \log n < - \gamma + \frac{0.5}{\log n}</math>
+
<span style="font-size: 110%; font-weight: bold;">Uwaga N40</span><br/>
 +
Podobnie jak w&nbsp;przypadku liczb pseudopierwszych Lucasa LPSP(<math>P, Q</math>) tak i&nbsp;w&nbsp;przypadku liczb silnie pseudopierwszych Lucasa SLPSP(<math>P, Q</math>) możemy testować pierwszość liczby <math>m</math>, wybierając liczby <math>P, Q</math> losowo lub zastosować wybraną metodę postępowania. Przedstawiony poniżej program, to zmodyfikowany kod z uwagi N36. Teraz parametry <math>P, Q</math> są wybierane metodą Selfridge'a, a symbol Jacobiego <math>(D \mid m)</math> jest równy <math>- 1</math>.
  
jest prawdziwa dla wszystkich liczb <math>318 \leqslant n \leqslant 3000</math>
+
<span style="font-size: 90%; color:black;">StrongLucasTest(m) =
 +
{
 +
'''local'''(a, b, c, k, P, Q, r, w, X);
 +
'''if'''( m % 2 == 0, '''return'''(m == 2) );
 +
'''if'''( '''issquare'''(m), '''return'''(0) ); \\ sprawdzamy, czy liczba m nie jest kwadratowa
 +
X = MethodA(m);
 +
P = X[1];
 +
Q = X[2];
 +
'''if'''( P == 0 || '''gcd'''(m, 2*Q) > 1, '''return'''(0) ); \\ jeżeli P = 0, to m jest liczbą złożoną
 +
r = '''valuation'''(m + 1, 2); \\ znajdujemy wykładnik, z jakim liczba 2 występuje w m + 1
 +
w = (m + 1) / 2^r;
 +
X =  modLucas(w, P, Q, m);
 +
a = X[1]; \\ U_w(P, Q) % m
 +
b = X[2]; \\ V_w(P, Q) % m
 +
'''if'''( a == 0 || b == 0, '''return'''(1) ); \\ b == 0 to przypadek k == 0
 +
'''if'''( r == 1, '''return'''(0) ); \\ nie ma dalszych przypadków
 +
c = modPower(Q, w, m); \\ Q^w % m
 +
k = 0;
 +
\\ sprawdzamy warunek V_(2^k * w) %m = 0; korzystamy ze wzoru V_(2*w) = (V_w)^2 - 2*Q^w
 +
'''while'''( k++ < r,
 +
        b = (b^2 - 2*c) % m;
 +
        '''if'''( b == 0, '''return'''(1) );
 +
        c = c^2 % m;
 +
      );
 +
'''return'''(0);
 +
}</span>
  
  
'''Lewa nierówność'''
 
  
Rozważmy teraz lewą nierówność prawdziwą dla <math>n \geqslant 8</math>
+
<span style="font-size: 110%; font-weight: bold;">Uwaga N41</span><br/>
 +
Najmniejsze liczby silnie pseudopierwsze Lucasa, które otrzymujemy po zastosowaniu metody Selfridge'a wyboru parametrów <math>P</math> i <math>Q</math>, to
  
::<math>\sum_{p \leqslant n} \frac{\log p}{p - 1} - \sum_{p \leqslant n} \frac{\log p}{p (p - 1)} - \log n + E > - \frac{0.3}{\log n}</math>
+
::<math>5459, 5777, 10877, 16109, 18971, 22499, 24569, 25199, 40309, 58519, 75077, 97439, \ldots</math>
  
Mamy
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Pokaż kod|Hide=Ukryj kod}}
 +
<span style="font-size: 90%; color:black;">'''forstep'''(k=1, 10^5, 2, '''if'''( StrongLucasTest(k) && !'''isprime'''(k), '''print'''(k)) )</span>
 +
<br/>
 +
{{\Spoiler}}
  
::<math>\sum_{p \leqslant n} \frac{\log p}{p - 1} - \log n > \sum_{p \leqslant n} \frac{\log p}{p (p - 1)} - E - \frac{0.3}{\log n}</math>
 
  
:::::::<math>\;\;\, = \sum_{p \geqslant 2} \frac{\log p}{p (p - 1)} - \sum_{p > n} \frac{\log p}{p (p - 1)} - E - \frac{0.3}{\log n}</math>
+
Tabela przedstawia ilość takich liczb nie większych od <math>10^n</math>
  
:::::::<math>\;\;\, = - \gamma - \frac{0.3}{\log n} - \sum_{p > n} \frac{\log p}{p (p - 1)}</math>
+
::{| class="wikitable plainlinks"  style="font-size: 90%; text-align: right; margin-right: auto;"
 +
! <math>\boldsymbol{n}</math> !! <math>\boldsymbol{3}</math> !! <math>\boldsymbol{4}</math> !! <math>\boldsymbol{5}</math> !! <math>\boldsymbol{6}</math> !! <math>\boldsymbol{7}</math> !! <math>\boldsymbol{8}</math> !! <math>\boldsymbol{9}</math>
 +
|-
 +
| #SLPSP <math>< 10^n</math> (metoda Selfridge'a) || <math>0</math> || <math>2</math> || <math>12</math> || <math>58</math> || <math>178</math> || <math>505</math> || <math>1415</math>
 +
|}
  
:::::::<math>\;\;\, > - \gamma - \frac{0.3}{\log n} - \sum_{k = n + 1}^{\infty} \frac{\log k}{k (k - 1)}</math>
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Pokaż kod|Hide=Ukryj kod}}
 +
<span style="font-size: 90%; color:black;">'''for'''(n=3, 9, s=0; '''forstep'''(k = 1, 10^n, 2, '''if'''( StrongLucasTest(k) && !'''isprime'''(k), s++ ) ); '''print'''("n=", n, "  ", s) )</span>
 +
<br/>
 +
{{\Spoiler}}
  
:::::::<math>\;\;\, > - \gamma - \frac{0.3}{\log n} - \sum_{k = n + 1}^{\infty} \frac{\log k}{(k - 1)^2}</math>
 
  
  
Korzystając kolejno z&nbsp;twierdzeń D15 i&nbsp;C18, dostajemy
 
  
::<math>\sum_{p \leqslant n} \frac{\log p}{p - 1} - \log n > - \gamma - \frac{0.3}{\log n} - \int_{n}^{\infty} \frac{\log x}{(x - 1)^2} d x</math>
 
  
:::::::<math>\;\;\, = - \gamma - \frac{0.3}{\log n} - \frac{\log n}{n - 1} + \log \left( 1 - \frac{1}{n} \right)</math>
+
== Test BPSW ==
  
:::::::<math>\;\;\, > - \gamma - \frac{0.3}{\log n} - \frac{\log n}{n - 1} - \frac{1}{n - 1}</math>
+
<span style="font-size: 110%; font-weight: bold;">Uwaga N42</span><br/>
 +
Jest <math>488</math> liczb SPSP(<math>2</math>) mniejszych od <math>10^8</math> i są 582 liczby SPSP(<math>3</math>) mniejsze od <math>10^8</math> (zobacz M21). Ale jest aż <math>21</math> liczb mniejszych od <math>10^8</math> silnie pseudopierwszych jednocześnie względem podstaw <math>2</math> i <math>3</math>:
  
:::::::<math>\;\;\, = - \gamma - \frac{0.5}{\log n} + \left( \frac{0.2}{\log n} - \frac{\log n + 1}{n - 1} \right)</math>
+
<math>1373653, 1530787, 1987021, 2284453, 3116107, 5173601, 6787327, 11541307, 13694761, 15978007, 16070429,</math>
  
:::::::<math>\;\;\, > - \gamma - \frac{0.5}{\log n}</math>
+
<math>16879501, 25326001, 27509653, 27664033, 28527049, 54029741, 61832377, 66096253, 74927161, 80375707</math>
  
 +
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Pokaż kod|Hide=Ukryj kod}}
 +
<span style="font-size: 90%; color:black;">'''forstep'''(m=3, 10^8, 2, '''if'''( isPrimeOr<span style="background-color: #fee481;">SPSP</span>(m, 2)  &&  isPrimeOr<span style="background-color: #fee481;">SPSP</span>(m, 3)  &&  !'''isprime'''(m), '''print'''("m=", m) ) )</span>
 +
<br/>
 +
{{\Spoiler}}
  
Do znalezienia całki oznaczonej Czytelnik może wykorzystać stronę [https://www.wolframalpha.com/input?i=int+log%28x%29%2F%28x-1%29%5E2+from+n+to+inf WolframAlpha]. Ostatnia nierówność jest prawdziwa dla <math>n \geqslant 153</math>. Bezpośrednio obliczając, sprawdzamy, że nierówność
+
Widzimy, że prawdopodobieństwo błędnego rozpoznania pierwszości w&nbsp;przypadku liczb mniejszych od <math>10^8</math> dla podstawy <math>2</math> lub podstawy <math>3</math> jest rzędu kilku milionowych. Gdyby prawdopodobieństwa błędnego rozpoznania pierwszości w&nbsp;przypadku podstawy <math>2</math> lub podstawy <math>3</math> były niezależne, to spodziewalibyśmy się, że nie będzie wcale liczb mniejszych od <math>10^8</math> silnie pseudopierwszych jednocześnie względem podstaw <math>2</math> i <math>3</math>, bo prawdopodobieństwo takiego zdarzenia byłoby równe kilkudziesięciu bilonowym. Ale tak nie jest.
  
::<math>\sum_{p \leqslant n} \frac{\log p}{p - 1} - \log n > - \gamma - \frac{0.5}{\log n}</math>
+
Jest to mocny argument za tym, że zastosowanie różnych (niezależnych) testów może być znacznie silniejszym narzędziem do testowania pierwszości liczb, niż wielokrotne stosowanie tego samego testu, gdzie poszczególne próby są tylko pozornie niezależne.
  
jest prawdziwa dla wszystkich <math>2 \leqslant n \leqslant 200</math>.<br/>
+
Połączenie znanych nam już testów prowadzi do prostego programu
&#9633;
 
{{\Spoiler}}
 
  
 +
<span style="font-size: 90%; color:black;">BPSWtest(m) =
 +
{
 +
'''forprime'''(p = 2, 1000, '''if'''( m % p > 0, '''next'''() ); '''if'''( m == p, '''return'''(1), '''return'''(0) ));
 +
'''if'''( !isPrimeOr<span style="background-color: #fee481;">SPSP</span>(m, 2), '''return'''(0) );
 +
'''if'''( !StrongLucasTest(m), '''return'''(0), '''return'''(1) );
 +
}</span>
  
  
<span style="font-size: 110%; font-weight: bold;">Zadanie D42</span><br/>
 
Niech <math>r = 1 - \log (2) \approx 0.30685281944</math>. Pokazać, że z&nbsp;nierówności prawdziwej dla <math>x \geqslant 32</math>
 
  
::<math>\sum_{p \leqslant x} \frac{\log p}{p - 1} < \log x - r</math>
+
Funkcja <code>BPSWtest(m)</code> kolejno sprawdza:
  
wynika twierdzenie Czebyszewa.
+
:* czy liczba <math>m</math> jest podzielna przez niewielkie liczby pierwsze (w naszym przypadku mniejsze od <math>1000</math>); jeśli tak, to sprawdza, czy <math>m</math> jest liczbą pierwszą, czy złożoną i&nbsp;zwraca odpowiednio <math>1</math> lub <math>0</math>
 +
:* czy liczba <math>m</math> przechodzi test Millera-Rabina dla podstawy <math>2</math>; jeśli nie, to zwraca <math>0</math>
 +
:* czy liczba <math>m</math> przechodzi silny test Lucasa dla parametrów <math>P</math> i <math>Q</math>, które wybieramy metodą Selfridge'a; jeśli nie, to zwraca <math>0</math>, w&nbsp;przeciwnym wypadku zwraca <math>1</math>
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Rozwiązanie|Hide=Ukryj rozwiązanie}}
 
Z twierdzenia D41 wiemy, że dla <math>x \geqslant 318</math> jest
 
  
::<math>\sum_{p \leqslant x} \frac{\log p}{p - 1} - \log x < - \gamma + \frac{1}{2\log x} \leqslant - \gamma + \frac{1}{2 \log (318)} = - 0.490441 \ldots < - 0.306852 \ldots = - r</math>
+
Test w&nbsp;dokładnie takiej postaci zaproponowali Robert Baillie i&nbsp;Samuel Wagstaff<ref name="BaillieWagstaff1"/>. Nazwa testu to akronim, utworzony od pierwszych liter nazwisk Roberta Bailliego, Carla Pomerance'a, Johna Selfridge'a i&nbsp;Samuela Wagstaffa.
  
Zatem postulowane oszacowanie jest prawdziwe dla <math>n \geqslant 318</math>. Sprawdzając bezpośrednio dla <math>2 \leqslant x \leqslant 317</math>, łatwo potwierdzamy prawdziwość nierówności
+
Nie jest znany żaden przykład liczby złożonej <math>m</math>, którą test BPSW<ref name="BPSW1"/><ref name="BPSW2"/> identyfikowałby jako pierwszą i&nbsp;z&nbsp;pewnością nie ma takich liczb dla <math>m < 2^{64} \approx 1.844 \cdot 10^{19}</math>. Warto przypomnieć: potrzebowaliśmy siedmiu testów Millera-Rabina (dla podstaw <math>2, 3, 5, 7, 11, 13, 17</math>), aby mieć pewność, że dowolna liczba <math>m < 3.41 \cdot 10^{14}</math> jest pierwsza (zobacz M22).
  
::<math>\sum_{p \leqslant x} \frac{\log p}{p - 1} < \log x - r</math>
 
  
dla <math>x \geqslant 32</math>.
 
  
  
Niech <math>a \in \mathbb{Z}</math> i <math>a \geqslant 32</math>. Korzystając z&nbsp;twierdzenia D32, łatwo znajdujemy oszacowanie
 
  
::<math>a! = p^{\alpha_1}_1 \cdot \ldots \cdot p^{\alpha_n}_n</math>
+
== Uzupełnienia ==
  
::<math>\quad \leqslant p^{(a - 1) / (p_1 - 1)}_1 \cdot \ldots \cdot p^{(a - 1) / (p_n - 1)}_n</math>
+
&nbsp;
  
::<math>\quad = (p^{1 / (p_1 - 1)}_1 \cdot \ldots \cdot p^{1 / (p_n - 1)}_n)^{a - 1}</math>
+
=== <span style="border-bottom:1px solid #000;">Pewne własności współczynników dwumianowych</span> ===
  
gdzie <math>p_n \leqslant a < p_{n + 1}</math>. Oznaczając wyrażenie w&nbsp;nawiasie przez <math>U</math>, mamy
+
&nbsp;
  
::<math>\log U = \frac{\log p_1}{p_1 - 1} + \ldots + \frac{\log p_n}{p_n - 1} = \sum_{p \leqslant a} \frac{\log p}{p - 1} < \log a - r</math>
+
<span style="font-size: 110%; font-weight: bold;">Twierdzenie N43</span><br/>
 +
Jeżeli <math>p</math> jest liczbą pierwszą, to
  
gdzie skorzystaliśmy z&nbsp;oszacowania wskazanego w&nbsp;treści zadania. Zatem <math>U < a \cdot e^{- r}</math>.
+
::<math>\binom{p}{k} \equiv 0 \pmod{p}</math>
  
 +
dla każdego <math>k \in [1, p - 1]</math>.
  
Przypuśćmy, że mnożymy liczbę <math>a!</math> przez kolejne liczby naturalne <math>a + 1, a + 2, \ldots, b - 1, b</math>. Możemy postawić pytanie: kiedy w&nbsp;rozkładzie na czynniki pierwsze liczby <math>b!</math> musi pojawić się nowy czynnik pierwszy? Jeżeli takiego nowego czynnika pierwszego nie ma, to
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 +
Łatwo zauważamy, że dla <math>k \in [1, p - 1]</math> liczba pierwsza <math>p</math> dzieli licznik, ale nie dzieli mianownika współczynnika dwumianowego
  
::<math>a! \cdot (a + 1) \cdot \ldots \cdot b = b!</math>
+
::<math>\binom{p}{k} = {\small\frac{p!}{k! \cdot (p - k)!}}</math>
  
:::::::<math>\;\;\; = p^{\beta_1}_1 \cdot \ldots \cdot p^{\beta_n}_n</math>
+
zatem <math>p \biggr\rvert \binom{p}{k}</math>. Co należało pokazać.<br/>
 +
&#9633;
 +
{{\Spoiler}}
  
:::::::<math>\;\;\; \leqslant p^{(b - 1) / (p_1 - 1)}_1 \cdot \ldots \cdot p^{(b - 1) / (p_n - 1)}_n</math>
 
  
:::::::<math>\;\;\; = (p^{1 / (p_1 - 1)}_1 \cdot \ldots \cdot p^{1 / (p_n - 1)}_n)^{b - 1}</math>
 
  
:::::::<math>\;\;\; = U^{b - 1}</math>
+
<span style="font-size: 110%; font-weight: bold;">Twierdzenie N44</span><br/>
 +
Jeżeli <math>p</math> jest liczbą pierwszą nieparzystą, to
  
:::::::<math>\;\;\; < (a \cdot e^{- r})^{b - 1}</math>
+
::<math>\binom{p + 1}{k} \equiv 0 \pmod{p}</math>
  
 +
dla każdego <math>k \in [2, p - 1]</math>.
  
Jednocześnie z&nbsp;twierdzenia D31 wiemy, że prawdziwa jest nierówność <math>b! > b^b e^{- b}</math>, zatem
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 +
Jeżeli <math>k \in [2, p - 1]</math>, to modulo <math>p</math> dostajemy
  
::<math>b^b e^{- b} < b! < \frac{(a \cdot e^{- r})^b}{a \cdot e^{-r}}</math>
+
::<math>\binom{p + 1}{k} = \binom{p}{k} + \binom{p}{k - 1} \equiv 0 \pmod{p}</math>
  
::<math>b e^{- 1} < \frac{a \cdot e^{- r}}{(a \cdot e^{- r})^{1 / b}}</math>
+
Bo liczba pierwsza <math>p</math> dzieli licznik, ale nie dzieli mianownika współczynników dwumianowych po prawej stronie. Co należało pokazać.<br/>
 +
&#9633;
 +
{{\Spoiler}}
  
::<math>b < \frac{a \cdot e^{1 - r}}{(a \cdot e^{- r})^{1 / b}}</math>
 
  
  
Ponieważ <math>e^{1 - r} = e^{\log (2)} = 2</math>, to
+
<span style="font-size: 110%; font-weight: bold;">Twierdzenie N45</span><br/>
 +
Jeżeli <math>p</math> jest liczbą pierwszą, to
  
::<math>b < \frac{2 a}{(a \cdot e^{- r})^{1 / b}} < 2 a</math>
+
::<math>\binom{p - 1}{k} \equiv (- 1)^k \pmod{p}</math>
  
 +
dla każdego <math>k \in [0, p - 1]</math>.
  
Z oszacowania <math>b < 2 a</math> wynika, że <math>(a \cdot e^{- r})^{1 / b} > (a \cdot e^{-r})^{1 / 2 a}</math>. Możemy teraz zapisać uzyskane wyżej oszacowanie w&nbsp;postaci, w&nbsp;której prawa strona nierówności nie zależy od <math>b</math>
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 +
Łatwo sprawdzamy, że twierdzenie jest prawdziwe dla liczby pierwszej parzystej <math>p = 2</math>. Załóżmy, że <math>p</math> jest liczbą pierwszą nieparzystą. Równie łatwo sprawdzamy, że twierdzenie jest prawdziwe dla <math>k = 0</math> i <math>k = 1</math>. Zauważmy, że dla <math>k \in [1, p - 1]</math> jest
  
::<math>b < \frac{2 a}{(a \cdot e^{- r})^{1 / b}} < \frac{2 a}{(a \cdot e^{- r})^{1 / 2 a}}</math>
+
::<math>\binom{p - 1}{k} = {\small\frac{(p - 1) !}{k! (p - 1 - k) !}} = {\small\frac{p - k}{k}} \cdot {\small\frac{(p - 1) !}{(k - 1) ! (p - k) !}} = {\small\frac{p - k}{k}} \cdot \binom{p - 1}{k - 1} = {\small\frac{p}{k}} \cdot \binom{p - 1}{k - 1} - \binom{p - 1}{k - 1}</math>
  
 +
Ponieważ współczynniki dwumianowe są liczbami całkowitymi, a&nbsp;liczba <math>k \in [2, p - 1]</math> nie dzieli liczby pierwszej nieparzystej <math>p</math>, to <math>k</math> musi dzielić liczbę <math>\binom{p - 1}{k - 1}</math>. Zatem dla <math>k \in [2, p - 1]</math> modulo <math>p</math> mamy
  
Ponieważ <math>e^{- r} = 0.735758 \ldots</math>, to <math>(a \cdot e^{- r})^{1 / 2 a} > (a / 2)^{1 / 2 a}</math>, co pozwala uprościć uzyskane oszacowanie
+
::<math>\binom{p - 1}{k} \equiv - \binom{p - 1}{k - 1}\pmod{p}</math>
  
::<math>b < \frac{2 a}{(a \cdot e^{- r})^{1 / 2 a}} < \frac{2 a}{(a / 2)^{1 / 2 a}}</math>
+
Skąd otrzymujemy
  
 +
::<math>\binom{p - 1}{k} \equiv (- 1)^1 \binom{p - 1}{k - 1} \equiv (- 1)^2 \binom{p - 1}{k - 2} \equiv \ldots \equiv (- 1)^{k - 2} \binom{p - 1}{2} \equiv (- 1)^{k - 1} \binom{p - 1}{1} \equiv (- 1)^k \pmod{p}</math>
  
Pokażemy, że dla <math>a > 303.05</math>
+
Co należało pokazać. Zobacz też zadanie H21.<br/>
 +
&#9633;
 +
{{\Spoiler}}
  
::<math>\frac{2 a}{(a / 2)^{1 / 2 a}} < 2 a - 5</math>
 
  
Istotnie
 
  
::<math>\frac{1}{(a / 2)^{1 / 2 a}} < 1 - \frac{5}{2 a}</math>
+
<span style="font-size: 110%; font-weight: bold;">Twierdzenie N46</span><br/>
 +
Dla współczynników dwumianowych prawdziwe są następujące wzory
  
::<math>\frac{a}{2} \cdot \left( 1 - \frac{5}{2 a} \right)^{2 a} > 1</math>
+
::<math>\underset{k \; \text{parzyste}}{\sum_{k = 0}^{n}} \binom{n}{k} = 2^{n - 1}</math>
  
::<math>\frac{a}{2} \cdot \left[ \left( 1 - \frac{5}{2 a} \right)^{\tfrac{2 a}{5}} \right]^5 > 1</math>
+
::<math>\underset{k \; \text{nieparzyste}}{\sum_{k = 1}^{n}} \binom{n}{k} = 2^{n - 1}</math>
  
Wyrażenie w&nbsp;nawiasie kwadratowym jest funkcją rosnącą i&nbsp;ograniczoną (zobacz twierdzenie C17) i&nbsp;dla <math>a \geqslant 32</math> przyjmuje wartości z&nbsp;przedziału <math>[0.353 \ldots, e^{- 1})</math>. Zatem dla odpowiednio dużego <math>a</math> powyższa nierówność z&nbsp;pewnością jest prawdziwa. Łatwo sprawdzamy, że dla <math>a = 304</math> jest
+
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Dowód|Hide=Ukryj dowód}}
 +
Ze wzoru dwumianowego
  
::<math>\frac{a}{2} \cdot \left( 1 - \frac{5}{2 a} \right)^{2 a} = 1.003213 \ldots</math>
+
::<math>(a + b)^n = \sum_{k = 0}^{n} \binom{n}{k} a^{n - k} b^k</math>
  
Wynika stąd, że wszystkie kolejne liczby naturalne <math>a + 1, a + 2, \ldots, b - 1, b</math> mogą być liczbami złożonymi co najwyżej do chwili, gdy <math>b < 2 a -
+
z łatwością otrzymujemy
5</math>, czyli <math>b \leqslant 2 a - 6</math>. Zatem w&nbsp;przedziale <math>(a, 2 a)</math> musi znajdować się przynajmniej jedna liczba pierwsza. Dla <math>a \leqslant 303</math> prawdziwość twierdzenia sprawdzamy bezpośrednio.<br/>
 
&#9633;
 
{{\Spoiler}}
 
  
 +
::<math>(1 + 1)^n = \sum_{k = 0}^{n} \binom{n}{k} = 2^n</math>
  
 +
::<math>(1 - 1)^n = \sum_{k = 0}^{n} (- 1)^k \binom{n}{k} = 0</math>
  
<span style="font-size: 110%; font-weight: bold;">Definicja D43</span><br/>
+
Obliczając sumę i&nbsp;różnicę powyższych wzorów mamy
Powiemy, że liczby pierwsze <math>p, q</math> są liczbami bliźniaczymi (tworzą parę liczb bliźniaczych), jeżeli <math>\left | p - q \right | = 2</math>
 
  
 +
::<math>\sum_{k = 0}^{n} \binom{n}{k} (1 + (- 1)^k) = 2 \underset{k \; \text{parzyste}}{\sum^n_{k = 0}} \binom{n}{k} = 2^n</math>
  
 +
::<math>\sum_{k = 0}^{n} \binom{n}{k} (1 - (- 1)^k) = 2 \underset{k \; \text{nieparzyste}}{\sum_{k = 1}^{n}} \binom{n}{k} = 2^n</math>
  
<span style="font-size: 110%; font-weight: bold;">Twierdzenie D44* (Viggo Brun, 1919)</span><br/>
+
Skąd natychmiast wynika
Suma odwrotności par liczb pierwszych <math>p</math> i <math>p + 2</math>, takich że liczba <math>p + 2</math> jest również pierwsza, jest skończona
 
  
::<math>\underset{p + 2 \in \mathbb{P}}{\sum_{p \geqslant 2}} \left( \frac{1}{p} + \frac{1}{p + 2} \right) = \left( \frac{1}{3} + \frac{1}{5}
+
::<math>\underset{k \; \text{parzyste}}{\sum_{k = 0}^{n}} \binom{n}{k} = 2^{n - 1}</math>
\right) + \left( \frac{1}{5} + \frac{1}{7} \right) + \left( \frac{1}{11} + \frac{1}{13} \right) + \left( \frac{1}{17} + \frac{1}{19} \right) + \ldots = B_2</math>
 
  
gdzie <math>B_2 = 1.90216058 \ldots</math> jest stałą Bruna<ref name="Wiki1"/><ref name="A065421"/>.
+
::<math>\underset{k \; \text{nieparzyste}}{\sum_{k = 1}^{n}} \binom{n}{k} = 2^{n - 1}</math>
  
 +
Co należało pokazać.<br/>
 +
&#9633;
 +
{{\Spoiler}}
  
  
<span style="font-size: 110%; font-weight: bold;">Zadanie D45</span><br/>
 
Pokazać, że istnieje nieskończenie wiele liczb pierwszych nie tworzących par liczb bliźniaczych.
 
  
{{Spoiler|Style = font-style: italic; font-weight: bold; color: olive; text-decoration: underline;|Show=Rozwiązanie|Hide=Ukryj rozwiązanie}}
 
Niech <math>p</math> i <math>q = p + 4</math> będą liczbami pierwszymi i <math>n \geqslant 1</math>. Ponieważ liczby <math>p q</math> i <math>p + 2</math> są względnie pierwsze, to z&nbsp;twierdzenia Dirichleta wiemy, że wśród liczb <math>a_n = p q n + (p + 2)</math> jest nieskończenie wiele liczb pierwszych, a&nbsp;jednocześnie żadna z&nbsp;liczb <math>a_n</math> nie tworzy pary liczb bliźniaczych, bo
 
  
::<math>a_n - 2 = p q n + p = p (q n + 1)</math>
 
  
::<math>a_n + 2 = p q n + (p + 4) = q (p n + 1)</math>
+
=== <span style="border-bottom:1px solid #000;">Funkcje <span style="font-size: 95%; background-color: #f8f9fa"><tt>digits(m, b)</tt></span> oraz <span style="font-size: 95%; background-color: #f8f9fa"><tt>issquare(m)</tt></span></span> ===
  
są liczbami złożonymi. Najprostsze przykłady to <math>a_n = 21 n + 5</math> i <math>b_n = 77 n + 9</math>
+
&nbsp;
  
Najłatwiej wszystkie przypadki takich ciągów wyszukać w&nbsp;programie PARI/GP. Polecenie
+
<span style="font-size: 110%; font-weight: bold;">Uwaga N47</span><br/>
 +
W funkcji <code>modLucas()</code> wykorzystaliśmy zaimplementowaną w&nbsp;PARI/GP funkcję
  
for(a=1,50, for(b=3,floor(a/2), g=gcd(a,b); g1=gcd(a,b-2); g2=gcd(a,b+2); if( g==1 && g1>1 && g2>1, print("a= ", a, "  b= ",b) )))
+
<code>digits(m, b)</code> – zwraca wektor cyfr liczby <math>| m |</math> w&nbsp;systemie liczbowym o&nbsp;podstawie <math>b</math>
  
wyszukuje wszystkie liczby dodatnie <math>a, b</math>, gdzie <math>b \leqslant \left\lfloor \frac{a}{2} \right\rfloor</math>, które tworzą ciągi <math>a k + b</math> o&nbsp;poszukiwanych właściwościach. Oczywiście ciągi <math>a k + (a - b)</math> również są odpowiednie. Przykładowo dla <math>a \leqslant 50</math> mamy
+
W naszym przypadku potrzebowaliśmy uzyskać wektor cyfr liczby <math>m</math> w&nbsp;układzie dwójkowym, czyli funkcję <code>digits(m, 2)</code> . Wprowadzenie tej funkcji pozwoliło zwiększyć czytelność kodu, ale bez trudu możemy ją sami napisać. Zauważmy, że do zapisania liczby <math>m \geqslant 1</math> potrzebujemy <math>\log_2 m + 1</math> cyfr. Zastępując funkcję <math>\log_2 m</math> funkcją <math>\left \lfloor \tfrac{\log m}{\log 2} \right \rfloor</math> musimy liczyć się z&nbsp;możliwym błędem zaokrąglenia – dlatego w&nbsp;programie deklarujemy wektor <code>V</code> o&nbsp;długości <code>floor( log(m)/log(2) ) + 2</code>. Zwracany wektor <code>W</code> ma już prawidłową długość.
  
::<math>15 k + 7, \quad 21 k + 5, \quad 30 k + 7, \quad 33 k + 13, \quad 35 k + 12, \quad 39 k + 11, \quad 42 k + 5, \quad 45 k + 7, \quad 45 k + 8, \quad 45 k + 22</math><br/>
+
<span style="font-size: 90%; color:black;">Dec2Bin(m) =
&#9633;
+
\\ zwraca wektor cyfr liczby m w układzie dwójkowym
{{\Spoiler}}
+
{
 +
'''local'''(i, k, V, W);
 +
'''if'''( m == 0, '''return'''([0]) );
 +
V = '''vector'''( '''floor'''( '''log'''(m)/'''log'''(2) ) + 2 ); \\ potrzeba floor( log(m)/log(2) ) + 1, ale błąd zaokrąglenia może zepsuć wynik
 +
k = 0;
 +
'''while'''( m > 0,
 +
        V[k++] = m % 2;
 +
        m = '''floor'''(m / 2);
 +
      );
 +
W = '''vector'''(k);
 +
'''for'''(i = 1, k, W[i] = V[k + 1 - i]);
 +
'''return'''(W);
 +
}
  
  
  
 +
<span style="font-size: 110%; font-weight: bold;">Uwaga N48</span><br/>
 +
W funkcjach <code>LucasTest()</code> i <code>StrongLucasTest()</code> wykorzystaliśmy zaimplementowaną w&nbsp;PARI/GP funkcję
  
 +
<code>issquare(m)</code> – sprawdza, czy liczba <math>m</math> jest liczbą kwadratową
  
 +
Wprowadzenie tej funkcji pozwoliło zwiększyć czytelność kodu, ale bez trudu możemy ją sami napisać. Potrzebna nam będzie funkcja, która znajduje całość z&nbsp;pierwiastka z&nbsp;liczby <math>m</math>, czyli <math>\left\lfloor \sqrt{m} \right\rfloor</math>. Wykorzystamy tutaj ciąg
  
 +
::<math>a_{k + 1} =
 +
  \begin{cases}
 +
  \qquad \;\; 1 & \text{gdy } k = 0 \\
 +
      \tfrac{1}{2} \left( a_k + \tfrac{x}{a_k} \right) & \text{gdy } k > 0 \\
 +
  \end{cases}</math>
  
 +
którego granicą jest <math>\sqrt{x}</math> <ref name="pierwiastek1"/>.
  
 +
Modyfikując powyższą definicję tak, aby operacje były zawsze wykonywane na liczbach całkowitych<ref name="IntegerSquareRoot1"/>
  
 +
::<math>a_{k + 1} =
 +
  \begin{cases}
 +
  \qquad \quad \; 1 & \text{gdy } k = 0 \\
 +
      \left\lfloor \tfrac{1}{2} \left( a_k + \left\lfloor \tfrac{m}{a_k} \right\rfloor \right) \right\rfloor & \text{gdy } k > 0 \\
 +
  \end{cases}</math>
  
 +
otrzymujemy ciąg, którego wszystkie wyrazy, począwszy od pewnego skończonego <math>n_0</math>, są równe <math>\left\lfloor \sqrt{m} \right\rfloor</math>. Nie dotyczy to przypadku, gdy <math>m + 1</math> jest liczbą kwadratową, wtedy, począwszy od pewnego skończonego <math>n_0</math>, wyrazy ciągu przyjmują na zmianę wartości <math>\left\lfloor \sqrt{m} \right\rfloor</math> oraz <math>\left\lfloor \sqrt{m} \right\rfloor + 1</math>.
  
 +
Na tej podstawie możemy w&nbsp;PARI/GP napisać funkcję
  
 +
<span style="font-size: 90%; color:black;">intSqrt(m) =
 +
{
 +
'''local'''(a, b);
 +
'''if'''( m == 0, '''return'''(0) );
 +
a = 2^( '''floor'''( '''log'''(m)/'''log'''(2)/2 ) + 2 ); \\ musi być a > sqrt(m)
 +
b = '''floor'''(( a + '''floor'''( m/a ) )/2);
 +
'''while'''( b < a,
 +
        a = b;
 +
        b = '''floor'''( ( a + '''floor'''(m/a) )/2 );
 +
      );
 +
'''return'''(a);
 +
}</span>
  
 +
Oczywiście liczba <math>m</math> jest liczbą kwadratową, wtedy i&nbsp;tylko wtedy, gdy <math>m = \left\lfloor \sqrt{m} \right\rfloor^2</math>, zatem wystarczy sprawdzić, czy <code>m == intSqrt(m)^2</code>.
  
  
  
  
== Przypisy ==
 
<references>
 
  
<ref name="DirichletEta">Wikipedia, ''Funkcja η'', ([https://pl.wikipedia.org/wiki/Funkcja_%CE%B7 Wiki-pl]), ([https://en.wikipedia.org/wiki/Dirichlet_eta_function Wiki-en])</ref>
 
  
<ref name="RiemannZeta">Wikipedia, ''Funkcja dzeta Riemanna'', ([https://pl.wikipedia.org/wiki/Funkcja_dzeta_Riemanna Wiki-pl]), ([https://en.wikipedia.org/wiki/Riemann_zeta_function Wiki-en])</ref>
 
  
<ref name="calkowalnosc1">Twierdzenie: funkcja ciągła w przedziale domkniętym jest całkowalna w tym przedziale.</ref>
 
  
<ref name="calkowalnosc2">W szczególności: funkcja ograniczona i mająca skończoną liczbę punktów nieciągłości w przedziale domkniętym jest w tym przedziale całkowalna.</ref>
 
  
<ref name="Mertens1">Wikipedia, ''Twierdzenia Mertensa'', ([https://pl.wikipedia.org/wiki/Twierdzenia_Mertensa Wiki-pl]), ([https://en.wikipedia.org/wiki/Mertens%27_theorems Wiki-en])</ref>
 
  
<ref name="Mertens2">Wikipedia, ''Franciszek Mertens'', ([https://pl.wikipedia.org/wiki/Franciszek_Mertens Wiki-pl])</ref>
 
  
<ref name="Rosser1">J. B. Rosser and L. Schoenfeld, ''Approximate formulas for some functions of prime numbers'', Illinois J. Math. 6 (1962), 64-94, ([https://projecteuclid.org/journals/illinois-journal-of-mathematics/volume-6/issue-1/Approximate-formulas-for-some-functions-of-prime-numbers/10.1215/ijm/1255631807.full LINK])</ref>
 
  
<ref name="twierdzenie">Zobacz twierdzenie D41.</ref>
 
  
<ref name="A001620">The On-Line Encyclopedia of Integer Sequences, ''A001620 - Decimal expansion of Euler's constant'', ([https://oeis.org/A001620 A001620])</ref>
 
  
<ref name="A083343">The On-Line Encyclopedia of Integer Sequences, ''A083343 - Decimal expansion of constant  B3 (or B_3) related to the Mertens constant'', ([https://oeis.org/A083343 A083343])</ref>
+
== Przypisy ==
  
<ref name="A138312">The On-Line Encyclopedia of Integer Sequences, ''A138312 - Decimal expansion of Mertens's constant minus Euler's constant'', ([https://oeis.org/A138312 A138312])</ref>
+
<references>
  
<ref name="Dusart1">P. Dusart, ''Estimates of Some Functions Over Primes without R.H.'', ([https://arxiv.org/abs/1002.0442 LINK])</ref>
+
<ref name="BaillieWagstaff1">Robert Baillie and Samuel S. Wagstaff Jr., ''Lucas Pseudoprimes'', Mathematics of Computation Vol. 35, No. 152 (1980), ([http://mpqs.free.fr/LucasPseudoprimes.pdf LINK])</ref>
  
<ref name="Wiki1">Wikipedia, ''Stałe Bruna'', ([https://pl.wikipedia.org/wiki/Sta%C5%82e_Bruna Wiki-pl]), ([https://en.wikipedia.org/wiki/Brun%27s_theorem Wiki-en])</ref>
+
<ref name="Arnault1">François Arnault, ''The Rabin-Monier Theorem for Lucas Pseudoprimes'', Mathematics of Computation Vol. 66, No. 218 (1997)</ref>
 
 
<ref name="A065421">The On-Line Encyclopedia of Integer Sequences, ''A065421 - Decimal expansion of Viggo Brun's constant B'', ([https://oeis.org/A065421 A065421])</ref>
 
 
 
</references>
 
  
 +
<ref name="pierwiastek1">Wikipedia, ''Pierwiastek kwadratowy'', ([https://pl.wikipedia.org/wiki/Metody_obliczania_pierwiastka_kwadratowego#Metoda_babilo%C5%84ska Wiki-pl]), ([https://en.wikipedia.org/wiki/Methods_of_computing_square_roots#Babylonian_method Wiki-en])</ref>
  
 +
<ref name="IntegerSquareRoot1">Wikipedia, ''Integer square root'', ([https://en.wikipedia.org/wiki/Integer_square_root#Using_only_integer_division Wiki-en])</ref>
  
 +
<ref name="BPSW1">Wikipedia, ''Baillie–PSW primality test'', ([https://en.wikipedia.org/wiki/Baillie%E2%80%93PSW_primality_test Wiki-en])</ref>
  
 +
<ref name="BPSW2">MathWorld, ''Baillie-PSW Primality Test'', ([https://mathworld.wolfram.com/Baillie-PSWPrimalityTest.html LINK])</ref>
  
 +
</references>
  
  

Wersja z 15:32, 23 lut 2024

11.01.2023



Ciągi Lucasa

Definicja N1
Niech [math]\displaystyle{ P, Q \in \mathbb{Z} \setminus \{0\} }[/math] oraz [math]\displaystyle{ D = P^2 - 4 Q \neq 0 }[/math]. Ciągi Lucasa [math]\displaystyle{ U_n = U_n (P, Q) }[/math] i [math]\displaystyle{ V_n = V_n (P, Q) }[/math] definiujemy następująco

[math]\displaystyle{ U_n = {\small\frac{\alpha^n - \beta^n}{\alpha - \beta}} = {\small\frac{\alpha^n - \beta^n}{\sqrt{D}}} }[/math]
[math]\displaystyle{ V_n = \alpha^n + \beta^n }[/math]

gdzie liczby

[math]\displaystyle{ \alpha = {\small\frac{P + \sqrt{D}}{2}} }[/math]
[math]\displaystyle{ \beta = {\small\frac{P - \sqrt{D}}{2}} }[/math]

są pierwiastkami równania [math]\displaystyle{ x^2 - P x + Q = 0 }[/math].


Uwaga N2
Zauważmy, że:

[math]\displaystyle{ P = \alpha + \beta }[/math]
[math]\displaystyle{ Q = \alpha \beta }[/math]
[math]\displaystyle{ \sqrt{D} = \alpha - \beta }[/math]
[math]\displaystyle{ U_0 = 0 }[/math], [math]\displaystyle{ U_1 = 1 }[/math], [math]\displaystyle{ V_0 = 2 }[/math] i [math]\displaystyle{ V_1 = P }[/math]


Warunek [math]\displaystyle{ P^2 - 4 Q \neq 0 }[/math] wyklucza następujące pary [math]\displaystyle{ (P, Q) }[/math]

[math]\displaystyle{ (0, 0), (\pm 2, 1), (\pm 4, 4), (\pm 6, 9), (\pm 8, 16), (\pm 10, 25), (\pm 12, 36), ..., (\pm 2 n, n^2), ... }[/math]


Uwaga N3
Oczywiście liczby [math]\displaystyle{ \alpha }[/math] i [math]\displaystyle{ \beta }[/math] są również pierwiastkami równania

[math]\displaystyle{ x^{n + 2} - P x^{n + 1} + Q x^n = 0 }[/math]

Wynika stąd, że ciągi [math]\displaystyle{ (\alpha^n) }[/math] i [math]\displaystyle{ (\beta^n) }[/math] spełniają równania rekurencyjne

[math]\displaystyle{ \alpha^{n + 2} = P \alpha^{n + 1} - Q \alpha^n }[/math]
[math]\displaystyle{ \beta^{n + 2} = P \beta^{n + 1} - Q \beta^n }[/math]

Ciągi Lucasa [math]\displaystyle{ (U_n) }[/math] i [math]\displaystyle{ (V_n) }[/math] spełniają identyczne równania rekurencyjne jak ciągi [math]\displaystyle{ (\alpha^n) }[/math] i [math]\displaystyle{ (\beta^n) }[/math]. Istotnie, odejmując i dodając stronami wypisane powyżej równania, otrzymujemy

[math]\displaystyle{ U_{n + 2} = P U_{n + 1} - Q U_n }[/math]
[math]\displaystyle{ V_{n + 2} = P V_{n + 1} - Q V_n }[/math]

Dlatego możemy zdefiniować ciągi Lucasa [math]\displaystyle{ (U_n) }[/math] i [math]\displaystyle{ (V_n) }[/math] w sposób równoważny


Definicja N4
Niech [math]\displaystyle{ P, Q \in \mathbb{Z} \setminus \{0\} }[/math] oraz [math]\displaystyle{ D = P^2 - 4 Q \neq 0 }[/math]. Ciągi Lucasa [math]\displaystyle{ (U_n) }[/math] i [math]\displaystyle{ (V_n) }[/math] określone są następującymi wzorami rekurencyjnymi

[math]\displaystyle{ U_0 = 0 }[/math], [math]\displaystyle{ U_1 = 1 }[/math], [math]\displaystyle{ U_n = P U_{n - 1} - Q U_{n - 2} }[/math]
[math]\displaystyle{ V_0 = 2 }[/math], [math]\displaystyle{ V_1 = P }[/math], [math]\displaystyle{ V_n = P V_{n - 1} - Q V_{n - 2} }[/math]


Przykład N5
Początkowe wyrazy ciągów Lucasa


Uwaga N6
W PARI/GP możemy napisać prosty kod, który pozwoli obliczyć wartości wyrazów [math]\displaystyle{ U_n (P, Q) }[/math] i [math]\displaystyle{ V_n (P, Q) }[/math]

LucasU(n, P, Q) = if( n == 0, 0, if( n == 1, 1, P*LucasU(n-1, P, Q) - Q*LucasU(n-2, P, Q) ) )
LucasV(n, P, Q) = if( n == 0, 2, if( n == 1, P, P*LucasV(n-1, P, Q) - Q*LucasV(n-2, P, Q) ) )


Twierdzenie N7
Niech [math]\displaystyle{ D = P^2 - 4 Q }[/math]. Wyrazy ciągów Lucasa można przedstawić w postaci sumy

[math]\displaystyle{ 2^{n - 1} U_n = \sum_{k = 0}^{\lfloor (n - 1) / 2 \rfloor} \binom{n}{2 k + 1} P^{n - 2 k - 1} D^k }[/math]
[math]\displaystyle{ 2^{n - 1} V_n = \sum_{k = 0}^{\lfloor n / 2 \rfloor} \binom{n}{2 k} P^{n - 2 k} D^k }[/math]
Dowód

Oznaczmy [math]\displaystyle{ \delta = \sqrt{D} }[/math], zatem [math]\displaystyle{ 2 \alpha = P + \delta }[/math] i [math]\displaystyle{ 2 \beta = P - \delta }[/math]. Ze wzoru dwumianowego, mamy

[math]\displaystyle{ 2^n \alpha^n = (P + \delta)^n = \sum_{j = 0}^{n} \binom{n}{j} P^{n - j} \delta^j }[/math]
[math]\displaystyle{ 2^n \beta^n = (P - \delta)^n = \sum_{j = 0}^{n} \binom{n}{j} P^{n - j} (- \delta)^j }[/math]

Obliczając sumę powyższych wzorów, otrzymujemy

[math]\displaystyle{ 2^n (\alpha^n + \beta^n) = \sum_{j = 0}^{n} \binom{n}{j} P^{n - j} (\delta^j + (- \delta)^j) }[/math]
[math]\displaystyle{ \quad \: = \sum_{k = 0}^{\lfloor n / 2 \rfloor} \binom{n}{2 k} P^{n - 2 k} \cdot 2 \delta^{2 k} }[/math]
[math]\displaystyle{ \quad \: = 2 \sum_{k = 0}^{\lfloor n / 2 \rfloor} \binom{n}{2 k} P^{n - 2 k} D^k }[/math]

gdzie [math]\displaystyle{ j = 2 k }[/math] i sumowanie przebiega od [math]\displaystyle{ k = 0 }[/math] do [math]\displaystyle{ k = \lfloor n / 2 \rfloor }[/math]

Zatem

[math]\displaystyle{ 2^{n - 1} V_n = \sum_{k = 0}^{\lfloor n / 2 \rfloor} \binom{n}{2 k} P^{n - 2 k} D^k }[/math]


Obliczając różnicę tych wzorów, mamy

[math]\displaystyle{ 2^n (\alpha^n - \beta^n) = \sum_{j = 0}^{n} \binom{n}{j} P^{n - j} (\delta^j - (- \delta)^j) }[/math]
[math]\displaystyle{ \quad \: = \sum_{k = 0}^{\lfloor (n - 1) / 2 \rfloor} \binom{n}{2 k + 1} P^{n - 2 k - 1} \cdot 2 \delta^{2 k + 1} }[/math]
[math]\displaystyle{ \quad \: = 2 \delta \sum_{k = 0}^{\lfloor (n - 1) / 2 \rfloor} \binom{n}{2 k + 1} P^{n - 2 k - 1} D^k }[/math]

gdzie [math]\displaystyle{ j = 2 k + 1 }[/math] i sumowanie przebiega od [math]\displaystyle{ k = 0 }[/math] do [math]\displaystyle{ k = \lfloor (n - 1) / 2 \rfloor }[/math]


Zatem

[math]\displaystyle{ 2^{n - 1} \cdot {\small\frac{\alpha^n - \beta^n}{\sqrt{D}}} = 2^{n - 1} U_n = \sum_{k = 0}^{\lfloor (n - 1) / 2 \rfloor} \binom{n}{2 k + 1} P^{n - 2 k - 1} D^k }[/math]

Co należało pokazać.


Uwaga N8
Korzystając z twierdzenia N7, możemy napisać proste funkcje do znajdowania postaci kolejnych wyrazów [math]\displaystyle{ U_n (P, Q) }[/math] i [math]\displaystyle{ V_n (P, Q) }[/math]

U(n) = 2^(1 - n)*sum(k=0, floor((n-1)/2), binomial(n, 2*k+1) * P^(n-2*k-1) * (P^2-4*Q)^k)
V(n) = 2^(1 - n)*sum(k=0, floor(n/2), binomial(n, 2*k) * P^(n-2*k) * (P^2-4*Q)^k)


Często możemy spotkać założenie [math]\displaystyle{ P \geqslant 1 }[/math]. Poniższe twierdzenie wyjaśnia, dlaczego tak jest.

Twierdzenie N9
Jeżeli [math]\displaystyle{ (U_n) }[/math] i [math]\displaystyle{ (V_n) }[/math] są ciągami Lucasa, to

[math]\displaystyle{ U_n (- P, Q) = (- 1)^{n - 1} U_n (P, Q) }[/math]
[math]\displaystyle{ V_n (- P, Q) = (- 1)^n V_n (P, Q) }[/math]
Dowód

Niech

[math]\displaystyle{ \alpha = \frac{P + \sqrt{D}}{2} \qquad \qquad \;\; \beta = \frac{P - \sqrt{D}}{2} }[/math]
[math]\displaystyle{ a = \frac{- P + \sqrt{D}}{2} \qquad \qquad b = \frac{- P - \sqrt{D}}{2} }[/math]

Liczby [math]\displaystyle{ \alpha, \beta }[/math] oraz [math]\displaystyle{ a, b }[/math] są odpowiednio pierwiastkami równań

[math]\displaystyle{ x^2 - P x + Q = 0 }[/math]
[math]\displaystyle{ x^2 + P x + Q = 0 }[/math]

Zatem definiują one ciągi Lucasa

[math]\displaystyle{ U_n (P, Q) = \frac{\alpha^n - \beta^n}{\alpha - \beta} \qquad \qquad \;\; V_n (P, Q) = \alpha^n + \beta^n }[/math]
[math]\displaystyle{ U_n (- P, Q) = \frac{a^n - b^n}{a - b} \qquad \qquad V_n (- P, Q) = a^n + b^n }[/math]

Zauważmy, że

[math]\displaystyle{ \alpha - \beta = a - b = \sqrt{D} }[/math]
[math]\displaystyle{ \frac{a}{\beta} = \frac{b}{\alpha} = - 1 }[/math]

Łatwo znajdujemy

[math]\displaystyle{ U_n (- P, Q) = \frac{a^n - b^n}{a - b} = \frac{(- \beta)^n - (- \alpha)^n}{\sqrt{D}} = (- 1)^n \cdot \frac{\beta^n - \alpha^n}{\alpha - \beta} = (- 1)^{n - 1} \cdot U_n (P, Q) }[/math]
[math]\displaystyle{ V_n (- P, Q) = a^n + b^n = (- \beta)^n + (- \alpha)^n = (- 1)^n \cdot (\alpha^n + \beta^n) = (- 1)^n \cdot V_n (P, Q) }[/math]

Co należało pokazać.


Zadanie N10
Pokazać, że jeżeli [math]\displaystyle{ P, Q \in \mathbb{Z} \setminus \{ 0 \} }[/math] i [math]\displaystyle{ D = P^2 - 4 Q \neq 0 }[/math], to

[math]\displaystyle{ U_n (2 P, 4 Q) = 2^{n - 1} U_n (P, Q) }[/math]
[math]\displaystyle{ V_n (2 P, 4 Q) = 2^n V_n (P, Q) }[/math]
Rozwiązanie

Niech

[math]\displaystyle{ \alpha = {\small\frac{P + \sqrt{D}}{2}} \qquad \qquad \;\; \beta = {\small\frac{P - \sqrt{D}}{2}} }[/math]
[math]\displaystyle{ a = P + \sqrt{D} \qquad \qquad \;\; b = P - \sqrt{D} }[/math]

Liczby [math]\displaystyle{ \alpha, \beta }[/math] oraz [math]\displaystyle{ a, b }[/math] są odpowiednio pierwiastkami równań

[math]\displaystyle{ x^2 - P x + Q = 0 }[/math]
[math]\displaystyle{ x^2 - 2 P x + 4 Q = 0 }[/math]

Zatem definiują one ciągi Lucasa

[math]\displaystyle{ U_n (P, Q) = {\small\frac{\alpha^n - \beta^n}{\alpha - \beta}} \qquad \qquad \;\;\; V_n (P, Q) = \alpha^n + \beta^n }[/math]
[math]\displaystyle{ U_n (2 P, 4 Q) = {\small\frac{a^n - b^n}{a - b}} \qquad \qquad V_n (2 P, 4 Q) = a^n + b^n }[/math]

Zauważmy, że

[math]\displaystyle{ \alpha - \beta = \sqrt{D} }[/math]
[math]\displaystyle{ a - b = 2 \sqrt{D} }[/math]
[math]\displaystyle{ {\small\frac{a}{\alpha}} = {\small\frac{b}{\beta}} = 2 }[/math]

Łatwo znajdujemy

[math]\displaystyle{ U_n (2 P, 4 Q) = {\small\frac{a^n - b^n}{a - b}} = {\small\frac{(2 \alpha)^n - (2 \beta)^n}{2 \sqrt{D}}} = 2^{n - 1} \cdot {\small\frac{\alpha^n - \beta^n}{\alpha - \beta}} = 2^{n - 1} U_n (P, Q) }[/math]
[math]\displaystyle{ V_n (2 P, 4 Q) = a^n + b^n = (2 \alpha)^n + (2 \beta)^n = 2^n (\alpha^n + \beta^n) = 2^n V_n (P, Q) }[/math]

Co należało pokazać.


Zadanie N11
Pokazać, że jeżeli [math]\displaystyle{ Q \in \mathbb{Z} \setminus \{ 0 \} }[/math] oraz [math]\displaystyle{ P = 4 Q - 1 }[/math], to

[math]\displaystyle{ U_{2 k} (P, P Q) = - (- P)^k U_{2 k} (1, Q) }[/math]
[math]\displaystyle{ U_{2 k + 1} (P, P Q) = (- P)^k V_{2 k + 1} (1, Q) }[/math]
[math]\displaystyle{ V_{2 k} (P, P Q) = (- P)^k V_{2 k} (1, Q) }[/math]
[math]\displaystyle{ V_{2 k + 1} (P, P Q) = - (- P)^{k + 1} U_{2 k + 1} (1, Q) }[/math]
Rozwiązanie

Niech

[math]\displaystyle{ \alpha = {\small\frac{1 + \sqrt{- P}}{2}} \qquad \qquad \beta = {\small\frac{1 - \sqrt{- P}}{2}} }[/math]
[math]\displaystyle{ a = {\small\frac{P + \sqrt{- P}}{2}} \qquad \qquad b = {\small\frac{P - \sqrt{- P}}{2}} }[/math]

Liczby [math]\displaystyle{ \alpha, \beta }[/math] oraz [math]\displaystyle{ a, b }[/math] są odpowiednio pierwiastkami równań

[math]\displaystyle{ x^2 - x + {\small\frac{P + 1}{4}} = 0 }[/math]
[math]\displaystyle{ x^2 - P x + {\small\frac{P (P + 1)}{4}} = 0 }[/math]

Z założenia [math]\displaystyle{ P = 4 Q - 1 }[/math], zatem

[math]\displaystyle{ x^2 - x + Q = 0 }[/math]
[math]\displaystyle{ x^2 - P x + P Q = 0 }[/math]

Czyli definiują one ciągi Lucasa

[math]\displaystyle{ U_n (1, Q) = {\small\frac{\alpha^n - \beta^n}{\alpha - \beta}} \qquad \qquad \:\:\: V_n (1, Q) = \alpha^n + \beta^n }[/math]
[math]\displaystyle{ U_n (P, P Q) = {\small\frac{a^n - b^n}{a - b}} \qquad \qquad V_n (P, P Q) = a^n + b^n }[/math]

Zauważmy, że

[math]\displaystyle{ \alpha - \beta = a - b = \sqrt{- P} }[/math]
[math]\displaystyle{ {\small\frac{a}{\beta}} = {\small\frac{P + \sqrt{- P}}{1 - \sqrt{- P}}} = \sqrt{- P} }[/math]
[math]\displaystyle{ {\small\frac{b}{\alpha}} = {\small\frac{P - \sqrt{- P}}{1 + \sqrt{- P}}} = - \sqrt{- P} }[/math]


Łatwo znajdujemy

[math]\displaystyle{ U_{2 k} (P, P Q) = \frac{a^{2 k} - b^{2 k}}{a - b} = \frac{\left( \beta \sqrt{- P} \right)^{2 k} - \left( - \alpha \sqrt{- P} \right)^{2 k}}{\sqrt{- P}} = \frac{(- P)^k (\beta^{2 k} - \alpha^{2 k})}{\alpha - \beta} = - (- P)^k U_{2 k} (1, Q) }[/math]


[math]\displaystyle{ U_{2 k + 1} (P, P Q) = \frac{a^{2 k + 1} - b^{2 k + 1}}{a - b} = \frac{\left( \beta \sqrt{- P} \right)^{2 k + 1} - \left( - \alpha \sqrt{- P} \right)^{2 k + 1}}{\sqrt{- P}} = (- P)^k (\beta^{2 k + 1} + \alpha^{2 k + 1}) = (- P)^k V_{2 k + 1} (1, Q) }[/math]


[math]\displaystyle{ V_{2 k} (P, P Q) = a^{2 k} + b^{2 k} = \left( \beta \sqrt{- P} \right)^{2 k} + \left( - \alpha \sqrt{- P} \right)^{2 k} = (- P)^k (\alpha^{2 k} + \beta^{2 k}) = (- P)^k V_{2 k} (1, Q) }[/math]


[math]\displaystyle{ V_{2 k + 1} (P, P Q) = a^{2 k + 1} + b^{2 k + 1} = \left( \beta \sqrt{- P} \right)^{2 k + 1} + \left( - \alpha \sqrt{- P} \right)^{2 k + 1} = (- P)^{k + 1} \cdot \frac{\beta^{2 k + 1} - \alpha^{2 k + 1}}{\sqrt{- P}} = - (- P)^{k + 1} U_{2 k + 1} (1, Q) }[/math]

Co należało pokazać.


Zadanie N12
Pokazać, że jeżeli [math]\displaystyle{ Q \in \mathbb{Z} \setminus \{ 0 \} }[/math] oraz [math]\displaystyle{ P = 4 Q + 1 }[/math], to

[math]\displaystyle{ U_{2 k} (P, P Q) = P^k U_{2 k} (1, - Q) }[/math]
[math]\displaystyle{ U_{2 k + 1} (P, P Q) = P^k V_{2 k + 1} (1, - Q) }[/math]
[math]\displaystyle{ V_{2 k} (P, P Q) = P^k V_{2 k} (1, - Q) }[/math]
[math]\displaystyle{ V_{2 k + 1} (P, P Q) = P^{k + 1} U_{2 k + 1} (1, - Q) }[/math]
Rozwiązanie

Niech

[math]\displaystyle{ \alpha = {\small\frac{1 + \sqrt{P}}{2}} \qquad \qquad \beta = {\small\frac{1 - \sqrt{P}}{2}} }[/math]
[math]\displaystyle{ a = {\small\frac{P + \sqrt{P}}{2}} \qquad \qquad b = {\small\frac{P - \sqrt{P}}{2}} }[/math]

Liczby [math]\displaystyle{ \alpha, \beta }[/math] oraz [math]\displaystyle{ a, b }[/math] są odpowiednio pierwiastkami równań

[math]\displaystyle{ x^2 - x - {\small\frac{P - 1}{4}} = 0 }[/math]
[math]\displaystyle{ x^2 - P x + {\small\frac{P (P - 1)}{4}} = 0 }[/math]

Z założenia [math]\displaystyle{ P = 4 Q + 1 }[/math], zatem

[math]\displaystyle{ x^2 - x - Q = 0 }[/math]
[math]\displaystyle{ x^2 - P x + P Q = 0 }[/math]

Czyli definiują one ciągi Lucasa

[math]\displaystyle{ U_n (1, - Q) = {\small\frac{\alpha^n - \beta^n}{\alpha - \beta}} \qquad \qquad V_n (1, - Q) = \alpha^n + \beta^n }[/math]
[math]\displaystyle{ U_n (P, P Q) = {\small\frac{a^n - b^n}{a - b}} \qquad \qquad V_n (P, P Q) = a^n + b^n }[/math]

Zauważmy, że

[math]\displaystyle{ \alpha - \beta = a - b = \sqrt{P} }[/math]
[math]\displaystyle{ {\small\frac{a}{\alpha}} = {\small\frac{P + \sqrt{P}}{1 + \sqrt{P}}} = \sqrt{P} }[/math]
[math]\displaystyle{ {\small\frac{b}{\beta}} = {\small\frac{P - \sqrt{P}}{1 - \sqrt{P}}} = - \sqrt{P} }[/math]


Łatwo znajdujemy

[math]\displaystyle{ U_{2 k} (P, P Q) = \frac{a^{2 k} - b^{2 k}}{a - b} = \frac{\left( \alpha \sqrt{P} \right)^{2 k} - \left( - \beta \sqrt{P} \right)^{2 k}}{\sqrt{P}} = \frac{P^k (\alpha^{2 k} - \beta^{2 k})}{\alpha - \beta} = P^k U_{2 k} (1, - Q) }[/math]


[math]\displaystyle{ U_{2 k + 1} (P, P Q) = \frac{a^{2 k + 1} - b^{2 k + 1}}{a - b} = \frac{\left( \alpha \sqrt{P} \right)^{2 k + 1} - \left( - \beta \sqrt{P} \right)^{2 k + 1}}{\sqrt{P}} = P^k (\alpha^{2 k + 1} + \beta^{2 k + 1}) = P^k V_{2 k + 1} (1, - Q) }[/math]


[math]\displaystyle{ V_{2 k} (P, P Q) = a^{2 k} + b^{2 k} = \left( \alpha \sqrt{P} \right)^{2 k} + \left( - \beta \sqrt{P} \right)^{2 k} = P^k (\alpha^{2 k} + \beta^{2 k}) = P^k V_{2 k} (1, - Q) }[/math]


[math]\displaystyle{ V_{2 k + 1} (P, P Q) = a^{2 k + 1} + b^{2 k + 1} = \left( \alpha \sqrt{P} \right)^{2 k + 1} + \left( - \beta \sqrt{P} \right)^{2 k + 1} = P^{k + 1} \cdot \frac{\alpha^{2 k + 1} - \beta^{2 k + 1}}{\sqrt{P}} = P^{k + 1} U_{2 k + 1} (1, - Q) }[/math]

Co należało pokazać.


Twierdzenie N13
Dla wyrazów ciągów Lucasa prawdziwe są wzory

Dowód

Wzory 1. - 7. najłatwiej udowodnić korzystając z definicji N1.

Wzór 1.

[math]\displaystyle{ U_{m + n} = {\small\frac{\alpha^{m + n} - \beta^{m + n}}{\alpha - \beta}} }[/math]
[math]\displaystyle{ \quad \: = {\small\frac{\alpha^m - \beta^m}{\alpha - \beta}} \cdot {\small\frac{\alpha^{n + 1} - \beta^{n + 1}}{\alpha - \beta}} - \alpha \beta \cdot {\small\frac{\alpha^{m - 1} - \beta^{m - 1}}{\alpha - \beta}} \cdot {\small\frac{\alpha^n - \beta^n}{\alpha - \beta}} }[/math]
[math]\displaystyle{ \quad \: = U_m U_{n + 1} - Q U_{m - 1} U_n }[/math]


Wzór 2.

[math]\displaystyle{ V_{m + n} = \alpha^{m + n} + \beta^{m + n} }[/math]
[math]\displaystyle{ \quad \;\! = (\alpha^m + \beta^m) (\alpha^n + \beta^n) - \alpha^n \beta^n \cdot (\alpha^{m - n} + \beta^{m - n}) }[/math]
[math]\displaystyle{ \quad \;\! = V_m V_n - Q^n V_{m - n} }[/math]


Wzór 3.

[math]\displaystyle{ U_{m + n} = {\small\frac{\alpha^{m + n} - \beta^{m + n}}{\alpha - \beta}} }[/math]
[math]\displaystyle{ \quad \: = {\small\frac{(\alpha^m - \beta^m) (\alpha^n + \beta^n)}{\alpha - \beta}} - {\small\frac{\alpha^n \beta^n \cdot (\alpha^{m - n} - \beta^{m - n})}{\alpha - \beta}} }[/math]
[math]\displaystyle{ \quad \: = U_m V_n - Q^n U_{m - n} }[/math]


Wzór 4.

[math]\displaystyle{ V_{m + n} = \alpha^{m + n} + \beta^{m + n} }[/math]
[math]\displaystyle{ \quad \;\! = (\alpha - \beta)^2 \cdot {\small\frac{\alpha^m - \beta^m}{\alpha - \beta}} \cdot {\small\frac{\alpha^n - \beta^n}{\alpha - \beta}} + \alpha^n \beta^n \cdot (\alpha^{m - n} + \beta^{m - n}) }[/math]
[math]\displaystyle{ \quad \;\! = D U_m U_n + Q^n V_{m - n} }[/math]


Wzór 5.

[math]\displaystyle{ U_m V_n - V_m U_n = {\small\frac{\alpha^m - \beta^m}{\alpha - \beta}} \cdot (\alpha^n + \beta^n) - (\alpha^m + \beta^m) \cdot {\small\frac{\alpha^n - \beta^n}{\alpha - \beta}} }[/math]
[math]\displaystyle{ \;\;\: = 2 \cdot \alpha^n \beta^n \cdot {\small\frac{\alpha^{m - n} - \beta^{m - n}}{\alpha - \beta}} }[/math]
[math]\displaystyle{ \;\;\: = 2 Q^n U_{m - n} }[/math]


Wzór 6.

[math]\displaystyle{ U^2_n = \left( {\small\frac{\alpha^n - \beta^n}{\alpha - \beta}} \right)^2 }[/math]
[math]\displaystyle{ \;\! = {\small\frac{\alpha^{n - 1} - \beta^{n - 1}}{\alpha - \beta}} \cdot {\small\frac{\alpha^{n + 1} - \beta^{n + 1}}{\alpha - \beta}} + \alpha^{n - 1} \beta^{n - 1} }[/math]
[math]\displaystyle{ \;\! = U_{n - 1} U_{n + 1} + Q^{n - 1} }[/math]


Wzór 7.

[math]\displaystyle{ V^2_n = (\alpha^n + \beta^n)^2 }[/math]
[math]\displaystyle{ \;\! = (\alpha^{n - 1} + \beta^{n - 1}) (\alpha^{n + 1} + \beta^{n + 1}) - (\alpha - \beta)^2 \cdot \alpha^{n - 1} \beta^{n - 1} }[/math]
[math]\displaystyle{ \;\! = V_{n - 1} V_{n + 1} - D Q^{n - 1} }[/math]


Wzory 8. - 18. można łatwo udowodnić, korzystając ze wzorów 1. - 7.

Wzór 8. Policzyć sumę wzoru 3. pomnożonego przez [math]\displaystyle{ 2 }[/math] i wzoru 5.

Wzór 9. Policzyć sumę wzorów 2. i 4.

Wzór 10. Połączyć wzory 2. i 4.

Wzór 11. We wzorze 3. położyć [math]\displaystyle{ m = n }[/math].

Wzór 12. We wzorze 2. położyć [math]\displaystyle{ m = n }[/math].

Wzór 13. We wzorze 4. położyć [math]\displaystyle{ m = n }[/math].

Wzór 14. We wzorze 10. położyć [math]\displaystyle{ m = n }[/math] lub połączyć wzory 12. i 13.

Wzór 15. We wzorze 9. położyć [math]\displaystyle{ m = 1 }[/math].

Wzór 16. We wzorze 8. położyć [math]\displaystyle{ m = 1 }[/math].

Wzór 17. We wzorze 15. położyć [math]\displaystyle{ V_{n + 1} = P V_n - Q V_{n - 1} }[/math].

Wzór 18. We wzorze 16. położyć [math]\displaystyle{ U_{n + 1} = P U_n - Q U_{n - 1} }[/math].


Wzory 19. - 21. to wzory, które wykorzystamy w przyszłości do szybkiego obliczania wartości wyrazów [math]\displaystyle{ U_n }[/math] i [math]\displaystyle{ V_n }[/math] modulo.

Wzór 19. Wystarczy połączyć wzory 11. oraz 16.

Wzór 20. Wystarczy we wzorze 1. położyć [math]\displaystyle{ m = n + 1 }[/math].

Wzór 21. Kładąc we wzorze 19. [math]\displaystyle{ n \rightarrow n + 1 }[/math], otrzymujemy

[math]\displaystyle{ U_{2 n + 2} = 2 U_{n + 1} U_{n + 2} - P U^2_{n + 1} \qquad (*) }[/math]

Kładąc we wzorze 1. [math]\displaystyle{ m = n + 2 }[/math], mamy

[math]\displaystyle{ U_{2 n + 2} = U_{n + 2} U_{n + 1} - Q U_{n + 1} U_n }[/math]

Czyli

[math]\displaystyle{ 2 U_{2 n + 2} = 2 U_{n + 1} U_{n + 2} - 2 Q U_n U_{n + 1} }[/math]

Odejmując od powyższego wzoru wzór [math]\displaystyle{ (*) }[/math], dostajemy wzór 21.

[math]\displaystyle{ U_{2 n + 2} = P U^2_{n + 1} - 2 Q U_n U_{n + 1} }[/math]

Co należało pokazać.



Obliczanie wyrazów ciągu Lucasa modulo [math]\displaystyle{ m }[/math]

Przykład N14
Pokażemy, jak wykorzystać podane w twierdzeniu N13 wzory 19, 20, 21 i 16

[math]\displaystyle{ U_{2 n} = 2 U_n U_{n + 1} - P U^2_n }[/math]
[math]\displaystyle{ U_{2 n + 1} = U^2_{n + 1} - Q U^2_n }[/math]
[math]\displaystyle{ U_{2 n + 2} = P U^2_{n + 1} - 2 Q U_n U_{n + 1} }[/math]
[math]\displaystyle{ V_n = 2 U_{n + 1} - P U_n }[/math]

do szybkiego obliczania wyrazów ciągu Lucasa modulo [math]\displaystyle{ m }[/math].


Niech [math]\displaystyle{ P = 3 }[/math], [math]\displaystyle{ Q = 1 }[/math], [math]\displaystyle{ D = P^2 - 4 Q = 5 }[/math], [math]\displaystyle{ n = 22 = (10110)_2 = \sum_{j = 0}^{4} a_j \cdot 2^j }[/math].

W tabeli przedstawione są kolejne kroki, jakie musimy wykonać, aby policzyć [math]\displaystyle{ U_n = U_{22} }[/math] modulo [math]\displaystyle{ m = 23 }[/math].

W kolumnie [math]\displaystyle{ a_j }[/math] wypisujemy kolejne cyfry liczby [math]\displaystyle{ n = 22 = (10110)_2 }[/math] zapisanej w układzie dwójkowym. Liczby w kolumnie [math]\displaystyle{ k_j }[/math] tworzymy, biorąc kolejne (od prawej do lewej) cyfry liczby [math]\displaystyle{ n }[/math] w zapisie dwójkowym. Postępując w ten sposób, w ostatnim wierszu mamy [math]\displaystyle{ k_j = n }[/math] i wyliczamy liczby [math]\displaystyle{ U_n }[/math] i [math]\displaystyle{ U_{n + 1} }[/math] modulo [math]\displaystyle{ m }[/math].

Dla uproszczenia zapisu i ułatwienia zrozumienia liczbę [math]\displaystyle{ k_j }[/math] oznaczymy jako [math]\displaystyle{ r }[/math], a [math]\displaystyle{ k_{j + 1} }[/math] jako [math]\displaystyle{ s }[/math]. Zauważmy, że

  • tabela jest zbudowana tak, że musimy znaleźć wyrazy ciągu Lucasa o indeksie [math]\displaystyle{ r = k_j }[/math] oraz o indeksie o jeden większym: [math]\displaystyle{ r + 1 = k_j + 1 }[/math]
  • przejście do następnego wiersza (w dół) oznacza, że musimy znaleźć wyrazy o indeksie [math]\displaystyle{ s = k_{j + 1} }[/math] oraz o indeksie o jeden większym: [math]\displaystyle{ s + 1 }[/math]
  • przechodząc do następnego wiersza, dotychczasowa liczba [math]\displaystyle{ r = k_j }[/math] powiększa się o kolejną cyfrę ( [math]\displaystyle{ 0 }[/math] lub [math]\displaystyle{ 1 }[/math] ), którą dopisujemy z prawej strony
  • dodanie na końcu liczby [math]\displaystyle{ r = k_j }[/math] zera podwaja liczbę [math]\displaystyle{ r }[/math], czyli [math]\displaystyle{ s = k_{j + 1} = 2 r }[/math] oraz [math]\displaystyle{ s + 1 = 2 r + 1 }[/math]
  • dodanie na końcu liczby [math]\displaystyle{ r = k_j }[/math] jedynki podwaja liczbę [math]\displaystyle{ r }[/math] i zwiększą ją o jeden, czyli [math]\displaystyle{ s = k_{j + 1} = 2 r + 1 }[/math] oraz [math]\displaystyle{ s + 1 = 2 r + 2 }[/math]


Dlatego, jeżeli kolejną dodaną cyfrą jest zero, to korzystamy ze wzorów

[math]\displaystyle{ U_s = U_{2 r} = 2 U_r U_{r + 1} - P U^2_r }[/math]
[math]\displaystyle{ U_{s + 1} = U_{2 r + 1} = U^2_{r + 1} - Q U^2_r }[/math]

Gdy kolejną dodaną cyfrą jest jeden, to stosujemy wzory

[math]\displaystyle{ U_s = U_{2 r + 1} = U^2_{r + 1} - Q U^2_r }[/math]
[math]\displaystyle{ U_{s + 1} = U_{2 r + 2} = P U^2_{r + 1} - 2 Q U_r U_{r + 1} }[/math]


Korzystając ze wzoru [math]\displaystyle{ V_n = 2 U_{n + 1} - P U_n }[/math], mamy

[math]\displaystyle{ V_{22} = 2 U_{23} - 3 U_{22} \equiv 44 - 60 \equiv - 16 \equiv 7 \pmod{23} }[/math]

Ostatecznie otrzymujemy

[math]\displaystyle{ U_{22} \equiv 20 \pmod{23} \quad }[/math] oraz [math]\displaystyle{ \quad V_{22} \equiv 7 \pmod{23} }[/math]


Uwaga N15
Uogólniając postępowanie przedstawione w przykładzie N14, możemy napisać program w PARI/GP do szybkiego obliczania wyrazów ciągu Lucasa [math]\displaystyle{ U_n (P, Q) }[/math] i [math]\displaystyle{ V_n (P, Q) }[/math] modulo [math]\displaystyle{ m }[/math].

modLucas(n, P, Q, m) =
{
local(A,  i,  s,  U,  U2,  V,  W,  W2);
if( m == 1, return([0, 0]) );
if( n == 0, return([0, 2 % m]) );
A = digits(n, 2); \\ otrzymujemy wektor cyfr liczby n w układzie dwójkowym
s = length(A); \\ długość wektora A
U = 1;
W = P;
i = 1;
while( i++ <= s,
       if( A[i] == 0,  U2 = 2*U*W - P*U^2;  W2 = W^2 - Q*U^2 );
       if( A[i] == 1,  U2 = W^2 - Q*U^2;  W2 = P*W^2 - 2*Q*U*W );
       U = U2 % m;
       W = W2 % m;
     );
V = (2*W - P*U) % m;
return([U, V]);
}



Podzielność wyrazów [math]\displaystyle{ U_n (P, Q) }[/math] przez liczbę pierwszą nieparzystą

Uwaga N16
Niech [math]\displaystyle{ p }[/math] będzie liczbą pierwszą nieparzystą. W przypadku, gdy [math]\displaystyle{ p \nmid P Q }[/math] nie możemy nic powiedzieć o podzielności wyrazów [math]\displaystyle{ U_n }[/math] przez [math]\displaystyle{ p }[/math]. Przykładowo, jeżeli [math]\displaystyle{ P \equiv 1 \pmod{p} \; }[/math] [math]\displaystyle{ \text{i} \;\; Q \equiv 1 \pmod{p} }[/math], to modulo [math]\displaystyle{ p }[/math], mamy

[math]\displaystyle{ (U_n) \equiv (0, 1, 1, 0, - 1, - 1, 0, 1, 1, 0, - 1, - 1, 0, 1, 1, 0, - 1, - 1, 0, 1, 1, 0, - 1, - 1, \ldots) }[/math]

W przypadku, gdy [math]\displaystyle{ P \equiv 2 \pmod{p} \; }[/math] [math]\displaystyle{ \text{i} \;\; Q \equiv 1 \pmod{p} }[/math], to modulo [math]\displaystyle{ p }[/math] mamy

[math]\displaystyle{ (U_n) \equiv (0, 1, 2, \ldots, p - 1, 0, 1, 2, \ldots, p - 1, 0, 1, 2, \ldots, p - 1, \ldots) }[/math]

Sytuacja wygląda inaczej, gdy [math]\displaystyle{ p \mid P Q }[/math].


Twierdzenie N17
Niech [math]\displaystyle{ p }[/math] będzie liczbą pierwszą nieparzystą.

●    jeżeli [math]\displaystyle{ \; p \mid P \; }[/math] [math]\displaystyle{ \text{i} \;\; p \mid Q , \; }[/math] to [math]\displaystyle{ \; p \mid U_n \; }[/math] dla [math]\displaystyle{ n \geqslant 2 }[/math]
●    jeżeli [math]\displaystyle{ \; p \mid P \; }[/math] [math]\displaystyle{ \text{i} \;\; p \nmid Q , \; }[/math] to [math]\displaystyle{ \; p \mid U_{2 n} \; }[/math] i [math]\displaystyle{ \; p \nmid U_{2 n + 1} }[/math]
●    jeżeli [math]\displaystyle{ \; p \nmid P \; }[/math] [math]\displaystyle{ \text{i} \;\; p \mid Q , \; }[/math] to [math]\displaystyle{ \; p \nmid U_n \; }[/math] dla [math]\displaystyle{ n \geqslant 1 }[/math]
●    jeżeli [math]\displaystyle{ \; p \mid Q , \; }[/math] to [math]\displaystyle{ \; p \mid U_n }[/math], gdzie [math]\displaystyle{ n \geqslant 2 }[/math], wtedy i tylko wtedy, gdy [math]\displaystyle{ \; p \mid P }[/math]
●    jeżeli [math]\displaystyle{ \; p \nmid P \; }[/math] [math]\displaystyle{ \text{i} \;\; p \mid D , \; }[/math] to [math]\displaystyle{ \; p \mid U_n \; }[/math] wtedy i tylko wtedy, gdy [math]\displaystyle{ p \mid n }[/math]

Założenie, że [math]\displaystyle{ p \nmid P }[/math] w ostatnim punkcie jest istotne. Gdy [math]\displaystyle{ \; p \mid P \; }[/math] i [math]\displaystyle{ \; p \mid D , \; }[/math] to [math]\displaystyle{ \; p \mid Q \; }[/math] i otrzymujemy punkt pierwszy.

Dowód

Punkt 1.

Ponieważ [math]\displaystyle{ U_2 = P }[/math], zatem [math]\displaystyle{ p \mid U_2 }[/math]. Dla [math]\displaystyle{ n \geqslant 3 }[/math] wyrażenie [math]\displaystyle{ U_n = P U_{n - 1} - Q U_{n - 2} }[/math] jest podzielne przez [math]\displaystyle{ p }[/math].

Punkt 2.

Indeksy parzyste. Indukcja matematyczna. Mamy [math]\displaystyle{ U_0 = 0 }[/math] i [math]\displaystyle{ U_2 = P }[/math], zatem [math]\displaystyle{ p \mid U_0 }[/math] i [math]\displaystyle{ p \mid U_2 }[/math]. Zakładając, że [math]\displaystyle{ p \mid U_{2 n} }[/math], z definicji ciągu [math]\displaystyle{ (U_k) }[/math], otrzymujemy dla [math]\displaystyle{ U_{2 n + 2} }[/math]

[math]\displaystyle{ U_{2 n + 2} = P U_{2 n - 1} - Q U_{2 n} }[/math]

Z założenia indukcyjnego wynika, że [math]\displaystyle{ p \mid U_{2 n + 2} }[/math], zatem na mocy zasady indukcji matematycznej twierdzenie jest prawdziwe dla wszystkich [math]\displaystyle{ n \geqslant 0 }[/math].

Indeksy nieparzyste. Indukcja matematyczna. Mamy [math]\displaystyle{ U_1 = 1 }[/math] i [math]\displaystyle{ U_3 = P^2 - Q }[/math], zatem [math]\displaystyle{ p \nmid U_1 }[/math] i [math]\displaystyle{ p \nmid U_3 }[/math]. Zakładając, że [math]\displaystyle{ p \nmid U_{2 n - 1} }[/math], z definicji ciągu [math]\displaystyle{ (U_k) }[/math], otrzymujemy dla [math]\displaystyle{ U_{2 n + 1} }[/math]

[math]\displaystyle{ U_{2 n + 1} = P U_{2 n} - Q U_{2 n - 1} }[/math]

Z założenia indukcyjnego wynika, że [math]\displaystyle{ p \nmid U_{2 n + 1} }[/math], zatem na mocy zasady indukcji matematycznej twierdzenie jest prawdziwe dla wszystkich [math]\displaystyle{ n \geqslant 1 }[/math].

Punkt 3.

Indukcja matematyczna. Mamy [math]\displaystyle{ U_1 = 1 }[/math] i [math]\displaystyle{ U_2 = P }[/math], zatem [math]\displaystyle{ p \nmid U_1 }[/math] i [math]\displaystyle{ p \nmid U_2 }[/math]. Zakładając, że [math]\displaystyle{ p \nmid U_n }[/math] zachodzi dla wszystkich liczb całkowitych dodatnich nie większych od [math]\displaystyle{ n }[/math], z definicji ciągu [math]\displaystyle{ (U_n) }[/math] otrzymujemy dla [math]\displaystyle{ n + 1 }[/math]

[math]\displaystyle{ U_{n + 1} = P U_n - Q U_{n - 1} }[/math]

Z założenia indukcyjnego wynika, że [math]\displaystyle{ p \nmid U_{n + 1} }[/math], zatem na mocy zasady indukcji matematycznej twierdzenie jest prawdziwe dla wszystkich liczb [math]\displaystyle{ n \geqslant 1 }[/math].

Punkt 4.

Wynika z punktów pierwszego i trzeciego.

Punkt 5.

Z twierdzenia N7 wiemy, że

[math]\displaystyle{ 2^{n - 1} U_n = \sum_{k = 0}^{\lfloor (n - 1) / 2 \rfloor} \binom{n}{2 k + 1} P^{n - 2 k - 1} D^k }[/math]
[math]\displaystyle{ \;\; = n P^{n - 1} + \binom{n}{3} P^{n - 3} D + \binom{n}{5} P^{n - 5} D^2 + \ldots + \begin{cases} n P D^{(n - 2) / 2} & \text{gdy }n\text{ jest parzyste} \\ D^{(n - 1) / 2} & \text{gdy }n\text{ jest nieparzyste} \\ \end{cases} }[/math]

Z założenia [math]\displaystyle{ p \mid D }[/math], zatem modulo [math]\displaystyle{ p }[/math] dostajemy

[math]\displaystyle{ 2^{n - 1} U_n \equiv n P^{n - 1} \pmod{p} }[/math]

Ponieważ [math]\displaystyle{ p \nmid P }[/math], zatem [math]\displaystyle{ p \mid U_n }[/math] wtedy i tylko wtedy, gdy [math]\displaystyle{ p \mid n }[/math]. Co należało pokazać.


Twierdzenie N18
Jeżeli [math]\displaystyle{ d }[/math] jest nieparzystym dzielnikiem [math]\displaystyle{ Q }[/math], to dla [math]\displaystyle{ n \geqslant 2 }[/math] jest

[math]\displaystyle{ U_n \equiv P^{n - 1} \pmod{d} }[/math]

W szczególności, gdy liczba pierwsza nieparzysta [math]\displaystyle{ p }[/math] jest dzielnikiem [math]\displaystyle{ Q }[/math] i [math]\displaystyle{ p \nmid P }[/math], to

[math]\displaystyle{ U_p \equiv 1 \pmod{p} }[/math]
Dowód

Oznaczmy [math]\displaystyle{ \delta = \sqrt{D} }[/math], zatem [math]\displaystyle{ 2 \alpha = P + \delta }[/math] i [math]\displaystyle{ 2 \beta = P - \delta }[/math]. Ze wzoru dwumianowego, mamy

[math]\displaystyle{ 2^n \alpha^n = (P + \delta)^n = \sum_{j = 0}^{n} \binom{n}{j} P^{n - j} \delta^j }[/math]
[math]\displaystyle{ 2^n \beta^n = (P - \delta)^n = \sum_{j = 0}^{n} \binom{n}{j} P^{n - j} (- \delta)^j }[/math]


Obliczając różnicę wyjściowych wzorów, mamy

[math]\displaystyle{ 2^n (\alpha^n - \beta^n) = \sum_{j = 0}^{n} \binom{n}{j} P^{n - j} (\delta^j - (- \delta)^j) = }[/math]
[math]\displaystyle{ \quad \: = \underset{j \; \text{nieparzyste}}{\sum_{j = 1}^{n}} \binom{n}{j} P^{n - j} \cdot 2 \delta^j }[/math]
[math]\displaystyle{ \quad \: = 2 \underset{j \; \text{nieparzyste}}{\sum_{j = 1}^{n}} \binom{n}{j} P^{n - j} \cdot \delta \cdot D^{(j - 1) / 2} }[/math]

Rozpatrując powyższą równość modulo [math]\displaystyle{ Q }[/math] dostajemy (zobacz N43)

[math]\displaystyle{ 2^{n - 1} \cdot {\small\frac{\alpha^n - \beta^n}{\delta}} = 2^{n - 1} U_n \equiv \underset{j \; \text{nieparzyste}}{\sum_{j = 1}^{n}} \binom{n}{j} P^{n - j} \cdot P^{j - 1} }[/math]
[math]\displaystyle{ \;\:\: \equiv P^{n - 1} \underset{j \; \text{nieparzyste}}{\sum_{j = 1}^{n}} \binom{n}{j} }[/math]
[math]\displaystyle{ \;\:\: \equiv 2^{n - 1} P^{n - 1} }[/math]

Czyli

[math]\displaystyle{ 2^{n - 1} (U_n - P^{n - 1}) \equiv 0 \pmod{Q} }[/math]

Ponieważ [math]\displaystyle{ Q }[/math] dzieli [math]\displaystyle{ 2^{n - 1} (U_n - P^{n - 1}) }[/math], to tym bardziej [math]\displaystyle{ d }[/math] dzieli [math]\displaystyle{ 2^{n - 1} (U_n - P^{n - 1}) }[/math]. Z założenia [math]\displaystyle{ \gcd (d, 2^{n - 1}) = 1 }[/math], zatem [math]\displaystyle{ d }[/math] dzieli [math]\displaystyle{ U_n - P^{n - 1} }[/math] (zobacz C74).

W przypadku szczególnym, gdy [math]\displaystyle{ d = p }[/math], gdzie [math]\displaystyle{ p }[/math] jest nieparzystą liczbą pierwszą i [math]\displaystyle{ p \nmid P }[/math], z twierdzenia Fermata otrzymujemy natychmiast

[math]\displaystyle{ U_p \equiv P^{p - 1} \equiv 1 \pmod{p} }[/math]

Co należało pokazać.


Twierdzenie N19
Niech [math]\displaystyle{ D = P^2 - 4 Q }[/math], a [math]\displaystyle{ (D \mid p) }[/math] oznacza symbol Legendre'a, gdzie [math]\displaystyle{ p }[/math] jest liczbą pierwszą nieparzystą i [math]\displaystyle{ p \nmid Q }[/math]. Mamy

●    [math]\displaystyle{ U_p \equiv (D \mid p) \pmod{p} }[/math]
●    jeżeli [math]\displaystyle{ (D \mid p) = - 1 , \; }[/math] to [math]\displaystyle{ \; p \mid U_{p + 1} }[/math]
●    jeżeli [math]\displaystyle{ (D \mid p) = 1 , \; }[/math] to [math]\displaystyle{ \; p \mid U_{p - 1} }[/math]
Dowód

Punkt 1.

Zauważmy, że przypadek gdy [math]\displaystyle{ p \mid Q }[/math], omówiliśmy w twierdzeniu poprzednim. Z założenia [math]\displaystyle{ p }[/math] jest liczbą pierwszą nieparzystą. Z twierdzenia N7, w przypadku nieparzystego [math]\displaystyle{ n = p }[/math], otrzymujemy

[math]\displaystyle{ 2^{p - 1} U_p = p P^{p - 1} + \binom{p}{3} P^{p - 3} D + \binom{p}{5} P^{p - 5} D^2 + \ldots + \binom{p}{p-2} P^2 D^{(p - 3) / 2} + D^{(p - 1) / 2} }[/math]

Ponieważ dla każdego [math]\displaystyle{ k \in [1, p - 1] }[/math] (zobacz N43)

[math]\displaystyle{ \binom{p}{k} \equiv 0 \pmod{p} }[/math]

to modulo [math]\displaystyle{ p }[/math] dostajemy (zobacz J32)

[math]\displaystyle{ 2^{p - 1} U_p \equiv U_p \equiv D^{(p - 1) / 2} \equiv (D \mid p) \pmod{p} }[/math]

Punkt 2.

Zauważmy, że warunek [math]\displaystyle{ (D \mid p) = - 1 }[/math] nie może być spełniony, gdy [math]\displaystyle{ p \mid Q }[/math]. Istotnie, gdy [math]\displaystyle{ p \mid Q }[/math], to [math]\displaystyle{ D = P^2 - 4 Q \equiv P^2 \pmod{p} }[/math], czyli

[math]\displaystyle{ (D \mid p) = (P^2 \mid p) = (P \mid p)^2 = 0 , \; }[/math] gdy [math]\displaystyle{ p \mid P }[/math]

lub

[math]\displaystyle{ (D \mid p) = (P^2 \mid p) = (P \mid p)^2 = 1 , \; }[/math] gdy [math]\displaystyle{ p \nmid P }[/math]

i nie może być [math]\displaystyle{ (D \mid p) = - 1 }[/math].

Dla parzystego [math]\displaystyle{ n = p + 1 }[/math] otrzymujemy z twierdzenia N7

[math]\displaystyle{ 2^p U_{p + 1} = (p + 1) P^p + \binom{p + 1}{3} P^{p - 2} D + \binom{p + 1}{5} P^{p - 4} D^2 + \ldots + \binom{p + 1}{p - 2} P^3 D^{(p - 3) / 2} + (p + 1) P D^{(p - 1) / 2} }[/math]

Ponieważ dla [math]\displaystyle{ k \in [2, p - 1] }[/math] (zobacz N44)

[math]\displaystyle{ \binom{p + 1}{k} \equiv 0 \pmod{p} }[/math]

to modulo [math]\displaystyle{ p }[/math] dostajemy

[math]\displaystyle{ 2 U_{p + 1} \equiv P + P D^{(p - 1) / 2} \pmod{p} }[/math]


Z założenia [math]\displaystyle{ D }[/math] jest liczbą niekwadratową modulo [math]\displaystyle{ p }[/math], zatem [math]\displaystyle{ D^{(p - 1) / 2} \equiv - 1 \pmod{p} }[/math] (zobacz J30). Skąd wynika natychmiast, że

[math]\displaystyle{ 2 U_{p + 1} \equiv 0 \pmod{p} }[/math]

Czyli [math]\displaystyle{ p \mid U_{p + 1} }[/math].

Punkt 3.

Dla parzystego [math]\displaystyle{ n = p - 1 }[/math] otrzymujemy z twierdzenia N7

[math]\displaystyle{ 2^{p - 2} U_{p - 1} = (p - 1) P^{p - 2} + \binom{p - 1}{3} P^{p - 4} D + \binom{p - 1}{5} P^{p - 6} D^2 + \ldots + \binom{p - 1}{p - 4} P^3 D^{(p - 5) / 2} + (p - 1) P D^{(p - 3) / 2} }[/math]

Ponieważ dla [math]\displaystyle{ k \in [0, p - 1] }[/math] (zobacz N45)

[math]\displaystyle{ \binom{p - 1}{k} \equiv (- 1)^k \pmod{p} }[/math]

to modulo [math]\displaystyle{ p }[/math] mamy

[math]\displaystyle{ 2^{p - 2} U_{p - 1} \equiv - (P^{p - 2} + P^{p - 4} D + P^{p - 6} D^2 + \ldots + P D^{(p - 3) / 2}) \pmod{p} }[/math]
[math]\displaystyle{ \quad \,\, \equiv - P (P^{p - 3} + P^{p - 5} D + P^{p - 7} D^2 + \ldots + D^{(p - 3) / 2}) \pmod{p} }[/math]


Z założenia [math]\displaystyle{ D }[/math] jest liczbą kwadratową modulo [math]\displaystyle{ p }[/math] (zobacz J28), zatem istnieje taka liczba [math]\displaystyle{ R }[/math], że

[math]\displaystyle{ D \equiv R^2 \pmod{p} }[/math]

Ponieważ

  • [math]\displaystyle{ (D \mid p) = 1 }[/math], to [math]\displaystyle{ p \nmid D }[/math], zatem [math]\displaystyle{ p \nmid R }[/math]
  • z założenia [math]\displaystyle{ p \nmid Q }[/math], to [math]\displaystyle{ P^2 - R^2 \equiv P^2 - D \equiv 4 Q \not\equiv 0 \pmod{p} }[/math]


Czyli

[math]\displaystyle{ 2^{p - 2} U_{p - 1} \equiv - P (P^{p - 3} + P^{p - 5} R^2 + P^{p - 7} R^4 + \ldots + R^{p - 3}) \pmod{p} }[/math]


Uwzględniając, że [math]\displaystyle{ P^2 - R^2 \not\equiv 0 \pmod{p} }[/math], możemy napisać

[math]\displaystyle{ 2^{p - 2} (P^2 - R^2) U_{p - 1} \equiv - P (P^2 - R^2) (P^{p - 3} + P^{p - 5} R^2 + P^{p - 7} R^4 + \ldots + R^{p - 3}) \pmod{p} }[/math]
[math]\displaystyle{ \equiv - P (P^{p - 1} - R^{p - 1}) \pmod{p} }[/math]
[math]\displaystyle{ \equiv 0 \pmod{p} }[/math]

Zauważmy, że wynik nie zależy od tego, czy [math]\displaystyle{ p \mid P }[/math], czy [math]\displaystyle{ p \nmid P }[/math]. Skąd wynika

[math]\displaystyle{ U_{p - 1} \equiv 0 \pmod{p} }[/math]

Co należało pokazać.


Aby zapisać punkty 2. i 3. twierdzenia N19 (i tylko te punkty) w zwartej formie, musimy założyć, że [math]\displaystyle{ \gcd (p, D) = 1 }[/math]. Otrzymujemy
Twierdzenie N20
Jeżeli [math]\displaystyle{ p }[/math] jest liczbą pierwszą nieparzystą i [math]\displaystyle{ \gcd (p, Q D) = 1 }[/math], to

[math]\displaystyle{ U_{p - (D \mid p)} \equiv 0 \pmod{p} }[/math]



Liczby pseudopierwsze Lucasa

Uwaga N21
Z twierdzenia N20 wiemy, że liczby pierwsze nieparzyste [math]\displaystyle{ p }[/math] takie, że [math]\displaystyle{ p \nmid Q D }[/math] są dzielnikami wyrazów ciągu Lucasa [math]\displaystyle{ U_{p - (D \mid p)} }[/math], gdzie [math]\displaystyle{ (D \mid p) }[/math] oznacza symbol Legendre'a. Jeśli zastąpimy symbol Legendre'a symbolem Jacobiego, to będziemy mogli badać prawdziwość tego twierdzenia dla liczb złożonych i łatwo przekonamy się, że dla pewnych liczb złożonych [math]\displaystyle{ m }[/math] kongruencja

[math]\displaystyle{ U_{m - (D \mid m)} \equiv 0 \pmod{m} }[/math]

również jest prawdziwa. Prowadzi to definicji liczb pseudopierwszych Lucasa.


Definicja N22
Powiemy, że liczba złożona nieparzysta [math]\displaystyle{ m }[/math] jest liczbą pseudopierwszą Lucasa dla parametrów [math]\displaystyle{ P }[/math] i [math]\displaystyle{ Q }[/math] (symbolicznie: LPSP( [math]\displaystyle{ P, Q }[/math] )), jeżeli [math]\displaystyle{ \gcd (m, Q D) = 1 }[/math] i

[math]\displaystyle{ U_{m - (D \mid m)} \equiv 0 \pmod{m} }[/math]

gdzie [math]\displaystyle{ (D \mid m) }[/math] oznacza symbol Jacobiego.


Twierdzenie N23
Jeżeli liczba złożona nieparzysta [math]\displaystyle{ m }[/math] jest liczbą pseudopierwszą Lucasa dla parametrów [math]\displaystyle{ P = a + 1 }[/math] i [math]\displaystyle{ Q = a }[/math], gdzie [math]\displaystyle{ a \geqslant 2 }[/math], to jest liczbą pseudopierwszą Fermata przy podstawie [math]\displaystyle{ a }[/math].

Dowód

Połóżmy we wzorze definiującym ciąg Lucasa

[math]\displaystyle{ U_m = {\small\frac{\alpha^m - \beta^m}{\alpha - \beta}} }[/math]

[math]\displaystyle{ \alpha = a }[/math] i [math]\displaystyle{ \beta = 1 }[/math]. Odpowiada to parametrom [math]\displaystyle{ P = \alpha + \beta = a + 1 }[/math], [math]\displaystyle{ Q = \alpha \beta = a }[/math], [math]\displaystyle{ D = (\alpha - \beta)^2 = (a - 1)^2 }[/math].

Ponieważ musi być [math]\displaystyle{ \gcd (m, Q D) = 1 }[/math], to mamy [math]\displaystyle{ \gcd (m, (a - 1) a) = 1 }[/math] i wynika stąd, że [math]\displaystyle{ (D \mid m) = 1 }[/math]. Z założenia [math]\displaystyle{ m }[/math] jest liczbą pseudopierwszą Lucasa dla parametrów [math]\displaystyle{ P = a + 1 }[/math] i [math]\displaystyle{ Q = a }[/math], zatem

[math]\displaystyle{ U_{m - 1} (a + 1, a) \equiv 0 \pmod{m} }[/math]

Czyli

[math]\displaystyle{ {\small\frac{a^{m - 1} - 1}{a - 1}} \equiv 0 \pmod{m} }[/math]

Jeżeli [math]\displaystyle{ m \biggr\rvert {\small\frac{a^{m - 1} - 1}{a - 1}} }[/math], to tym bardziej [math]\displaystyle{ m \big\rvert (a^{m - 1} - 1) }[/math] i możemy napisać

[math]\displaystyle{ a^{m - 1} - 1 \equiv 0 \pmod{m} }[/math]

Zatem [math]\displaystyle{ m }[/math] jest liczbą pseudopierwszą Fermata przy podstawie [math]\displaystyle{ a }[/math]. Co należało pokazać.


Uwaga N24
Wykorzystując funkcje jacobi(a, n) i modLucas(n, P, Q, m) (zobacz J47, N15) możemy napisać prosty program, który sprawdza, czy dla liczby nieparzystej [math]\displaystyle{ m }[/math] prawdziwe jest twierdzenie N20.

isPrimeOrLPSP(m, P, Q) = 
{
local(D, js);
D = P^2 - 4*Q;
if( gcd(m, 2*Q*D) > 1, return(0) );
js = jacobi(D, m);
if( modLucas(m - js, P, Q, m)[1] == 0, return(1), return(0) );
}


Przykład N25
Poniższa tabela zawiera najmniejsze liczby pseudopierwsze Lucasa dla różnych parametrów [math]\displaystyle{ P }[/math] i [math]\displaystyle{ Q }[/math]

Pokaż kod
FirstLPSP(Stop) = 
\\ najmniejsze LPSP(P,Q) < Stop;  dla 1<=P<=10 i -5<=Q<=5
{
local(D, m, P, Q);
Q = -6;
while( Q++ <= 5,
       if( Q == 0, next() );
       P = 0;
       while( P++ <= 10,
              D = P^2 - 4*Q;
              if( D == 0, 
                  print("Q= ", Q, "   P= ", P, "   ------------------");
                  next();
                );
              m = 3;
              while( m < Stop,
                     if( isPrimeOrLPSP(m, P, Q)  &&  !isprime(m),
                         print("Q= ", Q, "   P= ", P, "   m= ", m, "   (D|m)= ", jacobi(D, m));
                         break();
                       );
                     m = m + 2;
                   );
            );
     );
}


Żółtym tłem oznaczyliśmy te najmniejsze liczby pseudopierwsze Lucasa, dla których [math]\displaystyle{ (D \mid m) = - 1 }[/math].


Przykład N26
Ilość liczb LPSP([math]\displaystyle{ P, Q }[/math]) mniejszych od [math]\displaystyle{ 10^9 }[/math]

Pokaż kod
NumOfLPSP(Stop) = 
\\ ilość liczb pseudopierwszych Lucasa LPSP(P,Q) < Stop;  dla 1<=P<=10 i -5<=Q<=5
{
local(D, m, P, Q);
Q = -6;
while( Q++ <= 5,
       if( Q == 0, next() );
       P = 0;
       while( P++ <= 10,
              D = P^2 - 4*Q;
              if( D == 0, print("Q= ", Q, "   P= ", P, "   ------------------"); next() );
              s = 0;
              m = 3;
              while( m < Stop,
                     if( isPrimeOrLPSP(m, P, Q)  &&  !isprime(m), s++ );
                     m = m + 2;
                   );
              print("Q= ", Q, "   P= ", P, "   s= ", s);
            );
     );
}



Uwaga N27
Dla [math]\displaystyle{ (P, Q) = (1, 1) }[/math] ciąg Lucasa [math]\displaystyle{ (U_n) }[/math] ma postać

[math]\displaystyle{ (U_n) = (0, 1, 1, 0, - 1, - 1, 0, 1, 1, 0, - 1, - 1, 0, 1, 1, 0, - 1, - 1, 0, 1, 1, \ldots) }[/math]

Stosując indukcję matematyczną, udowodnimy, że [math]\displaystyle{ U_{3 k} = 0 }[/math]. Łatwo sprawdzamy, że dla [math]\displaystyle{ k = 0 }[/math] i [math]\displaystyle{ k = 1 }[/math] wzór jest prawdziwy. Zakładając prawdziwość wzoru dla wszystkich liczb naturalnych nie większych od [math]\displaystyle{ k }[/math], otrzymujemy dla [math]\displaystyle{ k + 1 }[/math] (zobacz N13 p.3)

[math]\displaystyle{ U_{3 (k + 1)} = U_{3 k + 3} = U_{3 k} V_3 - U_{3 (k - 1)} = 0 }[/math]

Co kończy dowód. Zbadajmy liczby pseudopierwsze Lucasa dla [math]\displaystyle{ (P, Q) = (1, 1) }[/math].

Mamy [math]\displaystyle{ D = P^2 - 4 Q = - 3 }[/math]. Wynika stąd, że nie może być [math]\displaystyle{ 3 \mid m }[/math], bo mielibyśmy [math]\displaystyle{ \gcd (m, Q D) = 3 \gt 1 }[/math].

Z zadania J45 wiemy, że

[math]\displaystyle{ (- 3 \mid m) = \begin{cases} \;\;\: 1 & \text{gdy } m = 6 k + 1 \\ \;\;\: 0 & \text{gdy } m = 6 k + 3 \\ - 1 & \text{gdy } m = 6 k + 5 \\ \end{cases} }[/math]

Ponieważ [math]\displaystyle{ 3 \nmid m }[/math], to wystarczy zbadać przypadki [math]\displaystyle{ m = 6 k + 1 }[/math] i [math]\displaystyle{ m = 6 k + 5 }[/math]. W pierwszym przypadku jest

[math]\displaystyle{ U_{m - (- 3 \mid m)} = U_{6 k + 1 - 1} = U_{6 k} = 0 }[/math]

W drugim przypadku, gdy [math]\displaystyle{ m = 6 k + 5 }[/math], dostajemy

[math]\displaystyle{ U_{m - (- 3 \mid m)} = U_{6 k + 5 + 1} = U_{6 (k + 1)} = 0 }[/math]

Zatem dla dowolnej liczby nieparzystej [math]\displaystyle{ m }[/math] niepodzielnej przez [math]\displaystyle{ 3 }[/math] jest

[math]\displaystyle{ U_{m - (- 3 \mid m)} \equiv 0 \pmod{m} }[/math]

Czyli liczbami pseudopierwszymi Lucasa dla parametrów [math]\displaystyle{ (P, Q) = (1, 1) }[/math] będą liczby nieparzyste [math]\displaystyle{ m }[/math], które nie są podzielne przez [math]\displaystyle{ 3 }[/math] i nie są liczbami pierwszymi. Ilość takich liczb nie większych od [math]\displaystyle{ 10^k }[/math] możemy łatwo znaleźć poleceniem

for(k = 1, 9, s = 0; forstep(m = 3, 10^k, 2, if( m%6 <> 3, s = s + !isprime(m) )); print(s))


Zadanie N28
Pokazać, że ilość liczb pseudopierwszych Lucasa dla parametrów [math]\displaystyle{ (P, Q) = (2, 2) }[/math] nie większych od [math]\displaystyle{ 10^k }[/math] możemy znaleźć poleceniem

for(k = 1, 9, s = 0; forstep(m = 3, 10^k, 2, s = s + !isprime(m)); print(s))



Metoda Selfridge'a wyboru parametrów [math]\displaystyle{ P }[/math] i [math]\displaystyle{ Q }[/math]

Uwaga N29
Twierdzenie N20 możemy wykorzystać do testowania pierwszości liczb. Ponieważ musi być spełniony warunek [math]\displaystyle{ \gcd (m, Q D) = 1 }[/math], to nie każda para liczb [math]\displaystyle{ P, Q }[/math] (np. wybrana losowo) nadaje się do przeprowadzenia testu. Zawsze będziemy zmuszeni określić zasadę postępowania, która doprowadzi do wyboru właściwej pary [math]\displaystyle{ P, Q }[/math].

Robert Baillie i Samuel Wagstaff przedstawili[1] dwie metody wyboru parametrów dla testu Lucasa. Ograniczymy się do omówienia tylko pierwszej z nich (metodę zaproponował John Selfridge).

Rozważmy ciąg [math]\displaystyle{ a_k = (- 1)^k (2 k + 1) }[/math], gdzie [math]\displaystyle{ k \geqslant 2 }[/math], czyli [math]\displaystyle{ a_k = (5, - 7, 9, - 11, 13, - 15, \ldots) }[/math]. Niech [math]\displaystyle{ D }[/math] będzie pierwszym wyrazem ciągu [math]\displaystyle{ (a_k) }[/math], dla którego jest [math]\displaystyle{ (a_k \mid m) = - 1 }[/math]. Dla tak ustalonego [math]\displaystyle{ D }[/math] przyjmujemy [math]\displaystyle{ P = 1 }[/math] i [math]\displaystyle{ Q = (1 - D) / 4 }[/math].

Tabela przedstawia początkowe wartości [math]\displaystyle{ Q }[/math], jakie otrzymamy, stosując tę metodę.


Zauważmy, że

  • jeżeli liczba nieparzysta [math]\displaystyle{ m }[/math] jest liczbą kwadratową, to wybór [math]\displaystyle{ D }[/math] nie będzie możliwy
  • w przypadku zastosowania tej metody znajdziemy tylko liczby pierwsze lub pseudopierwsze Lucasa, które spełniają kongruencję [math]\displaystyle{ U_{m + 1} \equiv 0 \pmod{m} }[/math], czyli tylko część liczb pseudopierwszych Lucasa określonych w definicji N22


Ponieważ Baillie i Wagstaff określili metodę zaproponowaną przez Selfridge'a jako metodę A, to pozostaniemy przy tej nazwie. Korzystając ze wzoru rekurencyjnego

[math]\displaystyle{ a_{k+1} = \begin{cases} \qquad \qquad 5 & \text{gdy } k = 1 \\ - a_k - 2 * \mathop{\textnormal{sign}}( a_k ) & \text{gdy } k \geqslant 2 \\ \end{cases} }[/math]

możemy łatwo napisać odpowiednią funkcję znajdującą liczby [math]\displaystyle{ P, Q }[/math] według tej metody.

MethodA(m) = 
{
local(a, js);
a = 5;
while( 1,
       js = jacobi(a, m);
       if( js == 0  &&  a % m <> 0, return([0, 0]) );
       if( js == -1, return([1, (1 - a)/4]) );
       a = -a - 2*sign(a);
     );
}

Wyjaśnienia wymaga druga linia kodu w pętli while. Wiemy, że (zobacz J41)

[math]\displaystyle{ (a \mid m) = 0 \quad \qquad \Longleftrightarrow \quad \qquad \gcd (a, m) \gt 1 }[/math]

Jednak z faktu, że [math]\displaystyle{ \gcd (a, m) \gt 1 }[/math] nie wynika natychmiast, że liczba [math]\displaystyle{ m }[/math] jest liczbą złożoną. Rozważmy dwa przypadki: gdy [math]\displaystyle{ m \mid a }[/math] i [math]\displaystyle{ m \nmid a }[/math].

Gdy [math]\displaystyle{ \gcd (a, m) \gt 1 }[/math] i [math]\displaystyle{ m \mid a }[/math], to [math]\displaystyle{ \gcd (a, m) = \gcd (k \cdot m, m) = m \gt 1 }[/math] i nie jesteśmy w stanie rozstrzygnąć, czy liczba [math]\displaystyle{ m }[/math] jest liczbą pierwszą, czy złożoną. Widać to dobrze na prostych przykładach

[math]\displaystyle{ \gcd (7, 7) = \gcd (14, 7) = 7 \gt 1 }[/math]
[math]\displaystyle{ \gcd (15, 15) = \gcd (30, 15) = 15 \gt 1 }[/math]

Gdy [math]\displaystyle{ \gcd (a, m) \gt 1 }[/math] i [math]\displaystyle{ m \nmid a }[/math], to [math]\displaystyle{ m }[/math] jest liczbą złożoną. Ponieważ [math]\displaystyle{ m \nmid a }[/math], to [math]\displaystyle{ a = k \cdot m + r }[/math], gdzie [math]\displaystyle{ r \in [1, m - 1] }[/math]. Mamy

[math]\displaystyle{ \gcd (a, m) = \gcd (k \cdot m + r, m) = \gcd (r, m) = d }[/math]

Musi być [math]\displaystyle{ d \gt 1 }[/math], bo założyliśmy, że [math]\displaystyle{ \gcd (a, m) \gt 1 }[/math] i musi być [math]\displaystyle{ d \lt m }[/math], bo [math]\displaystyle{ d \leqslant r \leqslant m - 1 }[/math]. Zatem [math]\displaystyle{ d }[/math] jest dzielnikiem nietrywialnym liczby [math]\displaystyle{ m }[/math] i [math]\displaystyle{ m }[/math] jest liczbą złożoną.

Omawiana linia kodu zapewnia wysłanie informacji o tym, że liczba [math]\displaystyle{ m }[/math] jest liczbą złożoną (zwrot wektora [0, 0]). W przypadku, gdy nie mamy takiej pewności, kontynuujemy szukanie liczby [math]\displaystyle{ a }[/math], takiej że [math]\displaystyle{ (a \mid m) = - 1 }[/math], pozostawiając zbadanie pierwszości liczby [math]\displaystyle{ m }[/math] na kolejnym etapie testowania.


Uważny Czytelnik dostrzeże, że nie zbadaliśmy, czy spełniony jest warunek [math]\displaystyle{ \gcd (m, Q) = 1 }[/math]. Nie musimy tego robić, bo zwracana przez funkcję MethodA() liczba [math]\displaystyle{ Q }[/math] jest względnie pierwsza z [math]\displaystyle{ m }[/math]. Omówimy ten problem dokładnie w zadaniu N30. Poniżej pokażemy, że nawet gdyby było [math]\displaystyle{ \gcd (m, Q) \gt 1 }[/math], to złożona liczba [math]\displaystyle{ m }[/math] nie zostanie uznana za liczbę pseudopierwszą Lucasa.

Zauważmy, że jeżeli [math]\displaystyle{ m }[/math] jest liczbą złożoną i ma dzielnik pierwszy [math]\displaystyle{ p \lt m }[/math], który dzieli [math]\displaystyle{ Q }[/math], to [math]\displaystyle{ p \mid Q }[/math] i [math]\displaystyle{ p \nmid P }[/math] (bo [math]\displaystyle{ P = 1 }[/math]), zatem [math]\displaystyle{ p \nmid U_k }[/math] dla [math]\displaystyle{ k \geqslant 1 }[/math] (zobacz N17), czyli nie może być

[math]\displaystyle{ U_{m + 1} (1, Q) \equiv 0 \pmod{m} }[/math]

bo mielibyśmy

[math]\displaystyle{ U_{m + 1} (1, Q) \equiv 0 \pmod{p} }[/math]

a to jest niemożliwe. Zatem program wykorzystujący twierdzenie N20 wykryje złożoność liczby [math]\displaystyle{ m }[/math].

Łatwo pokażemy, że nie jest możliwe, aby liczba [math]\displaystyle{ m }[/math] była liczbą pierwszą i była dzielnikiem [math]\displaystyle{ Q }[/math]. Jeżeli [math]\displaystyle{ m }[/math] jest liczbą pierwszą, to istnieje dokładnie [math]\displaystyle{ \tfrac{m - 1}{2} }[/math] liczb kwadratowych modulo [math]\displaystyle{ p }[/math] i [math]\displaystyle{ \tfrac{m - 1}{2} }[/math] liczb niekwadratowych modulo [math]\displaystyle{ p }[/math], zatem rozpoczynając od wyrazu [math]\displaystyle{ a_2 }[/math] możemy dojść co najwyżej do wyrazu o indeksie [math]\displaystyle{ k = \tfrac{m - 1}{2} + 2 }[/math], czyli

[math]\displaystyle{ | a_k | \leqslant m + 4 }[/math]

Skąd wynika, że

[math]\displaystyle{ | Q | = \left| {\small\frac{1 - a_k}{4}} \right| \leqslant {\small\frac{m + 5}{4}} \lt m }[/math]

Ostatnia nierówność jest prawdziwa dla [math]\displaystyle{ m \gt {\small\frac{5}{3}} }[/math], czyli dla wszystkich liczb pierwszych. Ponieważ [math]\displaystyle{ | Q | \lt m }[/math], w przypadku gdy [math]\displaystyle{ m }[/math] jest liczbą pierwszą, to [math]\displaystyle{ m }[/math] nie może być dzielnikiem liczby [math]\displaystyle{ Q }[/math].


Zadanie N30
Pokazać, że w przypadku, gdy dla kolejnych liczb [math]\displaystyle{ a_k = (- 1)^k (2 k + 1) }[/math] sprawdzamy, czy konsekwencją [math]\displaystyle{ (a_k \mid m) = 0 }[/math] jest złożoność liczby [math]\displaystyle{ m }[/math], to dla każdej liczby [math]\displaystyle{ Q }[/math] wyznaczonej metodą Selfridge'a jest [math]\displaystyle{ \gcd (Q, m) = 1 }[/math].

Rozwiązanie

Niech [math]\displaystyle{ m = 21 }[/math]. Rozpoczniemy od przykładu liczb [math]\displaystyle{ a_k = (- 1)^k (2 k + 1) }[/math] dla [math]\displaystyle{ k = 0, 1, \ldots, m - 1 }[/math].

Zauważmy, że modulo [math]\displaystyle{ 21 }[/math] ciąg [math]\displaystyle{ (a_k) = (1, - 3, 5, - 7, \ldots, 37, - 39, 41) }[/math] jest identyczny z ciągiem [math]\displaystyle{ (0, 1, 2, \ldots, 19, 20) }[/math], a ciąg [math]\displaystyle{ (| a_k |) }[/math] to kolejne liczby nieparzyste od [math]\displaystyle{ 1 }[/math] do [math]\displaystyle{ 2 m - 1 }[/math].


Poniżej pokażemy, dlaczego musi być [math]\displaystyle{ \gcd (Q, m) = 1 }[/math], gdzie [math]\displaystyle{ Q }[/math] jest liczbą wyznaczoną metodą Selfridge'a (o ile sprawdzana jest złożoność liczby [math]\displaystyle{ m }[/math] przy testowaniu kolejnych liczb [math]\displaystyle{ a_k }[/math]). Pogrubioną czcionką zaznaczone są symbole Jacobiego, które wykryły złożoność liczby [math]\displaystyle{ m }[/math]. Gdyby nie była badana złożoność, to wyliczona zostałaby wartość [math]\displaystyle{ Q }[/math] na podstawie innego wyrazu ciągu [math]\displaystyle{ a_k }[/math] (ten symbol Jacobiego został zapisany zwykłą czcionką).

[math]\displaystyle{ m = 3 , \;\; (5 \mid 3) = - 1 , \;\; Q = - 1 , \;\; \gcd (m, Q) = 1 }[/math]
[math]\displaystyle{ m = 5 , \;\; (5 \mid 5) = 0 , \;\; (- 7 \mid 5) = - 1 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1 \;\; }[/math] (zauważmy, że [math]\displaystyle{ (5 \mid 5) = 0 }[/math] nie pozwala wnioskować o złożoności)
[math]\displaystyle{ m = 7 , \;\; (5 \mid 7) = - 1 , \;\; Q = - 1 , \;\; \gcd (m, Q) = 1 }[/math]
[math]\displaystyle{ m = 9 , \;\; }[/math] (liczba kwadratowa)
[math]\displaystyle{ m = 11 , \;\; (- 11 \mid 11) = 0 , \;\; (13 \mid 11) = - 1 , \;\; Q = - 3 , \;\; \gcd (m, Q) = 1 \;\; }[/math] (zauważmy, że [math]\displaystyle{ (- 11 \mid 11) = 0 }[/math] nie pozwala wnioskować o złożoności)
[math]\displaystyle{ m = 13 , \;\; (5 \mid 13) = - 1 , \;\; Q = - 1 , \;\; \gcd (m, Q) = 1 }[/math]
[math]\displaystyle{ m = 15 , \;\; \boldsymbol{(5 \mid 15) = 0} , \;\; (13 \mid 15) = - 1 , \;\; Q = - 3 , \;\; \gcd (m, Q) = 3 \;\; }[/math] (gdyby nie zbadano złożoności)
[math]\displaystyle{ m = 17 , \;\; (5 \mid 17) = - 1 , \;\; Q = - 1 , \;\; \gcd (m, Q) = 1 }[/math]
[math]\displaystyle{ m = 19 , \;\; (- 7 \mid 19) = - 1 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1 }[/math]
[math]\displaystyle{ m = 21 , \;\; \boldsymbol{(- 7 \mid 21) = 0} , \;\; (- 11 \mid 21) = - 1 , \;\; Q = 3 , \;\; \gcd (m, Q) = 3 \;\; }[/math] (gdyby nie zbadano złożoności)


Niech [math]\displaystyle{ m \geqslant 23 }[/math]. Wiemy, że w ciągu [math]\displaystyle{ (5, - 7, 9, \ldots, \pm m, \mp (m + 2), \ldots, - (2 m - 3), 2 m - 1) }[/math] wystąpią liczby [math]\displaystyle{ a_k }[/math] takie, że [math]\displaystyle{ (a_k \mid m) = - 1 }[/math]. Warunek [math]\displaystyle{ (a_k \mid m) = 0 }[/math] oznacza, że [math]\displaystyle{ (2 k + 1 \mid m) = 0 }[/math], bo

[math]\displaystyle{ (a_k \mid m) = ((- 1)^k (2 k + 1) \mid m) = ((- 1)^k \mid m) \cdot (2 k + 1 \mid m) = (- 1 \mid m)^k \cdot (2 k + 1 \mid m) = \pm (2 k + 1 \mid m) }[/math]

Jeżeli będą spełnione warunki [math]\displaystyle{ (a_k \mid m) = 0 }[/math] i [math]\displaystyle{ R_m (a_k) \neq 0 }[/math], to liczba [math]\displaystyle{ m }[/math] będzie liczbą złożoną.

Wypiszmy kolejne próby dla [math]\displaystyle{ m \geqslant 23 }[/math]. Liczba [math]\displaystyle{ r }[/math] jest numerem próby.

[math]\displaystyle{ r = 1 , \;\; a_{r + 1} = 5 }[/math]
●    [math]\displaystyle{ (5 \mid m) = 1 }[/math] [math]\displaystyle{ 5 \nmid m \quad }[/math] przechodzimy do kolejnego wyrazu ciągu [math]\displaystyle{ (a_k) }[/math]
●    [math]\displaystyle{ (5 \mid m) = 0 }[/math] [math]\displaystyle{ 5 \mid m }[/math] koniec
●    [math]\displaystyle{ (5 \mid m) = - 1 \quad }[/math] [math]\displaystyle{ 5 \nmid m }[/math] [math]\displaystyle{ D = 5 , \;\; Q = - 1 , \;\; \gcd (m, Q) = 1 , \;\; }[/math] koniec
[math]\displaystyle{ r = 2 , \;\; a_{r + 1} = - 7 }[/math]
●    [math]\displaystyle{ (- 7 \mid m) = 1 }[/math] [math]\displaystyle{ 7 \nmid m \quad }[/math] przechodzimy do kolejnego wyrazu ciągu [math]\displaystyle{ (a_k) }[/math]
●    [math]\displaystyle{ (- 7 \mid m) = 0 }[/math] [math]\displaystyle{ 7 \mid m }[/math] koniec
●    [math]\displaystyle{ (- 7 \mid m) = - 1 \quad }[/math] [math]\displaystyle{ 7 \nmid m }[/math] [math]\displaystyle{ D = -7 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1 , \;\; }[/math] koniec
[math]\displaystyle{ r = 3 }[/math], [math]\displaystyle{ a_{r + 1} = 9 }[/math]
●    [math]\displaystyle{ (9 \mid m) = 1 }[/math] [math]\displaystyle{ 3 \nmid m \quad }[/math] przechodzimy do kolejnego wyrazu ciągu [math]\displaystyle{ (a_k) }[/math]
●    [math]\displaystyle{ (9 \mid m) = 0 }[/math] [math]\displaystyle{ 3 \mid m }[/math] koniec
●    [math]\displaystyle{ (9 \mid m) \neq - 1 \quad }[/math] - - - - bo [math]\displaystyle{ 9 }[/math] jest liczbą kwadratową


Po wykonaniu trzech prób niezakończonych sukcesem (tzn. wykryciem złożoności [math]\displaystyle{ m }[/math] lub ustaleniem wartości liczb [math]\displaystyle{ D }[/math] i [math]\displaystyle{ Q }[/math]) wiemy, że [math]\displaystyle{ m }[/math] nie jest podzielna przez żadną z liczb pierwszych [math]\displaystyle{ p = 3, 5, 7 }[/math].

[math]\displaystyle{ r }[/math]-ta próba, gdzie [math]\displaystyle{ r \geqslant 4 , \;\; }[/math] wyraz [math]\displaystyle{ a_{r + 1} }[/math]
●    [math]\displaystyle{ (a_{r + 1} \mid m) = 1 }[/math] żadna liczba pierwsza [math]\displaystyle{ p \leqslant | a_{r + 1} | = 2 r + 3 }[/math] nie dzieli liczby [math]\displaystyle{ m \quad }[/math]     przechodzimy do kolejnego wyrazu ciągu [math]\displaystyle{ (a_k) }[/math]
●    [math]\displaystyle{ (a_{r + 1} \mid m) = 0 }[/math] A. jeżeli [math]\displaystyle{ m \mid a_{r + 1} }[/math]( * )
B. jeżeli [math]\displaystyle{ m \nmid a_{r + 1} }[/math]
A. przechodzimy do kolejnego wyrazu ciągu [math]\displaystyle{ (a_k) }[/math]
B. [math]\displaystyle{ a_{r + 1} \mid m }[/math]( ** ), koniec
●    [math]\displaystyle{ (a_{r + 1} \mid m) = - 1 \quad }[/math] żadna liczba pierwsza [math]\displaystyle{ p \leqslant | a_{r + 1} | = 2 r + 3 }[/math] nie dzieli liczby [math]\displaystyle{ m \quad }[/math]     [math]\displaystyle{ D = a_{r + 1} }[/math], [math]\displaystyle{ Q = {\small\frac{1 - a_{r + 1}}{4}} }[/math], koniec

( * ) jest to możliwe tylko dla [math]\displaystyle{ a_{r + 1} = a_{(m - 1) / 2} = m }[/math]

( ** ) zauważmy, że jeżeli [math]\displaystyle{ m \nmid a_{r + 1} }[/math], to [math]\displaystyle{ \gcd (a_{r + 1}, m) = | a_{r + 1} | }[/math], bo gdyby liczba [math]\displaystyle{ | a_{r + 1} | }[/math] była liczbą złożoną, to żaden z jej dzielników pierwszych nie dzieliłby liczby [math]\displaystyle{ m }[/math]


Jeżeli nie została wykryta złożoność liczby [math]\displaystyle{ m }[/math], to żadna z liczb pierwszych [math]\displaystyle{ p \leqslant | a_{r + 1} | = 2 r + 3 }[/math] nie dzieli liczby [math]\displaystyle{ m }[/math]. Zatem [math]\displaystyle{ \gcd (Q, m) \gt 1 }[/math] może być tylko w przypadku, gdy pewna liczba pierwsza [math]\displaystyle{ q \geqslant 2 r + 5 }[/math] będzie wspólnym dzielnikiem liczb [math]\displaystyle{ Q }[/math] i [math]\displaystyle{ m }[/math], ale jest to niemożliwe, bo

[math]\displaystyle{ | Q | = \left| {\small\frac{1 - a_{r + 1}}{4}} \right| \leqslant {\small\frac{| a_{r + 1} | + 1}{4}} = {\small\frac{2 r + 4}{4}} \lt 2 r + 5 \leqslant q }[/math]

Przedostatnia (ostra) nierówność jest prawdziwa dla wszystkich [math]\displaystyle{ r }[/math] naturalnych.


Zadanie N31
Zmodyfikujmy metodę Selfridge'a w taki sposób, że będziemy rozpoczynali próby nie od wyrazu [math]\displaystyle{ a_2 = 5 }[/math], ale od wyrazu [math]\displaystyle{ a_3 = - 7 }[/math]. Pokazać, że w przypadku, gdy dla kolejnych liczb [math]\displaystyle{ a_k = (- 1)^k (2 k + 1) }[/math] sprawdzamy, czy konsekwencją [math]\displaystyle{ (a_k \mid m) = 0 }[/math] jest złożoność liczby [math]\displaystyle{ m }[/math], to dla każdej liczby [math]\displaystyle{ Q }[/math] wyznaczonej tak zmodyfikowaną metodą Selfridge'a jest [math]\displaystyle{ \gcd (Q, m) = 1 }[/math].

Rozwiązanie

Poniżej pokażemy, dlaczego musi być [math]\displaystyle{ \gcd (Q, m) = 1 }[/math], gdzie [math]\displaystyle{ Q }[/math] jest liczbą wyznaczoną zmodyfikowaną metodą Selfridge'a (o ile sprawdzana jest złożoność liczby [math]\displaystyle{ m }[/math] przy testowaniu kolejnych liczb [math]\displaystyle{ a_k }[/math]). Pogrubioną czcionką zaznaczone są symbole Jacobiego, które wykryły złożoność liczby [math]\displaystyle{ m }[/math]. Gdyby nie była badana złożoność, to wyliczona zostałaby wartość [math]\displaystyle{ Q }[/math] na podstawie innego wyrazu ciągu [math]\displaystyle{ a_k }[/math] (ten symbol Jacobiego został zapisany zwykłą czcionką).

[math]\displaystyle{ m = 3 , \;\; (- 7 \mid 3) = - 1 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1 }[/math]
[math]\displaystyle{ m = 5 , \;\; (- 7 \mid 5) = - 1 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1 }[/math]
[math]\displaystyle{ m = 7 , \;\; (- 7 \mid 7) = 0 , \;\; (- 11 \mid 7) = - 1 , \;\; Q = 3 , \;\; \gcd (m, Q) = 1 }[/math] (zauważmy, że [math]\displaystyle{ (- 7 \mid 7) = 0 }[/math] nie pozwala wnioskować o złożoności)
[math]\displaystyle{ m = 9 , \;\; }[/math] (liczba kwadratowa)
[math]\displaystyle{ m = 11 , \;\; (- 11 \mid 11) = 0 , \;\; (13 \mid 11) = - 1 , \;\; Q = - 3 , \;\; \gcd (m, Q) = 1 \;\; }[/math] (zauważmy, że [math]\displaystyle{ (- 11 \mid 11) = 0 }[/math] nie pozwala wnioskować o złożoności)
[math]\displaystyle{ m = 13 , \;\; (- 7 \mid 13) = - 1 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1 }[/math]
[math]\displaystyle{ m = 15 , \;\; \boldsymbol{(9 \mid 15) = 0} , \;\; (13 \mid 15) = - 1 , \;\; Q = - 3 , \;\; \gcd (m, Q) = 3 \;\; }[/math] (gdyby nie zbadano złożoności)
[math]\displaystyle{ m = 17 , \;\; (- 7 \mid 17) = - 1 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1 }[/math]
[math]\displaystyle{ m = 19 , \;\; (- 7 \mid 19) = - 1 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1 }[/math]
[math]\displaystyle{ m = 21 , \;\; \boldsymbol{(- 7 \mid 21) = 0} , \;\; (- 11 \mid 21) = - 1 , \;\; Q = 3 , \;\; \gcd (m, Q) = 3 \;\; }[/math] (gdyby nie zbadano złożoności)


Niech [math]\displaystyle{ m \geqslant 23 }[/math]. Wiemy, że w ciągu [math]\displaystyle{ ( - 7, 9, \ldots, \pm m, \mp (m + 2), \ldots, - (2 m - 3), 2 m - 1) }[/math] wystąpią liczby [math]\displaystyle{ a_k }[/math] takie, że [math]\displaystyle{ (a_k \mid m) = - 1 }[/math]. Warunek [math]\displaystyle{ (a_k \mid m) = 0 }[/math] oznacza, że [math]\displaystyle{ (2 k + 1 \mid m) = 0 }[/math], bo

[math]\displaystyle{ (a_k \mid m) = ((- 1)^k (2 k + 1) \mid m) = ((- 1)^k \mid m) \cdot (2 k + 1 \mid m) = (- 1 \mid m)^k \cdot (2 k + 1 \mid m) = \pm (2 k + 1 \mid m) }[/math]

Jeżeli będą spełnione warunki [math]\displaystyle{ (a_k \mid m) = 0 }[/math] i [math]\displaystyle{ R_m (a_k) \neq 0 }[/math], to liczba [math]\displaystyle{ m }[/math] będzie liczbą złożoną.

Wypiszmy kolejne próby dla [math]\displaystyle{ m \geqslant 23 }[/math]. Liczba [math]\displaystyle{ r }[/math] jest numerem próby.

[math]\displaystyle{ r = 1 , \;\; a_{r + 2} = - 7 }[/math]
●    [math]\displaystyle{ (- 7 \mid m) = 1 }[/math] [math]\displaystyle{ 7 \nmid m \quad }[/math] przechodzimy do kolejnego wyrazu ciągu [math]\displaystyle{ (a_k) }[/math]
●    [math]\displaystyle{ (- 7 \mid m) = 0 }[/math] [math]\displaystyle{ 7 \mid m }[/math] koniec
●    [math]\displaystyle{ (- 7 \mid m) = - 1 \quad }[/math] [math]\displaystyle{ 7 \nmid m }[/math] [math]\displaystyle{ D = - 7 , \;\; Q = 2 , \;\; \gcd (m, Q) = 1 , \;\; }[/math] koniec
[math]\displaystyle{ r = 2 , \;\; a_{r + 2} = 9 }[/math]
●    [math]\displaystyle{ (9 \mid m) = 1 }[/math] [math]\displaystyle{ 3 \nmid m \quad }[/math] przechodzimy do kolejnego wyrazu ciągu [math]\displaystyle{ (a_k) }[/math]
●    [math]\displaystyle{ (9 \mid m) = 0 }[/math] [math]\displaystyle{ 3 \mid m }[/math] koniec
●    [math]\displaystyle{ (9 \mid m) \neq - 1 \quad }[/math] - - - - bo [math]\displaystyle{ 9 }[/math] jest liczbą kwadratową
[math]\displaystyle{ r = 3 , \;\; a_{r + 2} = - 11 }[/math]
●    [math]\displaystyle{ (- 11 \mid m) = 1 }[/math] [math]\displaystyle{ 11 \nmid m \quad }[/math] przechodzimy do kolejnego wyrazu ciągu [math]\displaystyle{ (a_k) }[/math]
●    [math]\displaystyle{ (- 11 \mid m) = 0 }[/math] [math]\displaystyle{ 11 \mid m }[/math] koniec
●    [math]\displaystyle{ (- 11 \mid m) = - 1 \quad }[/math] [math]\displaystyle{ 11 \nmid m }[/math] [math]\displaystyle{ D = - 11 , \;\; Q = 3 , \;\; \gcd (m, Q) = 1 , \;\; }[/math] koniec (bo liczby złożone [math]\displaystyle{ m = 3 k }[/math] zostały usunięte w poprzedniej próbie, [math]\displaystyle{ r = 2 }[/math])
[math]\displaystyle{ r = 4 , \;\; a_{r + 2} = 13 }[/math]
●    [math]\displaystyle{ (13 \mid m) = 1 }[/math] [math]\displaystyle{ 13 \nmid m \quad }[/math] przechodzimy do kolejnego wyrazu ciągu [math]\displaystyle{ (a_k) }[/math]
●    [math]\displaystyle{ (13 \mid m) = 0 }[/math] [math]\displaystyle{ 13 \mid m }[/math] koniec
●    [math]\displaystyle{ (13 \mid m) = - 1 \quad }[/math] [math]\displaystyle{ 13 \nmid m }[/math] [math]\displaystyle{ D = 13 , \;\; Q = - 3 , \;\; \gcd (m, Q) = 1 , \;\; }[/math] koniec (bo liczby złożone [math]\displaystyle{ m = 3 k }[/math] zostały usunięte w próbie o numerze [math]\displaystyle{ r = 2 }[/math])
[math]\displaystyle{ r = 5 , \;\; a_{r + 2} = - 15 }[/math]
●    [math]\displaystyle{ (- 15 \mid m) = 1 }[/math] [math]\displaystyle{ 5 \nmid m \quad }[/math] przechodzimy do kolejnego wyrazu ciągu [math]\displaystyle{ (a_k) }[/math]
●    [math]\displaystyle{ (- 15 \mid m) = 0 }[/math] [math]\displaystyle{ 5 \mid m }[/math] koniec
●    [math]\displaystyle{ (- 15 \mid m) = - 1 \quad }[/math] [math]\displaystyle{ 5 \nmid m }[/math] [math]\displaystyle{ D = - 15 , \;\; Q = 4 , \;\; \gcd (m, Q) = 1 , \;\; }[/math] koniec


Po wykonaniu pięciu prób niezakończonych sukcesem (tzn. wykryciem złożoności [math]\displaystyle{ m }[/math] lub ustaleniem wartości liczb [math]\displaystyle{ D }[/math] i [math]\displaystyle{ Q }[/math]) wiemy, że [math]\displaystyle{ m }[/math] nie jest podzielna przez żadną z liczb pierwszych [math]\displaystyle{ p = 3, 5, 7, 11, 13 }[/math].

[math]\displaystyle{ r }[/math]-ta próba, gdzie [math]\displaystyle{ r \geqslant 6 , \;\; }[/math] wyraz [math]\displaystyle{ a_{r + 2} }[/math]
●    [math]\displaystyle{ (a_{r + 2} \mid m) = 1 }[/math] żadna liczba pierwsza [math]\displaystyle{ p \leqslant | a_{r + 2} | = 2 r + 5 }[/math] nie dzieli liczby [math]\displaystyle{ m \quad }[/math]     przechodzimy do kolejnego wyrazu ciągu [math]\displaystyle{ (a_k) }[/math]
●    [math]\displaystyle{ (a_{r + 2} \mid m) = 0 }[/math] A. jeżeli [math]\displaystyle{ m \mid a_{r + 2} }[/math]( * )
B. jeżeli [math]\displaystyle{ m \nmid a_{r + 2} }[/math]
A. przechodzimy do kolejnego wyrazu ciągu [math]\displaystyle{ (a_k) }[/math]
B. [math]\displaystyle{ a_{r + 1} \mid m }[/math]( ** ), koniec
●    [math]\displaystyle{ (a_{r + 2} \mid m) = - 1 \quad }[/math] żadna liczba pierwsza [math]\displaystyle{ p \leqslant | a_{r + 2} | = 2 r + 5 }[/math] nie dzieli liczby [math]\displaystyle{ m \quad }[/math]     [math]\displaystyle{ D = a_{r + 2} }[/math], [math]\displaystyle{ Q = {\small\frac{1 - a_{r + 2}}{4}} }[/math], koniec

( * ) jest to możliwe tylko dla [math]\displaystyle{ a_{r + 2} = a_{(m - 1) / 2} = m }[/math]

( ** ) zauważmy, że jeżeli [math]\displaystyle{ m \nmid a_{r + 2} }[/math], to [math]\displaystyle{ \gcd (a_{r + 2}, m) = | a_{r + 2} | }[/math], bo gdyby liczba [math]\displaystyle{ | a_{r + 2} | }[/math] była liczbą złożoną, to żaden z jej dzielników pierwszych nie dzieliłby liczby [math]\displaystyle{ m }[/math]


Jeżeli nie została wykryta złożoność liczby [math]\displaystyle{ m }[/math], to żadna z liczb pierwszych [math]\displaystyle{ p \leqslant | a_{r + 2} | = 2 r + 5 }[/math] nie dzieli liczby [math]\displaystyle{ m }[/math]. Zatem [math]\displaystyle{ \gcd (Q, m) \gt 1 }[/math] może być tylko w przypadku, gdy pewna liczba pierwsza [math]\displaystyle{ q \geqslant 2 r + 7 }[/math] będzie wspólnym dzielnikiem liczb [math]\displaystyle{ Q }[/math] i [math]\displaystyle{ m }[/math], ale jest to niemożliwe, bo

[math]\displaystyle{ | Q | = \left| {\small\frac{1 - a_{r + 2}}{4}} \right| \leqslant {\small\frac{| a_{r + 2} | + 1}{4}} = {\small\frac{2 r + 6}{4}} \lt 2 r + 7 \leqslant q }[/math]

Przedostatnia (ostra) nierówność jest prawdziwa dla wszystkich [math]\displaystyle{ r }[/math] naturalnych.


Uwaga N32
Przyjmując metodę Selfridge'a wyboru parametrów [math]\displaystyle{ P, Q }[/math] dla testu Lucasa, możemy łatwo napisać odpowiedni program w PARI/GP testujący pierwszość liczb

LucasTest(m) = 
{
local(P, Q, X);
if( m % 2 == 0, return(m == 2) );
if( issquare(m), return(0) ); \\ sprawdzamy, czy m nie jest liczbą kwadratową
X = MethodA(m);
P = X[1];
Q = X[2];
if( P == 0, return(0) ); \\ jeżeli P = 0, to m jest liczbą złożoną
if( modLucas(m + 1, P, Q, m)[1] == 0, return(1), return(0) );
}


Uwaga N33
Najmniejsze liczby pseudopierwsze Lucasa, które pojawiają się przy zastosowaniu metody Selfridge'a wyboru parametrów [math]\displaystyle{ P }[/math] i [math]\displaystyle{ Q }[/math], to

[math]\displaystyle{ 323, 377, 1159, 1829, 3827, 5459, 5777, 9071, 9179, 10877, 11419, 11663, 13919, 14839, 16109, 16211, 18407, 18971, 19043, 22499, \ldots }[/math]
Pokaż kod
forstep(k=1, 3*10^4, 2, if( LucasTest(k) && !isprime(k), print(k)) )



Tabela przedstawia ilość takich liczb nie większych od [math]\displaystyle{ 10^n }[/math]

Pokaż kod
for(n=3, 9, s=0; forstep(k = 1, 10^n, 2, if( LucasTest(k) && !isprime(k), s++ ) ); print("n= ", n, "   ", s) )




Liczby silnie pseudopierwsze Lucasa

Twierdzenie N34
Jeżeli [math]\displaystyle{ p }[/math] jest liczbą pierwszą nieparzystą taką, że [math]\displaystyle{ \gcd (p, Q D) = 1 }[/math] oraz [math]\displaystyle{ p - (D \mid p) = 2^r w }[/math], gdzie [math]\displaystyle{ w }[/math] jest liczbą nieparzystą, to spełniony jest dokładnie jeden z warunków

[math]\displaystyle{ U_w \equiv 0 \pmod{p} }[/math]

lub

[math]\displaystyle{ V_{2^k w} \equiv 0 \pmod{p} \qquad }[/math] dla pewnego [math]\displaystyle{ k \in [0, r - 1] }[/math]
Dowód

Wiemy (zobacz N20), że jeżeli [math]\displaystyle{ p }[/math] jest liczbą pierwszą nieparzystą taką, że [math]\displaystyle{ \gcd (p, Q D) = 1 }[/math], to [math]\displaystyle{ p \mid U_{p - (D \mid p)} }[/math]. Z założenia jest [math]\displaystyle{ p - (D \mid p) = 2^r w }[/math], zatem [math]\displaystyle{ p \mid U_{2^r w} }[/math]. Ponieważ założyliśmy, że [math]\displaystyle{ p \nmid Q }[/math] i [math]\displaystyle{ p \nmid D }[/math], to ze wzoru [math]\displaystyle{ V^2_n - D U^2_n = 4 Q^n }[/math] (zobacz N13 p.14) wynika natychmiast, że [math]\displaystyle{ p }[/math] nie może dzielić jednocześnie liczb [math]\displaystyle{ U_n }[/math] i [math]\displaystyle{ V_n }[/math].

Korzystając ze wzoru [math]\displaystyle{ U_{2 n} = U_n V_n }[/math] (zobacz N13 p.11), otrzymujemy

●    [math]\displaystyle{ p \mid U_{2^r w} \;\; \Longleftrightarrow \;\; p \mid U_{2^{r - 1} w} \cdot V_{2^{r - 1} w} \quad }[/math] Jeżeli [math]\displaystyle{ p \mid V_{2^{r - 1} w} }[/math], to twierdzenie jest dowiedzione. Jeżeli [math]\displaystyle{ p \nmid V_{2^{r - 1} w} }[/math], to [math]\displaystyle{ p \mid U_{2^{r - 1} w} }[/math].
●    [math]\displaystyle{ p \mid U_{2^{r - 1} w} \;\; \Longleftrightarrow \;\; p \mid U_{2^{r - 2} w} \cdot V_{2^{r - 2} w} \quad }[/math] Jeżeli [math]\displaystyle{ p \mid V_{2^{r - 2} w} }[/math], to twierdzenie jest dowiedzione. Jeżeli [math]\displaystyle{ p \nmid V_{2^{r - 2} w} }[/math], to [math]\displaystyle{ p \mid U_{2^{r - 2} w} }[/math].
●    [math]\displaystyle{ ................. }[/math]
●    [math]\displaystyle{ p \mid U_{4 w} \;\; \Longleftrightarrow \;\; p \mid U_{2 w} \cdot V_{2 w} }[/math] Jeżeli [math]\displaystyle{ p \mid V_{2 w} }[/math], to twierdzenie jest dowiedzione. Jeżeli [math]\displaystyle{ p \nmid V_{2 w} }[/math], to [math]\displaystyle{ p \mid U_{2 w} }[/math].
●    [math]\displaystyle{ p \mid U_{2 w} \;\; \Longleftrightarrow \;\; p \mid U_w \cdot V_w }[/math] Jeżeli [math]\displaystyle{ p \mid V_w }[/math], to twierdzenie jest dowiedzione. Jeżeli [math]\displaystyle{ p \nmid V_w }[/math], to [math]\displaystyle{ p \mid U_w }[/math].

Z powyższego wynika, że musi być spełniony jeden z wypisanych w twierdzeniu warunków.


Zauważmy teraz, że jeżeli liczba pierwsza [math]\displaystyle{ p }[/math] dzieli [math]\displaystyle{ V_w }[/math], to [math]\displaystyle{ p \nmid U_w }[/math], bo [math]\displaystyle{ p }[/math] nie może jednocześnie być dzielnikiem liczb [math]\displaystyle{ U_w }[/math] i [math]\displaystyle{ V_w }[/math].

Zauważmy też, że jeżeli dla pewnego [math]\displaystyle{ k \in [1, r - 1] }[/math] liczba pierwsza [math]\displaystyle{ p }[/math] dzieli [math]\displaystyle{ V_{2^k w} }[/math], to [math]\displaystyle{ p }[/math] nie dzieli żadnej liczby [math]\displaystyle{ V_{2^j w} }[/math] dla [math]\displaystyle{ j \in [0, k - 1] \;\; \text{i} \;\; p \nmid U_w }[/math]. Istotnie:

●    jeżeli [math]\displaystyle{ p \mid V_{2^k w} }[/math], to [math]\displaystyle{ p \nmid U_{2^k w} \;\; \text{i} \;\; U_{2^k w} = U_{2^{k - 1} w} V_{2^{k - 1} w} }[/math], zatem [math]\displaystyle{ p }[/math] nie może być dzielnikiem żadnej z liczb [math]\displaystyle{ U_{2^{k - 1} w} \;\; \text{i} \;\; V_{2^{k - 1} w} }[/math]
●    jeżeli [math]\displaystyle{ p \nmid U_{2^{k - 1} w} \;\; \text{i} \;\; U_{2^{k - 1} w} = U_{2^{k - 2} w} V_{2^{k - 2} w} }[/math], to [math]\displaystyle{ p }[/math] nie może być dzielnikiem żadnej z liczb [math]\displaystyle{ U_{2^{k - 2} w} \;\; \text{i} \;\; V_{2^{k - 2} w} }[/math]
●    [math]\displaystyle{ ................. }[/math]
●    jeżeli [math]\displaystyle{ p \nmid U_{4 w} \;\; \text{i} \;\; U_{4 w} = U_{2 w} V_{2 w} }[/math], to [math]\displaystyle{ p }[/math] nie może być dzielnikiem żadnej z liczb [math]\displaystyle{ U_{2 w} \;\; \text{i} \;\; V_{2 w} }[/math]
●    jeżeli [math]\displaystyle{ p \nmid U_{2 w} \;\; \text{i} \;\; U_{2 w} = U_w V_w }[/math], to [math]\displaystyle{ p }[/math] nie może być dzielnikiem żadnej z liczb [math]\displaystyle{ U_w \;\; \text{i} \;\; V_w }[/math]


Co dowodzi, że spełniony jest dokładnie jeden z [math]\displaystyle{ r + 1 }[/math] warunków:

[math]\displaystyle{ U_w \equiv 0 \pmod{p} }[/math]
[math]\displaystyle{ V_{2^k w} \equiv 0 \pmod{p} \qquad }[/math] gdzie [math]\displaystyle{ k \in [0, r - 1] }[/math]

Co należało pokazać.


Konsekwentnie definiujemy liczby pseudopierwsze
Definicja N35
Powiemy, że liczba złożona nieparzysta [math]\displaystyle{ m }[/math] jest liczbą silnie pseudopierwszą Lucasa (SLPSP) dla parametrów [math]\displaystyle{ P }[/math] i [math]\displaystyle{ Q }[/math], jeżeli [math]\displaystyle{ \gcd (m, Q D) = 1 }[/math] oraz [math]\displaystyle{ m - (D \mid m) = 2^r w }[/math], gdzie [math]\displaystyle{ w }[/math] jest liczbą nieparzystą i spełniony jest jeden z warunków

[math]\displaystyle{ U_w \equiv 0 \pmod{m} }[/math]

lub

[math]\displaystyle{ V_{2^k w} \equiv 0 \pmod{m} \; }[/math] dla pewnego [math]\displaystyle{ k \in [0, r - 1] }[/math]


Uwaga N36
Każda liczba SLPSP([math]\displaystyle{ P, Q }[/math]) jest LPSP([math]\displaystyle{ P, Q }[/math]). Korzystając ze zdefiniowanych wcześniej funkcji: modPower(a, n, m), jacobi(a, n) i modLucas(n, P, Q, m) (zobacz M2, J47, N15), możemy napisać prosty program, który sprawdza, czy liczba [math]\displaystyle{ m }[/math] spełnia jeden z warunków podanych w twierdzeniu N34.

isPrimeOrSLPSP(m, P, Q) = 
{
local(a, b, c, D, js, k, r, w, X);
D = P^2 - 4*Q;
if( gcd(m, 2*Q*D) > 1, return(0) );
js = jacobi(D, m);
r = valuation(m - js, 2); \\ znajdujemy wykładnik, z jakim liczba 2 występuje w m - js
w = (m - js) / 2^r;
X =  modLucas(w, P, Q, m);
a = X[1]; \\ U_w(P, Q) % m
b = X[2]; \\ V_w(P, Q) % m
if( a == 0 || b == 0, return(1) ); \\ b == 0 to przypadek k == 0
if( r == 1, return(0) ); \\ nie ma dalszych przypadków
c = modPower(Q, w, m); \\ Q^w % m
k = 0;
\\ sprawdzamy warunek V_(2^k * w) % m = 0; korzystamy ze wzoru V_(2*t) = (V_t)^2 - 2*Q^t
while( k++ < r,
       b = (b^2 - 2*c) % m;
       if( b == 0, return(1) );
       c = c^2 % m;
     );
return(0);
}


Przykład N37
Poniższa tabela zawiera najmniejsze liczby silnie pseudopierwsze Lucasa dla różnych parametrów [math]\displaystyle{ P }[/math] i [math]\displaystyle{ Q }[/math]

Pokaż kod
FirstSLPSP(Stop) = 
\\ najmniejsze SLPSP(P,Q) < Stop;  dla 1<=P<=10 i -5<=Q<=5
{
local(D, m, P, Q);
Q = -6;
while( Q++ <= 5,
       if( Q == 0, next() );
       P = 0;
       while( P++ <= 10,
              D = P^2 - 4*Q;
              if( D == 0, 
                  print("Q= ", Q, "   P= ", P, "   ------------------");
                  next();
                );
              m = 3;
              while( m < Stop,
                     if( isPrimeOrSLPSP(m, P, Q)  &&  !isprime(m), 
                         print("Q= ", Q, "   P= ", P, "   m= ", m, "   (D|m)= ", jacobi(D, m));
                         break();
                       );
                     m = m + 2;
                   );
           );
     );
}


Żółtym tłem oznaczyliśmy te najmniejsze liczby pseudopierwsze Lucasa, dla których [math]\displaystyle{ (D \mid m) = - 1 }[/math].


Przykład N38
Ilość liczb SLPSP([math]\displaystyle{ P, Q }[/math]) mniejszych od [math]\displaystyle{ 10^9 }[/math]


Pokaż kod
NumOfSLPSP(Stop) = 
\\ ilość liczb silnie pseudopierwszych Lucasa SLPSP(P,Q) < Stop;  dla 1<=P<=10 i -5<=Q<=5
{
local(D, m, P, Q);
Q = -6;
while( Q++ <= 5,
       if( Q == 0, next() );
       P = 0;
       while( P++ <= 10,
              D = P^2 - 4*Q;
              if( D == 0, print("Q= ", Q, "   P= ", P, "   ------------------"); next() );
              s = 0;
              m = 3;
              while( m < Stop,
                     if( isPrimeOrSLPSP(m, P, Q)  &&  !isprime(m), s++ );
                     m = m + 2;
                   );
              print("Q= ", Q, "   P= ", P, "   s= ", s);
            );
     );
}



Uwaga N39
Można pokazać[2], że dla liczby złożonej nieparzystej [math]\displaystyle{ m \neq 9 }[/math] i ustalonego [math]\displaystyle{ D }[/math] ilość par [math]\displaystyle{ P, Q }[/math] takich, że

  • [math]\displaystyle{ 0 \leqslant P, Q \lt m }[/math]
  • [math]\displaystyle{ \gcd (Q, m) = 1 }[/math]
  • [math]\displaystyle{ P^2 - 4 Q \equiv D \pmod{m} }[/math]
  • [math]\displaystyle{ m }[/math] jest SLPSP([math]\displaystyle{ P, Q }[/math])

nie przekracza [math]\displaystyle{ \tfrac{4}{15} n }[/math].

Nie dotyczy to przypadku, gdy [math]\displaystyle{ m = p (p + 2) }[/math] jest iloczynem liczb pierwszych bliźniaczych takich, że [math]\displaystyle{ (D \mid p) = - (D \mid p + 2) = - 1 }[/math], wtedy mamy słabsze oszacowanie: [math]\displaystyle{ \# (P, Q) \leqslant \tfrac{1}{2} n }[/math]. Zauważmy, że taką sytuację łatwo wykryć, bo w tym przypadku [math]\displaystyle{ m + 1 = (p + 1)^2 }[/math] jest liczbą kwadratową.


Uwaga N40
Podobnie jak w przypadku liczb pseudopierwszych Lucasa LPSP([math]\displaystyle{ P, Q }[/math]) tak i w przypadku liczb silnie pseudopierwszych Lucasa SLPSP([math]\displaystyle{ P, Q }[/math]) możemy testować pierwszość liczby [math]\displaystyle{ m }[/math], wybierając liczby [math]\displaystyle{ P, Q }[/math] losowo lub zastosować wybraną metodę postępowania. Przedstawiony poniżej program, to zmodyfikowany kod z uwagi N36. Teraz parametry [math]\displaystyle{ P, Q }[/math] są wybierane metodą Selfridge'a, a symbol Jacobiego [math]\displaystyle{ (D \mid m) }[/math] jest równy [math]\displaystyle{ - 1 }[/math].

StrongLucasTest(m) =
{
local(a, b, c, k, P, Q, r, w, X);
if( m % 2 == 0, return(m == 2) );
if( issquare(m), return(0) ); \\ sprawdzamy, czy liczba m nie jest kwadratowa
X = MethodA(m);
P = X[1];
Q = X[2];
if( P == 0 || gcd(m, 2*Q) > 1, return(0) ); \\ jeżeli P = 0, to m jest liczbą złożoną
r = valuation(m + 1, 2); \\ znajdujemy wykładnik, z jakim liczba 2 występuje w m + 1
w = (m + 1) / 2^r;
X =  modLucas(w, P, Q, m);
a = X[1]; \\ U_w(P, Q) % m
b = X[2]; \\ V_w(P, Q) % m
if( a == 0 || b == 0, return(1) ); \\ b == 0 to przypadek k == 0
if( r == 1, return(0) ); \\ nie ma dalszych przypadków
c = modPower(Q, w, m); \\ Q^w % m
k = 0;
\\ sprawdzamy warunek V_(2^k * w) %m = 0; korzystamy ze wzoru V_(2*w) = (V_w)^2 - 2*Q^w
while( k++ < r,
       b = (b^2 - 2*c) % m;
       if( b == 0, return(1) );
       c = c^2 % m;
     );
return(0);
}


Uwaga N41
Najmniejsze liczby silnie pseudopierwsze Lucasa, które otrzymujemy po zastosowaniu metody Selfridge'a wyboru parametrów [math]\displaystyle{ P }[/math] i [math]\displaystyle{ Q }[/math], to

[math]\displaystyle{ 5459, 5777, 10877, 16109, 18971, 22499, 24569, 25199, 40309, 58519, 75077, 97439, \ldots }[/math]
Pokaż kod
forstep(k=1, 10^5, 2, if( StrongLucasTest(k) && !isprime(k), print(k)) )



Tabela przedstawia ilość takich liczb nie większych od [math]\displaystyle{ 10^n }[/math]

Pokaż kod
for(n=3, 9, s=0; forstep(k = 1, 10^n, 2, if( StrongLucasTest(k) && !isprime(k), s++ ) ); print("n=", n, "   ", s) )




Test BPSW

Uwaga N42
Jest [math]\displaystyle{ 488 }[/math] liczb SPSP([math]\displaystyle{ 2 }[/math]) mniejszych od [math]\displaystyle{ 10^8 }[/math] i są 582 liczby SPSP([math]\displaystyle{ 3 }[/math]) mniejsze od [math]\displaystyle{ 10^8 }[/math] (zobacz M21). Ale jest aż [math]\displaystyle{ 21 }[/math] liczb mniejszych od [math]\displaystyle{ 10^8 }[/math] silnie pseudopierwszych jednocześnie względem podstaw [math]\displaystyle{ 2 }[/math] i [math]\displaystyle{ 3 }[/math]:

[math]\displaystyle{ 1373653, 1530787, 1987021, 2284453, 3116107, 5173601, 6787327, 11541307, 13694761, 15978007, 16070429, }[/math]

[math]\displaystyle{ 16879501, 25326001, 27509653, 27664033, 28527049, 54029741, 61832377, 66096253, 74927161, 80375707 }[/math]

Pokaż kod
forstep(m=3, 10^8, 2, if( isPrimeOrSPSP(m, 2)  &&  isPrimeOrSPSP(m, 3)  &&  !isprime(m), print("m=", m) ) )


Widzimy, że prawdopodobieństwo błędnego rozpoznania pierwszości w przypadku liczb mniejszych od [math]\displaystyle{ 10^8 }[/math] dla podstawy [math]\displaystyle{ 2 }[/math] lub podstawy [math]\displaystyle{ 3 }[/math] jest rzędu kilku milionowych. Gdyby prawdopodobieństwa błędnego rozpoznania pierwszości w przypadku podstawy [math]\displaystyle{ 2 }[/math] lub podstawy [math]\displaystyle{ 3 }[/math] były niezależne, to spodziewalibyśmy się, że nie będzie wcale liczb mniejszych od [math]\displaystyle{ 10^8 }[/math] silnie pseudopierwszych jednocześnie względem podstaw [math]\displaystyle{ 2 }[/math] i [math]\displaystyle{ 3 }[/math], bo prawdopodobieństwo takiego zdarzenia byłoby równe kilkudziesięciu bilonowym. Ale tak nie jest.

Jest to mocny argument za tym, że zastosowanie różnych (niezależnych) testów może być znacznie silniejszym narzędziem do testowania pierwszości liczb, niż wielokrotne stosowanie tego samego testu, gdzie poszczególne próby są tylko pozornie niezależne.

Połączenie znanych nam już testów prowadzi do prostego programu

BPSWtest(m) =
{
forprime(p = 2, 1000, if( m % p > 0, next() ); if( m == p, return(1), return(0) ));
if( !isPrimeOrSPSP(m, 2), return(0) );
if( !StrongLucasTest(m), return(0), return(1) );
}


Funkcja BPSWtest(m) kolejno sprawdza:

  • czy liczba [math]\displaystyle{ m }[/math] jest podzielna przez niewielkie liczby pierwsze (w naszym przypadku mniejsze od [math]\displaystyle{ 1000 }[/math]); jeśli tak, to sprawdza, czy [math]\displaystyle{ m }[/math] jest liczbą pierwszą, czy złożoną i zwraca odpowiednio [math]\displaystyle{ 1 }[/math] lub [math]\displaystyle{ 0 }[/math]
  • czy liczba [math]\displaystyle{ m }[/math] przechodzi test Millera-Rabina dla podstawy [math]\displaystyle{ 2 }[/math]; jeśli nie, to zwraca [math]\displaystyle{ 0 }[/math]
  • czy liczba [math]\displaystyle{ m }[/math] przechodzi silny test Lucasa dla parametrów [math]\displaystyle{ P }[/math] i [math]\displaystyle{ Q }[/math], które wybieramy metodą Selfridge'a; jeśli nie, to zwraca [math]\displaystyle{ 0 }[/math], w przeciwnym wypadku zwraca [math]\displaystyle{ 1 }[/math]


Test w dokładnie takiej postaci zaproponowali Robert Baillie i Samuel Wagstaff[1]. Nazwa testu to akronim, utworzony od pierwszych liter nazwisk Roberta Bailliego, Carla Pomerance'a, Johna Selfridge'a i Samuela Wagstaffa.

Nie jest znany żaden przykład liczby złożonej [math]\displaystyle{ m }[/math], którą test BPSW[3][4] identyfikowałby jako pierwszą i z pewnością nie ma takich liczb dla [math]\displaystyle{ m \lt 2^{64} \approx 1.844 \cdot 10^{19} }[/math]. Warto przypomnieć: potrzebowaliśmy siedmiu testów Millera-Rabina (dla podstaw [math]\displaystyle{ 2, 3, 5, 7, 11, 13, 17 }[/math]), aby mieć pewność, że dowolna liczba [math]\displaystyle{ m \lt 3.41 \cdot 10^{14} }[/math] jest pierwsza (zobacz M22).



Uzupełnienia

 

Pewne własności współczynników dwumianowych

 

Twierdzenie N43
Jeżeli [math]\displaystyle{ p }[/math] jest liczbą pierwszą, to

[math]\displaystyle{ \binom{p}{k} \equiv 0 \pmod{p} }[/math]

dla każdego [math]\displaystyle{ k \in [1, p - 1] }[/math].

Dowód

Łatwo zauważamy, że dla [math]\displaystyle{ k \in [1, p - 1] }[/math] liczba pierwsza [math]\displaystyle{ p }[/math] dzieli licznik, ale nie dzieli mianownika współczynnika dwumianowego

[math]\displaystyle{ \binom{p}{k} = {\small\frac{p!}{k! \cdot (p - k)!}} }[/math]

zatem [math]\displaystyle{ p \biggr\rvert \binom{p}{k} }[/math]. Co należało pokazać.


Twierdzenie N44
Jeżeli [math]\displaystyle{ p }[/math] jest liczbą pierwszą nieparzystą, to

[math]\displaystyle{ \binom{p + 1}{k} \equiv 0 \pmod{p} }[/math]

dla każdego [math]\displaystyle{ k \in [2, p - 1] }[/math].

Dowód

Jeżeli [math]\displaystyle{ k \in [2, p - 1] }[/math], to modulo [math]\displaystyle{ p }[/math] dostajemy

[math]\displaystyle{ \binom{p + 1}{k} = \binom{p}{k} + \binom{p}{k - 1} \equiv 0 \pmod{p} }[/math]

Bo liczba pierwsza [math]\displaystyle{ p }[/math] dzieli licznik, ale nie dzieli mianownika współczynników dwumianowych po prawej stronie. Co należało pokazać.


Twierdzenie N45
Jeżeli [math]\displaystyle{ p }[/math] jest liczbą pierwszą, to

[math]\displaystyle{ \binom{p - 1}{k} \equiv (- 1)^k \pmod{p} }[/math]

dla każdego [math]\displaystyle{ k \in [0, p - 1] }[/math].

Dowód

Łatwo sprawdzamy, że twierdzenie jest prawdziwe dla liczby pierwszej parzystej [math]\displaystyle{ p = 2 }[/math]. Załóżmy, że [math]\displaystyle{ p }[/math] jest liczbą pierwszą nieparzystą. Równie łatwo sprawdzamy, że twierdzenie jest prawdziwe dla [math]\displaystyle{ k = 0 }[/math] i [math]\displaystyle{ k = 1 }[/math]. Zauważmy, że dla [math]\displaystyle{ k \in [1, p - 1] }[/math] jest

[math]\displaystyle{ \binom{p - 1}{k} = {\small\frac{(p - 1) !}{k! (p - 1 - k) !}} = {\small\frac{p - k}{k}} \cdot {\small\frac{(p - 1) !}{(k - 1) ! (p - k) !}} = {\small\frac{p - k}{k}} \cdot \binom{p - 1}{k - 1} = {\small\frac{p}{k}} \cdot \binom{p - 1}{k - 1} - \binom{p - 1}{k - 1} }[/math]

Ponieważ współczynniki dwumianowe są liczbami całkowitymi, a liczba [math]\displaystyle{ k \in [2, p - 1] }[/math] nie dzieli liczby pierwszej nieparzystej [math]\displaystyle{ p }[/math], to [math]\displaystyle{ k }[/math] musi dzielić liczbę [math]\displaystyle{ \binom{p - 1}{k - 1} }[/math]. Zatem dla [math]\displaystyle{ k \in [2, p - 1] }[/math] modulo [math]\displaystyle{ p }[/math] mamy

[math]\displaystyle{ \binom{p - 1}{k} \equiv - \binom{p - 1}{k - 1}\pmod{p} }[/math]

Skąd otrzymujemy

[math]\displaystyle{ \binom{p - 1}{k} \equiv (- 1)^1 \binom{p - 1}{k - 1} \equiv (- 1)^2 \binom{p - 1}{k - 2} \equiv \ldots \equiv (- 1)^{k - 2} \binom{p - 1}{2} \equiv (- 1)^{k - 1} \binom{p - 1}{1} \equiv (- 1)^k \pmod{p} }[/math]

Co należało pokazać. Zobacz też zadanie H21.


Twierdzenie N46
Dla współczynników dwumianowych prawdziwe są następujące wzory

[math]\displaystyle{ \underset{k \; \text{parzyste}}{\sum_{k = 0}^{n}} \binom{n}{k} = 2^{n - 1} }[/math]
[math]\displaystyle{ \underset{k \; \text{nieparzyste}}{\sum_{k = 1}^{n}} \binom{n}{k} = 2^{n - 1} }[/math]
Dowód

Ze wzoru dwumianowego

[math]\displaystyle{ (a + b)^n = \sum_{k = 0}^{n} \binom{n}{k} a^{n - k} b^k }[/math]

z łatwością otrzymujemy

[math]\displaystyle{ (1 + 1)^n = \sum_{k = 0}^{n} \binom{n}{k} = 2^n }[/math]
[math]\displaystyle{ (1 - 1)^n = \sum_{k = 0}^{n} (- 1)^k \binom{n}{k} = 0 }[/math]

Obliczając sumę i różnicę powyższych wzorów mamy

[math]\displaystyle{ \sum_{k = 0}^{n} \binom{n}{k} (1 + (- 1)^k) = 2 \underset{k \; \text{parzyste}}{\sum^n_{k = 0}} \binom{n}{k} = 2^n }[/math]
[math]\displaystyle{ \sum_{k = 0}^{n} \binom{n}{k} (1 - (- 1)^k) = 2 \underset{k \; \text{nieparzyste}}{\sum_{k = 1}^{n}} \binom{n}{k} = 2^n }[/math]

Skąd natychmiast wynika

[math]\displaystyle{ \underset{k \; \text{parzyste}}{\sum_{k = 0}^{n}} \binom{n}{k} = 2^{n - 1} }[/math]
[math]\displaystyle{ \underset{k \; \text{nieparzyste}}{\sum_{k = 1}^{n}} \binom{n}{k} = 2^{n - 1} }[/math]

Co należało pokazać.



Funkcje digits(m, b) oraz issquare(m)

 

Uwaga N47
W funkcji modLucas() wykorzystaliśmy zaimplementowaną w PARI/GP funkcję

digits(m, b) – zwraca wektor cyfr liczby [math]\displaystyle{ | m | }[/math] w systemie liczbowym o podstawie [math]\displaystyle{ b }[/math]

W naszym przypadku potrzebowaliśmy uzyskać wektor cyfr liczby [math]\displaystyle{ m }[/math] w układzie dwójkowym, czyli funkcję digits(m, 2) . Wprowadzenie tej funkcji pozwoliło zwiększyć czytelność kodu, ale bez trudu możemy ją sami napisać. Zauważmy, że do zapisania liczby [math]\displaystyle{ m \geqslant 1 }[/math] potrzebujemy [math]\displaystyle{ \log_2 m + 1 }[/math] cyfr. Zastępując funkcję [math]\displaystyle{ \log_2 m }[/math] funkcją [math]\displaystyle{ \left \lfloor \tfrac{\log m}{\log 2} \right \rfloor }[/math] musimy liczyć się z możliwym błędem zaokrąglenia – dlatego w programie deklarujemy wektor V o długości floor( log(m)/log(2) ) + 2. Zwracany wektor W ma już prawidłową długość.

Dec2Bin(m) = 
\\ zwraca wektor cyfr liczby m w układzie dwójkowym
{
local(i, k, V, W);
if( m == 0, return([0]) );
V = vector( floor( log(m)/log(2) ) + 2 ); \\ potrzeba floor( log(m)/log(2) ) + 1, ale błąd zaokrąglenia może zepsuć wynik
k = 0;
while( m > 0,
       V[k++] = m % 2;
       m = floor(m / 2);
     );
W = vector(k);
for(i = 1, k, W[i] = V[k + 1 - i]);
return(W);
}


Uwaga N48
W funkcjach LucasTest() i StrongLucasTest() wykorzystaliśmy zaimplementowaną w PARI/GP funkcję

issquare(m) – sprawdza, czy liczba [math]\displaystyle{ m }[/math] jest liczbą kwadratową

Wprowadzenie tej funkcji pozwoliło zwiększyć czytelność kodu, ale bez trudu możemy ją sami napisać. Potrzebna nam będzie funkcja, która znajduje całość z pierwiastka z liczby [math]\displaystyle{ m }[/math], czyli [math]\displaystyle{ \left\lfloor \sqrt{m} \right\rfloor }[/math]. Wykorzystamy tutaj ciąg

[math]\displaystyle{ a_{k + 1} = \begin{cases} \qquad \;\; 1 & \text{gdy } k = 0 \\ \tfrac{1}{2} \left( a_k + \tfrac{x}{a_k} \right) & \text{gdy } k \gt 0 \\ \end{cases} }[/math]

którego granicą jest [math]\displaystyle{ \sqrt{x} }[/math] [5].

Modyfikując powyższą definicję tak, aby operacje były zawsze wykonywane na liczbach całkowitych[6]

[math]\displaystyle{ a_{k + 1} = \begin{cases} \qquad \quad \; 1 & \text{gdy } k = 0 \\ \left\lfloor \tfrac{1}{2} \left( a_k + \left\lfloor \tfrac{m}{a_k} \right\rfloor \right) \right\rfloor & \text{gdy } k \gt 0 \\ \end{cases} }[/math]

otrzymujemy ciąg, którego wszystkie wyrazy, począwszy od pewnego skończonego [math]\displaystyle{ n_0 }[/math], są równe [math]\displaystyle{ \left\lfloor \sqrt{m} \right\rfloor }[/math]. Nie dotyczy to przypadku, gdy [math]\displaystyle{ m + 1 }[/math] jest liczbą kwadratową, wtedy, począwszy od pewnego skończonego [math]\displaystyle{ n_0 }[/math], wyrazy ciągu przyjmują na zmianę wartości [math]\displaystyle{ \left\lfloor \sqrt{m} \right\rfloor }[/math] oraz [math]\displaystyle{ \left\lfloor \sqrt{m} \right\rfloor + 1 }[/math].

Na tej podstawie możemy w PARI/GP napisać funkcję

intSqrt(m) = 
{
local(a, b);
if( m == 0, return(0) );
a = 2^( floor( log(m)/log(2)/2 ) + 2 ); \\ musi być a > sqrt(m)
b = floor(( a + floor( m/a ) )/2);
while( b < a,
       a = b;
       b = floor( ( a + floor(m/a) )/2 );
     );
return(a);
}

Oczywiście liczba [math]\displaystyle{ m }[/math] jest liczbą kwadratową, wtedy i tylko wtedy, gdy [math]\displaystyle{ m = \left\lfloor \sqrt{m} \right\rfloor^2 }[/math], zatem wystarczy sprawdzić, czy m == intSqrt(m)^2.








Przypisy

  1. 1,0 1,1 Robert Baillie and Samuel S. Wagstaff Jr., Lucas Pseudoprimes, Mathematics of Computation Vol. 35, No. 152 (1980), (LINK)
  2. François Arnault, The Rabin-Monier Theorem for Lucas Pseudoprimes, Mathematics of Computation Vol. 66, No. 218 (1997)
  3. Wikipedia, Baillie–PSW primality test, (Wiki-en)
  4. MathWorld, Baillie-PSW Primality Test, (LINK)
  5. Wikipedia, Pierwiastek kwadratowy, (Wiki-pl), (Wiki-en)
  6. Wikipedia, Integer square root, (Wiki-en)