Pierwiastek kwadratowy

Pierwiastkowanie to operacja odwrotna do potęgowania. Pierwiastek stopniastopień pierwiastkastopnia n z liczby a będzie równy liczbie b, która podniesiona do potęgi n, da nam liczbę a.

an=b
bn=a

W przypadku, gdy stopień pierwiastka n równy jest 2, mówimy o pierwiastku kwadratowym. Oznaczamy go za pomocą symbolu √, pomijając wpisywanie stopnia w lewym górnym rogu znaku. Pamiętajmy, że w wypadku pierwiastka kwadratowego zakładamy, że liczby a oraz b są nieujemne. Przeanalizujmy prosty przykład:

Przykład 1

Wybraną liczbę poddamy operacji pierwiastkowania kwadratowego. Będzie to 36. Znajdźmy liczbę nieujemną, której podniesienie do kwadratu da 36. W tym wypadku wystarczy znajomość tabliczki mnożenia – szukaną wartością będzie oczywiście 6.

36=6
62=6·6=36

Przypomnieliśmy, czym są pierwiastki kwadratowe, zatem możemy przejść do algorytmu ich obliczania.

Obliczanie pierwiastka kwadratowego

Algorytm matematyczny – „liczenie w słupku”

Obliczając wartość pierwiastka kwadratowego, zwykle sięgamy do swojej pamięci bądź – w przypadku trudniejszych przykładów – korzystamy z kalkulatora. Tworząc programy, możemy stosować też biblioteki, dzięki którym da się przeprowadzić pierwiastkowanie z użyciem jednej funkcji. W rzeczywistości istnieje sporo algorytmów, których użycie umożliwia ręczne obliczenie wartości pierwiastków. Przeanalizujmy jedną z prostszych metod, określaną jako „cyfra po cyfrze”, „liczenie w słupku” lub „pierwiastkowanie pod kreską”. Na pierwszy rzut oka metoda ta może przypominać liczenie pisemne i rzeczywiście jest ono w niej wykorzystywane. Prześledźmy algorytm na przykładzie.

Przykład 2

Mamy obliczyć pierwiastek kwadratowy z liczby , dysponując jedynie kartką papieru i długopisem. Czekające nas obliczenia mogą wydawać się skomplikowane, jednak by ułatwić sobie zadanie, skorzystamy z omawianego algorytmu.

Kolejne kroki algorytmu:

  • Podaną liczbę dzielimy na dwucyfrowe pary, przy czym przecinek ma stanowić punkt oddzielający od siebie dwie pary (nie możemy stworzyć np. pary |7,0|). Gdy w danym segmencie brakuje nam jednej cyfry do stworzenia pary, możemy dopisać 0 z lewej strony w przypadku części całkowitejczęść całkowita liczbyczęści całkowitej lub z prawej strony w przypadku części ułamkowejczęść ułamkowa liczbyczęści ułamkowej. Podzielmy więc liczbę w opisany sposób (poszczególne pary oddzielimy znakiem „|”):

|02|07|,|07|21|
  • Kolejne cyfry wyniku będziemy wpisywać nad pierwiastkowaną liczbą, przy czym nad każdą parą pojawiać się będzie dokładnie jedna odpowiadająca jej cyfra. Dodatkowo sam przecinek również zachowa swoją pozycję.

R143wj9QfnMwl
Źródło: Contentplus.pl sp. z o.o., licencja: CC BY-SA 3.0.
  • Możemy teraz przejść do właściwych obliczeń. Wykonamy serię identycznych działań dla każdej z par, rozpoczynając od pierwszego segmentu z lewej strony i przemieszczając się w prawo. Będziemy operować na wartości tzw. reszty – zmiennej oznaczanej literą r. Dotychczasową resztę (która w przypadku rozpatrywania pierwszego segmentu jest zawsze równa 0) mnożymy razy 100 i dodajemy do niej daną parę. Wynik tej operacji jest nową resztą. Dla pierwszej pary – czyli |02| – opisane działanie prezentuje się następująco:

