-
Received: by 10.52.93.132 with SMTP id cu4mr7412693vdb.14.1351768093536; Thu, 01 Nov
2012 04:08:13 -0700 (PDT)
Received: by 10.52.93.132 with SMTP id cu4mr7412693vdb.14.1351768093536; Thu, 01 Nov
2012 04:08:13 -0700 (PDT)
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!news.supermedia.pl!plix.pl!newsfeed2.plix.pl!feed.xsnews.nl!border-2.a
ms.xsnews.nl!ecngs!feeder.ecngs.de!nx01.iad01.newshosting.com!newshosting.com!6
9.16.185.11.MISMATCH!npeer01.iad.highwinds-media.com!news.highwinds-media.com!f
eed-me.highwinds-media.com!c7no1772500qap.0!news-out.google.com!gf5ni12966840qa
b.0!nntp.google.com!c7no1772498qap.0!postnews.google.com!glegroupsg2000goo.goog
legroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Thu, 1 Nov 2012 04:08:13 -0700 (PDT)
In-Reply-To: <50924bb1$0$1308$65785112@news.neostrada.pl>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=87.96.18.187;
posting-account=Sb6m8goAAABbWsBL7gouk3bfLsuxwMgN
NNTP-Posting-Host: 87.96.18.187
References: <50924bb1$0$1308$65785112@news.neostrada.pl>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <a...@g...com>
Subject: Re: Błędny epsilon - this is not a bug, this is ?
From: kenobi <p...@g...com>
Injection-Date: Thu, 01 Nov 2012 11:08:13 +0000
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 4536
Xref: news-archive.icm.edu.pl pl.comp.programming:200449
[ ukryj nagłówki ]W dniu czwartek, 1 listopada 2012 11:15:21 UTC+1 użytkownik slawek napisał:
> Tzw. maszynowy epsilon (see Wikipedia) wynosi nie więcej niż 1.111E-016 dla
>
> liczb 64-bitowych. Taki wynik łatwo otrzymać nawet naiwnym algorytmem, w
>
> którym po kolei sprawdzane są w pętli kolejne wartości epsilon - każda
>
> kolejna nieco (o ułamek procenta) mniejsza od poprzedniej. Algorytm "fast"
>
> adaptacyjnie zmienia krok itd. - nie ma to znacznego wypływu na wynik, ale
>
> liczba kroków jest znacznie mniejsza.
>
>
>
> Jednak zaglądając do float.h w MS VS C++ można znaleźć definicję
>
> DBL_EPSILON, wraz ze stosownym komentarzem, 2.22044604925031310000E-016.
>
> Jest to niemal 2 razy więcej, niż naprawdę wynosi epsilon (obliczony właśnie
>
> programem skompilowanym w MSVS C++). "This is not a bug, this is
>
> inaccuracy" - chciałoby się powiedzieć.
>
>
>
> Zaglądamy dalej - Matlab - tak ostatnio chwalony - ma wbudowaną funkcję
>
> eps - zgadnijcie co zwraca eps jako wynik liczbowy? Tak, też się zdziwiłem -
>
> przecież Matlab to Matlab.
>
>
>
> Jeszcze raz rzut oka do Wikipedii - jest sobie wyraźnie dobra wartość
>
> epsilona dla double w tabelce - ale już np. program w Phytonie i wyniki z
>
> niego - znowu błędne 2.22E-16 . I nie jest to "wina Phytona" - ale po prostu
>
> błąd w programie.
>
>
>
> "Phytonowcy", staff MS i ludzie z MathWorks popełnili jeden i ten sam błąd -
>
> dzielili przez dwa. Ciąg wartości x[n], jakie otrzymywali, dla dostatecznie
>
> dużego n nie spełniał nierówności 1.0+x[n] > 1.0. Nie jest źle... jeżeli
>
> pamięta się, że dokładność tak wyznaczonego epsilona wynosi plus minus 50%.
>
> To nawet w większości praktycznych zastosowań wystarcza. Ale nie jest dobrym
>
> pomysłem, by tak niedokładną wartość wrzucać jako wzorcową do float.h - bo
>
> 99.8% ludzi będzie w ciemno ufało w nieomylność MS - zwłaszcza, że podane
>
> jest to jako, cyt.:
>
>
>
> #define DBL_EPSILON 2.2204460492503131e-016 /* smallest such that
>
> 1.0+DBL_EPSILON != 1.0 */
>
>
>
> a to sugeruje poprawność wszystkich zapisanych cyfr znaczących. Tymczasem
>
> eps znaleziony przez wykonywanie obliczeń (można oszacować epsilon przez
>
> zapisane 1.0 oraz 1.0+epsilon bit po bicie mantysa i wykładnik - vide
>
> IEEE753) leży gdzieś pomiędzy podanymi zakresami:
>
>
>
> naive (no. of steps=36736783):
>
> eps > 1.11022213668763790000E-016
>
> eps <= 1.11022324691088480000E-016
>
>
>
> fast (no. of steps=187):
>
> eps > 1.11022302462515650000E-016
>
> eps <= 1.11022302462515680000E-016
>
>
Ciekawe, ale dlaczego to jest dokladnie podwojona
wartosc epsilona? Z poczatku wydawalo mni sie ze slowo double odnosi sie wlasnie do
tego (a nie do typu double) i ze ta podwojna wartosc ma jakiej uzasadnienie
Następne wpisy z tego wątku
- 01.11.12 13:38 slawek
- 01.11.12 14:49 bartekltg
- 01.11.12 14:53 bartekltg
- 01.11.12 16:39 slawek
- 01.11.12 16:54 bartekltg
- 01.11.12 17:45 slawek
- 01.11.12 17:50 bartekltg
- 01.11.12 18:18 slawek
- 01.11.12 18:58 kenobi
- 01.11.12 19:09 kenobi
- 01.11.12 19:52 slawek
- 01.11.12 20:26 kenobi
- 01.11.12 21:24 slawek
- 01.11.12 21:30 slawek
- 01.11.12 23:23 slawek
Najnowsze wątki z tej grupy
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
Najnowsze wątki
- 2025-07-14 granice
- 2025-07-14 Awaria VM?
- 2025-07-14 Gdańsk => Programista Kotlin <=
- 2025-07-14 Warszawa => Junior Rekruter <=
- 2025-07-14 Warszawa => Specjalista rekrutacji IT <=
- 2025-07-14 Wkłady do zniczy...
- 2025-07-14 Warszawa => Specjalista ds. Sprzętu Komputerowego <=
- 2025-07-14 Re: PO chroniło i chroni policyjnych bandziorów [zawiasy za katowanie obywatela (Poznań czerwiec 2012)]
- 2025-07-14 Warszawa => International Freight Forwarder <=
- 2025-07-14 Warszawa => Recruiter 360 <=
- 2025-07-14 Re: Rz?Âd ZAKAZUJE magazyn?Â?w energii ?!! Nowe prawo od 14 lipca to SZOK! ??Â
- 2025-07-14 Warszawa => Sales Assistant <=
- 2025-07-13 Fałszywe alerty
- 2025-07-12 dlaczego gadacie z tym debilem
- 2025-07-13 Unia Europejska przygotowuje nowy podatek