मैं निम्न फ़ंक्शन को निम्न- सापेक्ष त्रुटि के साथ डबल-सटीक फ़्लोटिंग पॉइंट में लागू करने का प्रयास कर रहा हूं :
इसका उपयोग सांख्यिकीय अनुप्रयोगों में बड़े पैमाने पर संभावना या संभावना घनत्व को जोड़ने के लिए किया जाता है जो लॉग स्पेस में दर्शाए जाते हैं। बेशक, या तो या कर सकता है आसानी से अतिप्रवाह या underflow, जो बुरा होगा क्योंकि लॉग अंतरिक्ष पहली जगह में अधःप्रवाह से बचने के लिए किया जाता है। यह विशिष्ट समाधान है:
से रद्दीकरण होता है, लेकिन द्वारा कम किया जाता है । दूर से भी बुरा तब है जब और करीब हैं। यहाँ एक रिश्तेदार त्रुटि की साजिश है:
कथानक l o g s u m m ( x , y ) = 0 के आकार पर जोर देने के लिए भूखंड को पर काट दिया जाता है , जिसके बारे में रद्दीकरण होता है। मैंने 10 - 11 तक त्रुटि देखी है और संदेह है कि यह बहुत खराब हो जाता है। (एफडब्ल्यूआईडब्ल्यू, "ग्राउंड ट्रुथ" फ़ंक्शन को एमपीएफआर की मध्यस्थता-सटीक फ़्लोटिंग 128-बिट परिशुद्धता के साथ उपयोग करके लागू किया गया है।)
मैंने अन्य सुधारों की कोशिश की है, सभी एक ही परिणाम के साथ। साथ बाहरी अभिव्यक्ति के रूप में, एक ही गलती कुछ का एक लॉग के साथ 1. पास लेने के द्वारा होता है एल ओ जी 1 पी बाहरी अभिव्यक्ति के रूप में रद्द भीतरी अभिव्यक्ति में होता है।
अब, पूर्ण त्रुटि बहुत छोटी है, इसलिए में बहुत छोटी सापेक्ष त्रुटि (एक एप्सिलॉन के भीतर) है। एक यह है कि लोगों का तर्क हो सकता है की वजह से एक उपयोगकर्ता, एल ओ जी एस यू मी , वास्तव में (संभावनाओं प्रवेश नहीं) संभावनाओं में रुचि रखता है इस भयानक रिश्तेदार त्रुटि एक समस्या नहीं है। यह संभावना है कि यह आमतौर पर नहीं होता है, लेकिन मैं एक पुस्तकालय समारोह लिख रहा हूं, और मैं चाहूंगा कि इसके ग्राहक सापेक्ष त्रुटि पर भरोसा करने में सक्षम हों और यह गोल त्रुटि से ज्यादा खराब न हो।
ऐसा लगता है कि मुझे एक नए दृष्टिकोण की आवश्यकता है। यह क्या हो सकता है?