Groups | Search | Server Info | Keyboard shortcuts | Login | Register
Groups > pl.comp.lang.python > #114
| From | "AK" <nobody@nowhere.net> |
|---|---|
| Newsgroups | pl.comp.lang.python |
| Subject | Re: Martwa grupa? |
| Date | 2018-02-18 16:07 +0100 |
| Organization | Aioe.org NNTP Server |
| Message-ID | <p6c4t5$14pi$1@gioia.aioe.org> (permalink) |
| References | (12 earlier) <almarsoft.8137023269573244304@news.v.pl> <p69ig8$1anq$1@gioia.aioe.org> <almarsoft.2189709423721289494@news.v.pl> <p69vsn$67v$1@gioia.aioe.org> <almarsoft.2620017325425202706@news.v.pl> |
Użytkownik "slawek" <fake@fakeemail.com> napisał: > On Sat, 17 Feb 2018 20:29:51 +0100, "AK" <nobody@nowhere.net> wrote: >> Czyli jak porownujemy liczby FP? Ano zawsze tak: >> a == b => abs(a - b) <= EPS > > Poczytaj sobie PEP485. Znam go w miare dokladnie. Mowilem zreszta wyraznie, ze najczesciej stosuje sie EPS wzglednie, ale.. nie zawsze na to sens. Czasem/czesto to wlasnie EPS bezwzgledny jest odpowiedniejszy. Czesto stosuje sie techniki no..nazwe je "dynamicznym EPSem" zwlaszac w przypadku algorytmow slabo/zbieznych/malo odpornych na bledy zaikraglen/malo stabilnych gdzie nawet stosuje sie dosc zaawansowane statystyczne szacoiwanie bledu, aby zdecydowac czy "toto jest rowne 0.0" (np. odleglosc od ekstremum). Czesto jest to problem sam w sobie, bo np w przypadku dochodzenia do ekstremum badac czy na tyle malo zmienia sie krok czy wartosc fukcji czy moze obie? A co gdy funkcja jest bardzo plaska i krok (x) zmienia sie "kilka rzedow" bardziej od wartosci(y)? Wtedy "moze" lepiej miec/stosowac dwa EPS(XY), co jesy funkcja jest bardzo stroma, a co jestli jest rozna w roznym zakresie/dziedzinie? Itp itd. Problem z fp (i w ogole z szacowaniem "czy cus jest 0.0:) wydaje sie prosty, ale nim nie jest. > To co proponujesz nie nadaje się do danych które są z natury rzeczy mniejsze niż EPS. .. bo przeciez EPS jest _wlasnie po to _ aby do dobrac _wlasciwie_ do skali danych /domeny wiec: albo stosowac roznice wzgledne albo stosowac EOS _odpowiednio_ dobrany, ale bezwzgledny. Nie zawsze roznice wzgkedne maja sens. Czesto wlasnie EPS i roznice bezwzgledne sa wlasciwe, PS: W "moich czasach" EPS zwykle wystepowal jako parametr stosowanej procedury/algorytmu i.. nie posiadal anu wartosc domyslnych ani zalecanych. Pozostawiano to (i slusznie) programiscie numerykowi. > Poprawniej jest porównywać abs(a-b) <= EPS*(abs(a)+abs(b)), ale i ten sposób - używany m.i. w > Numerical Recipes - ma swoje wady. To prawda. niekiedy "zwykly"surowy bezwzgledny EPS jest odpowiedniejszy a niekiedy (tak jak zaznaczylem) EPS jest "dynamiczny" i jest to skomplikowany test/algorytm np. statystyczny na podstawie/bazie dotychczasowych danych. > Bo zasadniczy problem to nie porównywanie... do tego zawsze wystarczyłoby a == b... ale > oszacowanie jak duże mogą być błędy zaokrągleń. Porownananie "sztywne"wiedzac, ze sa bledy zaokraglen/kunulacja bledow itp jest zwykla bzdura, bo zaklamuije rzeczywistosc. >A tego nie da się wiedzieć w bibliotece numerycznej nie znając domeny problemu. Tak. Tu 100% zgoda. > W szczególności są takie dane, gdzie jest około 20 dokładnych cyfr po przecinku. Ilosc miejsc znaczacyh mantysy tak naprawde nie ma tu znaczenia. Problem porownania/szacowania fp bedzie taki sam nawet przy 1000 cyfr znaczacych. Liczy sie tez dokladnosc dzialan posrednich (a moze byc rozna/mniejsza od wyniku/formatu koncowego. Liczy sie dlugosc akumulatorow wewnetrznych w koprocesorze itp. Bardzo madrze u Laheya napisali, ze nawet jesli na dwoch roznych srodowiskach stosuje sie "zewnetrznie" ten sam format IEEE to i tak wyniki (i ich bledy) moga byc inne. Wlasnie z w/w powodow. PS: Najlepiej przyjac zasade: _nic nie wiemy o formacie/dokladnosci liczb fp_ (nawet jesli wiemy wszystko:) AK
Back to pl.comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar
Martwa grupa? Robert Wańkowski <robwan@wp.pl> - 2018-02-09 10:20 +0100
Re: Martwa grupa? szykcech@gmail.com - 2018-02-09 02:05 -0800
Re: Martwa grupa? Robert Wańkowski <robwan@wp.pl> - 2018-02-09 11:22 +0100
Re: Martwa grupa? Marcin Konarski <amok@codestation.org> - 2018-02-09 10:31 +0000
Re: Martwa grupa? Roman Tyczka <noemail@because.no> - 2018-02-09 12:55 +0100
Re: Martwa grupa? Robert Wańkowski <robwan@wp.pl> - 2018-02-09 13:11 +0100
Re: Martwa grupa? Roman Tyczka <noemail@because.no> - 2018-02-09 13:33 +0100
Re: Martwa grupa? Robert Wańkowski <robwan@wp.pl> - 2018-02-09 13:42 +0100
Re: Martwa grupa? szykcech@gmail.com - 2018-02-09 05:59 -0800
Re: Martwa grupa? amorawski@magna-power.com - 2018-02-09 07:15 -0800
Re: Martwa grupa? szykcech@gmail.com - 2018-02-09 08:16 -0800
Re: Martwa grupa? Adam M <amorawski@magna-power.com> - 2018-02-09 08:38 -0800
Re: Martwa grupa? slawek <fake@fakeemail.com> - 2018-02-16 19:22 +0100
Re: Martwa grupa? szykcech@gmail.com - 2018-02-09 08:19 -0800
Re: Martwa grupa? Adam M <amorawski@magna-power.com> - 2018-02-09 08:41 -0800
Re: Martwa grupa? szykcech@gmail.com - 2018-02-09 09:41 -0800
Re: Martwa grupa? slawek <fake@fakeemail.com> - 2018-02-16 19:24 +0100
Re: Martwa grupa? Cezary Grądys <czarekgr@wa.onet.pl> - 2018-02-17 23:08 +0100
Re: Martwa grupa? szykcech@gmail.com - 2018-02-18 03:21 -0800
Re: Martwa grupa? Cezary Grądys <czarekgr@wa.onet.pl> - 2018-02-18 23:25 +0100
Re: Martwa grupa? slawek <fake@fakeemail.com> - 2018-02-18 15:25 +0100
Re: Martwa grupa? slawek <fake@fakeemail.com> - 2018-02-16 19:20 +0100
Re: Martwa grupa? slawek <fake@fakeemail.com> - 2018-02-16 19:10 +0100
Re: Martwa grupa? "AK" <nobody@nowhere.net> - 2018-02-17 00:46 +0100
Re: Martwa grupa? slawek <fake@fakeemail.com> - 2018-02-17 08:49 +0100
Re: Martwa grupa? "AK" <nobody@nowhere.net> - 2018-02-17 11:39 +0100
Re: Martwa grupa? "AK" <nobody@nowhere.net> - 2018-02-17 12:15 +0100
Re: Martwa grupa? slawek <fake@fakeemail.com> - 2018-02-17 14:29 +0100
Re: Martwa grupa? "AK" <nobody@nowhere.net> - 2018-02-17 14:43 +0100
Re: Martwa grupa? slawek <fake@fakeemail.com> - 2018-02-17 15:04 +0100
Re: Martwa grupa? "AK" <nobody@nowhere.net> - 2018-02-17 16:49 +0100
Re: Martwa grupa? slawek <fake@fakeemail.com> - 2018-02-17 14:46 +0100
Re: Martwa grupa? "AK" <nobody@nowhere.net> - 2018-02-17 16:41 +0100
Re: Martwa grupa? slawek <fake@fakeemail.com> - 2018-02-17 17:16 +0100
Re: Martwa grupa? "AK" <nobody@nowhere.net> - 2018-02-17 20:29 +0100
Re: Martwa grupa? "AK" <nobody@nowhere.net> - 2018-02-17 21:00 +0100
Re: Martwa grupa? "AK" <nobody@nowhere.net> - 2018-02-17 21:22 +0100
Re: Martwa grupa? slawek <fake@fakeemail.com> - 2018-02-18 14:49 +0100
Re: Martwa grupa? "AK" <nobody@nowhere.net> - 2018-02-18 16:07 +0100
Re: Martwa grupa? slawek <fake@fakeemail.com> - 2018-02-18 15:16 +0100
Re: Martwa grupa? "AK" <nobody@nowhere.net> - 2018-02-18 16:26 +0100
Re: Martwa grupa? "AK" <nobody@nowhere.net> - 2018-02-17 21:38 +0100
Re: Martwa grupa? slawek <fake@fakeemail.com> - 2018-02-17 14:56 +0100
Re: Martwa grupa? "AK" <nobody@nowhere.net> - 2018-02-17 16:43 +0100
Re: Martwa grupa? slawek <fake@fakeemail.com> - 2018-02-17 17:25 +0100
Re: Martwa grupa? "AK" <nobody@nowhere.net> - 2018-02-17 20:34 +0100
Re: Martwa grupa? "AK" <nobody@nowhere.net> - 2018-02-10 11:37 +0100
Re: Martwa grupa? Robert Wańkowski <robwan@wp.pl> - 2018-02-10 11:47 +0100
Re: Martwa grupa? "AK" <nobody@nowhere.net> - 2018-02-11 17:54 +0100
Re: Martwa grupa? szykcech@gmail.com - 2018-02-11 11:45 -0800
Re: Martwa grupa? Roman Tyczka <noemail@because.no> - 2018-02-11 21:40 +0100
Re: Martwa grupa? szykcech@gmail.com - 2018-02-11 13:13 -0800
Re: Martwa grupa? "AK" <nobody@nowhere.net> - 2018-02-12 10:37 +0100
Re: Martwa grupa? "AK" <nobody@nowhere.net> - 2018-02-12 10:43 +0100
Re: Martwa grupa? m <mvoicem@gmail.com> - 2018-02-12 13:47 +0100
Re: Martwa grupa? slawek <fake@fakeemail.com> - 2018-02-16 19:33 +0100
Re: Martwa grupa? slawek <fake@fakeemail.com> - 2018-02-16 19:25 +0100
Re: Martwa grupa? Robert Wańkowski <robwan@wp.pl> - 2018-02-09 18:44 +0100
Re: Martwa grupa? slawek <fake@fakeemail.com> - 2018-02-16 19:56 +0100
Re: Martwa grupa? Robert Wańkowski <robwan@wp.pl> - 2018-02-16 20:15 +0100
Re: Martwa grupa? "AK" <nobody@nowhere.net> - 2018-02-16 23:55 +0100
Re: Martwa grupa? slawek <fake@fakeemail.com> - 2018-02-17 07:51 +0100
Re: Martwa grupa? Roman Tyczka <noemail@because.no> - 2018-03-12 14:50 +0100
csiph-web