ONA 1 – Arytmetyka komputerów

Slajdy do wykładu można znaleźć tu: ONA1-Arytmetyka

Uwaga nt. liczb całkowitych. Obecnie python3 ukrywa zupełnie przed nami fakt istnienia ograniczeń wielkości rejestrów przy operacjach na liczbach całkowitych. Aby zobaczyć jak to działa, warto uruchomić interpreter python2.7 i wykonać operacje na dużych liczbach.

Pracujemy w narzędziu python3 (nie w octave) i wykonujemy zadania inspirowane zadaniami z labu 3 do metod numerycznych. Zachęcam do użycia interpretera ipython3. Nieco więcej technicznych szczegółów jest też dostępne w materiałach do wykładu z metod numerycznych.

W szczególności:

Policz epsilon maszynowy (zarówno jako wartość dziesiętną ale też liczbe bitów cechy binarnej przy pomocy sprawdzania dla jakich n 1.0+2.0**(-n) >1.0. Co by się stało, gdybyśmy wykonali tę próbę w okolicy 0.0 zamiast 1.0. Czy taki epsilon maszynowy zależy od liczby bitów cechy, czy mantysy?

Zastanów się nad zadaniem z szeregami zbieżnymi (lub rozbieżnymi) numerycznie. Zaimplementuj liczenie sum S(n) w pythonie, dla dowolnego n i dla kilku szeregów podanych w rozwiązaniu. Które z nich można dokładnie policzyć pry użyciu modułu Fractions?

Policz wartości e(x) wg rozwinięcia wzoru Taylora dla zadanego maksymalnego stopnia. Porównaj różnicę wyniku jaki otrzymujesz dla x=-90 i x=2.

Policz sumy częściowe szeregu harmonicznego przy użyciu liczb zmiennoprzecinkowych i przy użyciu modułu Fractions. Porównaj wyniki.

 

Leave a Reply

Your email address will not be published. Required fields are marked *