1000+2=2
  • Otrzymaną resztę zapiszemy pod rozpatrywaną parą:

RhHrpkNdwLSwr
Źródło: Contentplus.pl sp. z o.o., licencja: CC BY-SA 3.0.
  • Od teraz dotychczasowy wynik pierwiastkowania oznaczać będziemy jako w (nie uwzględniamy w nim przecinka). Naszym celem jest znalezienie największej naturalnej liczby a oraz liczby b, opisywanych przez warunki:

b=(20w+a)a
br
  • Podstawiamy dane:

b=(200+a)a=a2
a22
  • Największą liczbą naturalną spełniającą ten warunek jest 1, w takim razie a = 1. Wartości liczby a dla kolejnych par są poszukiwanymi cyframi wyniku. Obliczamy teraz wartość b:

b=(200+1)1=12=1
  • Pierwszą serię działań zakończy odjęcie liczby b od obecnej wartości reszty, a następnie nadpisanie otrzymanym wynikiem wartości reszty. Jeżeli po przeprowadzeniu działania uzyskaliśmy liczbę 0 i rozpatrzyliśmy już każdą z par, wówczas algorytm kończy się, a zapisany na górze słupka wynik uznajemy za końcowy. Jeśli zaś wynik reszty nie jest równy 0, a rozpatrzyliśmy już każdą z dotychczasowych par, niezbędne jest dopisanie kolejnego segmentu wypełnionego zerami – |00|.

Rawb9A2aPrHvA
Źródło: Contentplus.pl sp. z o.o., licencja: CC BY-SA 3.0.

Przedstawione działania powtarzamy dla kolejnych par, aż do otrzymania pełnego wyniku. Poniżej zaprezentowane zostały wyniki oraz konstrukcja słupka dla każdego z segmentów.

R8Zhkgcb7NOeY
Źródło: Contentplus.pl sp. z o.o., licencja: CC BY-SA 3.0.

Pierwsza seria działań (dla pary 02):

b = (20 · 1 + a) · a = 20a + a2
a2  2
a = 1
b = (20 · 0 + 1) · 1 = 1
R1Eqzrla0QKx3
Źródło: Contentplus.pl sp. z o.o., licencja: CC BY-SA 3.0.
Druga seria działań (dla pary 07):
b=(20·1+a)·a=20a+a2
20a+a2107
a4,39
a=4
b=(20·1+4)·4=96
R17NHNfSasUNz
Źródło: Contentplus.pl sp. z o.o., licencja: CC BY-SA 3.0.
Trzecia seria działań (dla pary 07):
b=(20·14+a)·a=280a+a2
280a+a21107
a3,90
a=3
b=(20·14+3)·3=849
RiXMbm0c9bdca
Źródło: Contentplus.pl sp. z o.o., licencja: CC BY-SA 3.0.
Czwarta seria działań (dla pary 21):
b=(20·143+a)·a=2860a+a2
2860a+a225821
a9
a=9
b=(20·143+9)·9=25821

Realizacja algorytmu w programie – metoda Newtona‑Raphsona

Algorytm „liczenia w słupku” należy do metod dokładnych, których implementacja jest czasochłonna i wymaga zaangażowania dużej ilości pamięci obliczeniowej komputera. W sytuacji gdy nie zależy nam na precyzyjnym wyniku, optymalną decyzją jest wybór metody przybliżonejmetoda przybliżonametody przybliżonej. Jedną z nich jest metoda Newtona‑Raphsona.

Przeanalizujmy przedstawioną specyfikację oraz pseudokod, a następnie zapoznajmy się z opisem całego algorytmu.

Specyfikacja problemu:

Dane:

  • a – liczba podpierwiastkowa; pole kwadratu, którego długość boku jest poszukiwanym pierwiastkiem; nieujemna liczba rzeczywista

  • epsilon – bezwzględna wartość różnicy pomiędzy bokami prostokąta o polu powierzchni a, po której osiągnięciu przerywamy dalsze wyznaczanie pierwiastka i zwracamy ostatni otrzymany wynik; określa dokładność obliczeń; nieujemna liczba rzeczywista

