Na czym polega pierwiastkowanie
- Niepokonana
- Użytkownik
- Posty: 1546
- Rejestracja: 4 sie 2019, o 11:12
- Płeć: Kobieta
- Lokalizacja: Polska
- Podziękował: 335 razy
- Pomógł: 20 razy
Na czym polega pierwiastkowanie
Dzień dobry
Jedna rzecz mnie zastanawia od dawna. Wszyscy wiemy, jak się dodaje, odejmuje, potęguje. No ale skąd wiadomo, na czym polega pierwiastkowanie? Skąd wiadomo, jaki jest wynik pierwiastkowania? Jak policzono, że \(\displaystyle{ \sqrt{2} \approx 1,41}\)? Sprawdzono wszystkie liczby większe od jedynki, mniejsze od dwójki, aż uzyskano poprawny wynik? Wydaje mi się to mało efektywne. Jednakże każdy kalkulator umie pierwiastkować, jakoby było to oczywiste. Według mnie jest to co najmniej dziwne.
Jedna rzecz mnie zastanawia od dawna. Wszyscy wiemy, jak się dodaje, odejmuje, potęguje. No ale skąd wiadomo, na czym polega pierwiastkowanie? Skąd wiadomo, jaki jest wynik pierwiastkowania? Jak policzono, że \(\displaystyle{ \sqrt{2} \approx 1,41}\)? Sprawdzono wszystkie liczby większe od jedynki, mniejsze od dwójki, aż uzyskano poprawny wynik? Wydaje mi się to mało efektywne. Jednakże każdy kalkulator umie pierwiastkować, jakoby było to oczywiste. Według mnie jest to co najmniej dziwne.
Re: Na czym polega pierwiastkowanie
Liczba \(\sqrt{2}\) jest granicą ciągu przybliżeń wymiernych. Można zrobić tak: bierzemy
\[
\begin{aligned}
1&<\sqrt{2}<2\\
1.4&<\sqrt{2}<1.5\\
1.41&<\sqrt{2}<1.42\\
1.414&<\sqrt{2}<1.415\\
&\vdots
\end{aligned}
\]
Liczba \(\sqrt{2}\) jest wspólną granicą ciągów ograniczeń dolnych oraz górnych.
\[
\begin{aligned}
1&<\sqrt{2}<2\\
1.4&<\sqrt{2}<1.5\\
1.41&<\sqrt{2}<1.42\\
1.414&<\sqrt{2}<1.415\\
&\vdots
\end{aligned}
\]
Liczba \(\sqrt{2}\) jest wspólną granicą ciągów ograniczeń dolnych oraz górnych.
- Niepokonana
- Użytkownik
- Posty: 1546
- Rejestracja: 4 sie 2019, o 11:12
- Płeć: Kobieta
- Lokalizacja: Polska
- Podziękował: 335 razy
- Pomógł: 20 razy
Re: Na czym polega pierwiastkowanie
No dobrze, dziękuję za odpowiedź, ale to nadal jest sprawdzanie liczb po kolei. Naprawdę pierwiastkowanie na tym polega? Ja w to nie wierzę. Na pewno musi być jakiś sposób, żeby to od tak wyliczyć.
- kinia7
- Użytkownik
- Posty: 704
- Rejestracja: 28 lis 2012, o 11:58
- Płeć: Kobieta
- Lokalizacja: Wrocław
- Podziękował: 89 razy
- Pomógł: 94 razy
Re: Na czym polega pierwiastkowanie
Sprawdź tutaj:
Dodano po 1 minucie 19 sekundach:
Jest również dość prosty sposób pisemnego obliczania pierwiastka drugiego stopnia.
Kod: Zaznacz cały
https://pl.wikipedia.org/wiki/Algorytm_obliczania_pierwiastka_n-tego_stopnia
Dodano po 1 minucie 19 sekundach:
Jest również dość prosty sposób pisemnego obliczania pierwiastka drugiego stopnia.
- Dasio11
- Moderator
- Posty: 10211
- Rejestracja: 21 kwie 2009, o 19:04
- Płeć: Mężczyzna
- Lokalizacja: Wrocław
- Podziękował: 40 razy
- Pomógł: 2359 razy
Re: Na czym polega pierwiastkowanie
Pierwiastkowanie polega na przypisaniu każdej liczbie nieujemnej \(\displaystyle{ y \ge 0}\) jedynego nieujemnego rozwiązania \(\displaystyle{ x}\) równania \(\displaystyle{ x^2 = y}\). A skąd to wiadomo? Bo od momentu, gdy ludzkość zdefiniowała w ten sposób pierwiastkowanie, ta wiedza jest przekazywana kolejnym pokoleniom matematyków na wykładach i w podręcznikach.
Co to znaczy "jaki"? Cechą w pełni charakteryzującą na przykład \(\displaystyle{ \sqrt{2}}\) jest to, że to liczba rzeczywista nieujemna, której kwadrat wynosi dwa. Jeśli chcesz zapytać skąd wiadomo, że ta liczba ma jakąś inną cechę, to musisz podać jaka to cecha.
Wiadomo że podnoszenie do kwadratu liczb nieujemnych jest funkcją rosnącą. Zatem jeśli policzymy że \(\displaystyle{ 1{,}41^2 < 2 < 1{,}42^2}\), to stąd natychmiast wynika, że \(\displaystyle{ 1{,}41 < \sqrt{2} < 1{,}42}\), co wystarcza do stwierdzenia że \(\displaystyle{ \sqrt{2} \approx 1{,}41}\).Niepokonana pisze: ↑12 gru 2020, o 19:36Jak policzono, że \(\displaystyle{ \sqrt{2} \approx 1,41}\)? Sprawdzono wszystkie liczby większe od jedynki, mniejsze od dwójki, aż uzyskano poprawny wynik?
Jeśli natomiast chodzi o wyznaczenie rozwinięcia dziesiętnego metodą lepszą niż na chybił-trafił, to jedną z bardziej efektywnych jest
Kod: Zaznacz cały
https://pl.wikipedia.org/wiki/Metoda_Newtona
\(\displaystyle{ \begin{cases} a_0 = 1 \\ a_{n+1} = \frac{1}{2} \left( a_n + \frac{p}{a_n} \right) \end{cases}}\)
Można wykazać, że ten ciąg jest bardzo szybko zbieżny do liczby \(\displaystyle{ \sqrt{p}}\) - obliczenie każdego kolejnego wyrazu mniej-więcej podwaja liczbę prawidłowych cyfr po przecinku.
Re: Na czym polega pierwiastkowanie
Funkcja \(f(x)=\frac{1}{2}\left(x+\frac{p}{x}\right)\) jest zwężająca ze stałą \(\frac{1}{2}.\) Z twierdzenia Banacha wynika, że\[|a_n-\sqrt{p}|\le\frac{1}{2^{n-1}}|a_1-a_0|=\frac{1-p}{2^n},\]więc istotnie ciąg \((a_n)\) jest bardzo szybko zbieżny i rację masz mówiąc o podwajaniu precyzji za każdym krokiem.Dasio11 pisze: ↑12 gru 2020, o 20:27 Jeśli natomiast chodzi o wyznaczenie rozwinięcia dziesiętnego metodą lepszą niż na chybił-trafił, to jedną z bardziej efektywnych jest. Konkretnie: dla ustalonej liczby \(\displaystyle{ p > 0}\) definiujemy rekurencyjnie ciągKod: Zaznacz cały
https://pl.wikipedia.org/wiki/Metoda_Newtona
\(\displaystyle{ \begin{cases} a_0 = 1 \\ a_{n+1} = \frac{1}{2} \left( a_n + \frac{p}{a_n} \right) \end{cases}}\)
Można wykazać, że ten ciąg jest bardzo szybko zbieżny do liczby \(\displaystyle{ \sqrt{p}}\) - obliczenie każdego kolejnego wyrazu mniej-więcej podwaja liczbę prawidłowych cyfr po przecinku.
- Dasio11
- Moderator
- Posty: 10211
- Rejestracja: 21 kwie 2009, o 19:04
- Płeć: Mężczyzna
- Lokalizacja: Wrocław
- Podziękował: 40 razy
- Pomógł: 2359 razy
Re: Na czym polega pierwiastkowanie
Takie szacowanie nie wystarczy żeby uzasadnić to co napisałem - gdyby odległość \(\displaystyle{ |a_n-\sqrt{p}|}\) faktycznie była rzędu \(\displaystyle{ \frac{C}{2^n}}\), to co 3-4 kroki dostawalibyśmy jedną nową prawidłową cyfrę wyniku. Tymczasem zbieżność jest o wiele szybsza: liczba prawidłowych cyfr z każdą iteracją z grubsza się podwaja, co wynika z tożsamości
\(\displaystyle{ a_{n+1} - \sqrt{p} = \frac{1}{2 a_n} \left( a_n - \sqrt{p} \right)^2}\).
- Niepokonana
- Użytkownik
- Posty: 1546
- Rejestracja: 4 sie 2019, o 11:12
- Płeć: Kobieta
- Lokalizacja: Polska
- Podziękował: 335 razy
- Pomógł: 20 razy
Re: Na czym polega pierwiastkowanie
Dziękuję za odpowiedzi, chociaż nie bardzo wierzę w ten algorytm, ale ok.
Panie Dasiu, chodzi o zapis liczby cyframi, żeby było wiadomo, gdzie mniej więcej jest na osi.
Panie Dasiu, chodzi o zapis liczby cyframi, żeby było wiadomo, gdzie mniej więcej jest na osi.
-
- Użytkownik
- Posty: 926
- Rejestracja: 24 paź 2011, o 01:24
- Płeć: Mężczyzna
- Lokalizacja: Polska
- Podziękował: 75 razy
- Pomógł: 274 razy
Re: Na czym polega pierwiastkowanie
Eee, … zero zabawy.
Wybieram ułamki, np.:
\(\displaystyle{ \frac{30 \ 122 \ 754 \ 096 \ 401}{21 \ 300 \ 003 \ 689 \ 580}}\)
- jest całkiem dobrym przybliżeniem \(\displaystyle{ \sqrt{2}}\).
Wybieram ułamki, np.:
\(\displaystyle{ \frac{30 \ 122 \ 754 \ 096 \ 401}{21 \ 300 \ 003 \ 689 \ 580}}\)
- jest całkiem dobrym przybliżeniem \(\displaystyle{ \sqrt{2}}\).
- Niepokonana
- Użytkownik
- Posty: 1546
- Rejestracja: 4 sie 2019, o 11:12
- Płeć: Kobieta
- Lokalizacja: Polska
- Podziękował: 335 razy
- Pomógł: 20 razy
Re: Na czym polega pierwiastkowanie
Cóż, każdy lubi się bawić trochę inaczej, ale skąd brać takie ułamki?
-
- Użytkownik
- Posty: 926
- Rejestracja: 24 paź 2011, o 01:24
- Płeć: Mężczyzna
- Lokalizacja: Polska
- Podziękował: 75 razy
- Pomógł: 274 razy
Re: Na czym polega pierwiastkowanie
Temat troszkę zbyt obszerny by zawrzeć go w dwóch, trzech zdaniach. Tak w telegraficznym skrócie, przybliżamy wartość pierwiastka przy pomocy ułamków.
- Janusz Tracz
- Użytkownik
- Posty: 4060
- Rejestracja: 13 sie 2016, o 15:01
- Płeć: Mężczyzna
- Lokalizacja: hrubielowo
- Podziękował: 79 razy
- Pomógł: 1391 razy
Re: Na czym polega pierwiastkowanie
W podobnym duchu do tego co pokazał Dasio11. Istnieją sposoby bazujące na równość:
i jej iteracjach. Niebieski pierwiastek zamieniasz czerwonym:
teraz można to uciąć na pewnej iteracji co daje niezłe przybliżenie przykładowo:
\(\displaystyle{ \red{\sqrt {x}}=1+ \frac{x-1}{1+\blue{ \sqrt{x} }} }\)
i jej iteracjach. Niebieski pierwiastek zamieniasz czerwonym:
\(\displaystyle{ \red{\sqrt {x}}=1+ \frac{x-1}{1+ 1+ \frac{x-1}{1+\blue{ \sqrt{x}}}} = 1+ \frac{x-1}{2+ \frac{x-1}{1+\blue{ \sqrt{x}}}}}\)
\(\displaystyle{ \red{\sqrt {x}}= 1+ \frac{x-1}{2+ \frac{x-1}{1+1+ \frac{x-1}{1+\blue{ \sqrt{x} }} }}= 1+ \frac{x-1}{2+ \frac{x-1}{2+ \frac{x-1}{1+\blue{ \sqrt{x} }} }} }\)
\(\displaystyle{ \red{\sqrt {x}}}=1+{\cfrac {x-1}{2+{\cfrac {x-1}{2+{\cfrac {x-1}{2+{\ddots }}}}}}}\)
teraz można to uciąć na pewnej iteracji co daje niezłe przybliżenie przykładowo:
\(\displaystyle{ \sqrt {2}}\approx 1+{\cfrac {1}{2+{\cfrac {1}{2+{\cfrac {1}{2}}}}}}\)
- Niepokonana
- Użytkownik
- Posty: 1546
- Rejestracja: 4 sie 2019, o 11:12
- Płeć: Kobieta
- Lokalizacja: Polska
- Podziękował: 335 razy
- Pomógł: 20 razy
Re: Na czym polega pierwiastkowanie
A ok dziękuję, czyli to tak jakby jest to wzór z granicami tak jakby?
Teraz już rozumiem, o co chodzi z pierwiastkami.
Teraz już rozumiem, o co chodzi z pierwiastkami.
- Janusz Tracz
- Użytkownik
- Posty: 4060
- Rejestracja: 13 sie 2016, o 15:01
- Płeć: Mężczyzna
- Lokalizacja: hrubielowo
- Podziękował: 79 razy
- Pomógł: 1391 razy
Re: Na czym polega pierwiastkowanie
To stwierdzenie jest mocno nieprecyzyjne póki co. Bo formalnie jeszcze żadnej granicy nigdzie tu nie mamy. Wspólnym mianownikiem wypowiedzi szw1710, kinia7, Dasioa11 i mojej jest to, że pierwiastki liczy się jakimś algorytmem którego każdy następny krok pozwala na coraz lepsze odkrywanie dokładnej wartości \(\displaystyle{ \sqrt{x}}\). To jak taki algorytm wygląda to już inna sprawa, a to jaki algorytm stosuje kalkulator to jeszcze inna kwestia implementacji algorytmu. Najprostsze algorytmy polegają po prostu na metodzie chybił trafił ale można je tak sformalizować (metodą dzielenia przedziału) by były skuteczne i deterministyczne były zbieżne do wartości \(\displaystyle{ \sqrt{x} }\). Są też metody pisemne w słupku
Kod: Zaznacz cały
http://www.deltami.edu.pl/temat/matematyka/algebra/2018/01/25/Pierwiastkowanie_pod_kreska/
Kod: Zaznacz cały
https://pl.wikipedia.org/wiki/Metody_obliczania_pierwiastka_kwadratowego
Ale jakby się tak nad tym głębiej zastanowić to wcale nie jest to takie oczywiste. Skąd kalkulator wie ile to jest \(\displaystyle{ \pi ^{ \sqrt{2} }}\) albo nawet \(\displaystyle{ \sqrt{2} \cdot \sqrt{3} }\)? To nie jest wcale taki oczywiste. nawet samo mnożenie liczb niewymiernych nie jest banalne. Nie ma jakiejś (przynajmniej ja nie znam) interpretacji, że coś robimy \(\displaystyle{ n}\) razy tak jak w \(\displaystyle{ 2^4=2 \cdot 2 \cdot 2 \cdot 2}\) w liczbach niewymiernych. A skąd kalkulator wie ile to jest \(\displaystyle{ \sin 57^{\circ}}\) albo \(\displaystyle{ \lg_59}\)? Sprowadzić się to musi zawsze do dodawania bo tylko to komputer umie robić. A ogólne algorytmy mogą być bardzo dziwaczne. Przykładowo:Niepokonana pisze:Jedna rzecz mnie zastanawia od dawna. Wszyscy wiemy, jak się dodaje, odejmuje, potęguje.
\(\displaystyle{ \sin x={\cfrac {x}{1+{\cfrac {x^{2}}{2\cdot 3-x^{2}+{\cfrac {2\cdot 3x^{2}}{4\cdot 5-x^{2}+{\cfrac {4\cdot 5x^{2}}{6\cdot 7-x^{2}+\ddots }}}}}}}}}\)
\(\displaystyle{ \log(1+z)={\cfrac {z}{1+{\cfrac {z}{2-z+{\cfrac {2^{2}z}{3-2z+{\cfrac {3^{2}z}{4-3z+\ddots }}}}}}}}}\)
Gdy \(\displaystyle{ z=x^{n}+y}\)
\(\displaystyle{ {\sqrt[{n}]{z^{m}}}=x^{m}+{\cfrac {my}{nx^{n-m}+{\cfrac {(n-m)y}{2x^{m}+{\cfrac {(n+m)y}{3nx^{n-m}+{\cfrac {(2n-m)y}{2x^{m}+{\cfrac {(2n+m)y}{5nx^{n-m}+{\cfrac {(3n-m)y}{2x^{m}+\ddots }}}}}}}}}}}}}\)
to są przykładowe wzory które pozwalają przybliżyć niektóre funkcje jedynie za pomocą prostych działań które są algorytmiczne. Ogólnie to się nazywa ułamki łańcuchowe i chyba w kalkulatorach się tego nie stosuje (ale tego dokładnie nie wiem). Kalkulatory chyba mają wbudowane coś w rodzaju wzoru Taylora który też pozwala zwykle dość szybko określać wartość funkcji za pomocą prostych działań. Przykładowo przybliżoną wartość \(\displaystyle{ \sqrt{10} }\) można wyznaczyć przybliżając go \(\displaystyle{ \sqrt{9} }\) jako:
\(\displaystyle{ {\sqrt {10}}=\sum _{k=0}^{\infty }{\tfrac {f^{(k)}(9)(10-9)^{k}}{k!}}=\sum _{k=0}^{\infty }{\tfrac {f^{(k)}(9)}{k!}}\approx \sum _{k=0}^{N}{\tfrac {f^{(k)}(9)}{k!}}}\)
\(\displaystyle{ {\sqrt {10}}\approx {\sqrt {9}}+{\tfrac {1}{2{\sqrt {9}}}}-{\tfrac {1}{8({\sqrt {9}})^{3}}}+{\tfrac {3}{48({\sqrt {9}})^{5}}}=3+{\tfrac {1}{6}}-{\tfrac {1}{216}}+{\tfrac {1}{3888}}=3+{\tfrac {631}{3888}}\approx 3{,}162294238683127572016}\)
błąd takiego przybliżenia widać dopiero na piątym miejscu po przecinku. A są też metody które pozwalają na określenie na którym miejscu po przecinku pojawi się błąd, zatem mądry programista kalkulatora, który wyświetla nie więcej niż (powiedzmy) \(\displaystyle{ 10}\) cyfr, wie jak napisać kod tak by wszystkie te cyfry były prawdzie. A poza tym istnieją też ciekawe metody aproksymacji Padé w postaci funkcji wymiernej:
\(\displaystyle{ \sin(x)\approx {\frac {(12671/4363920)x^{5}-(2363/18183)x^{3}+x}{1+(445/12122)x^{2}+(601/872784)x^{4}+(121/16662240)x^{6}}}}\)
\(\displaystyle{ \exp(x)\approx {\frac {1+(1/2)x+(1/9)x^{2}+(1/72)x^{3}+(1/1008)x^{4}+(1/30240)x^{5}}{1-(1/2)x+(1/9)x^{2}-(1/72)x^{3}+(1/1008)x^{4}-(1/30240)x^{5}}}}\)
dające zaskakująco dobre przybliżenia (oczywiście lokalnie). Więc jak widać sprawa nie jest taka banalna. Ale większość tych metod można zalgorytmizować i napisać jako kod komputera. Co więcej większość tych metod jest od dawna znanych więc są dobrze zbadane i zwykle znany jest błąd jaki się popełnia. Więc można śledząc błąd pisać taki kod aby to co wyświetlamy na ekranie było pewne.
PS oczywiście nie wypisałem tego z głowy wszystkie te rzeczy można znaleźć w Internecie. Gównie odnośnikami z Wikipedii.