Wynik:

  • b – wynik pierwiastkowania liczby a dla określonej wartości zmiennej epsilon; liczba rzeczywista

Linia 1. a ← wprowadź liczbę. Linia 2. epsilon ← wprowadź liczbę. Linia 3. b ← a prawy ukośnik 2. Linia 4. c ← a prawy ukośnik b. Linia 6. dopóki kreska pionowa b minus c kreska pionowa zamknij nawias ostrokątny epsilon wykonuj dwukropek. Linia 7. b ← otwórz nawias okrągły b plus c zamknij nawias okrągły prawy ukośnik 2. Linia 8. c ← a prawy ukośnik b. Linia 10. zwróć b.

Podstawowym założeniem omawianej metody jest fakt, że wynik pierwiastkowania danej liczby będzie taki sam jak długość boku kwadratu o polu równym pierwiastkowanej liczbie.

RrA1p4vaZA5VI
Źródło: Contentplus.pl sp. z o.o., licencja: CC BY-SA 3.0.

Zatem jeżeli chcemy obliczyć pierwiastek z a, znajdujemy bok kwadratu o polu równym a.

Poszukiwania rozpoczynamy od prostokąta o bokach długości b i c.

R1F0fkSFzGROe
Źródło: Contentplus.pl sp. z o.o., licencja: CC BY-SA 3.0.

Wartości te są równe:

b = a c
c = a b

W każdym kolejnym kroku wyznaczamy bok b ze średniej arytmetycznej długości boków b i c z poprzedniego kroku.

b = ( b + c ) 2

Długość boku c uzyskujemy, dzieląc pole przez długość boku b.

c = a b

Etap ten powtarzamy, aż wartość bezwzględna różnicy pomiędzy obydwoma bokami osiągnie określoną przez nas precyzję. Wtedy końcowym wynikiem pierwiastkowania będzie wartość b. Pamiętajmy jednocześnie, że im mniejsza jest wartość precyzji, tym dokładniejszy będzie końcowy rezultat.

| a     b |   <   e p s i l o n

Osiągnięcie konkretnej precyzji jest tylko jednym z dostępnych wariantów warunku zakończenia algorytmu. Dalsze wyznaczanie wartości pierwiastka b może być przerwane np. po wykonaniu zadanej maksymalnej liczby iteracji. Należy podkreślić, że te warunki niekoniecznie będą spełnione jednocześnie. Najprawdopodobniej program skończy się wówczas po wykonaniu maksymalnej liczby iteracji albo po osiągnięciu konkretnej precyzji. Pisząc program, możemy zatem zdecydować się z góry na zaimplementowanie tylko jednego z tych wariantów.

W sekcji „Symulacja interaktywna” dowiesz się, jak zrealizować omawiany algorytm za pomocą arkusza kalkulacyjnego.

Podsumowując: algorytm Newtona–Raphsona należy do tzw. metod iteracyjnych. Wyróżniamy dla niego dwa kryteria zakończenia obliczeń:

  • wykonanie podanej liczby iteracji;

  • sytuację, w której dwa kolejne przybliżenia leżą dostatecznie blisko siebie.

Słownik

część całkowita liczby
część całkowita liczby

dla określonej liczby a największa liczba całkowita c spełniająca warunek:

c a
część ułamkowa liczby
część ułamkowa liczby

różnica określonej liczby a oraz jej części całkowitej c

metoda przybliżona
metoda przybliżona

metoda, której celem nie jest dokładny wynik, a jedynie oszacowanie przybliżonego wyniku

stopień pierwiastka
stopień pierwiastka

wykładnik potęgi będącej operacją odwrotną do konkretnego przypadku pierwiastkowania (np. potęga o wartości wykładnika równej 5 będzie operacją odwrotną w stosunku do pierwiastka o stopniu równym 5)