निश्चित बिंदु अंकगणित का उपयोग कुछ परिस्थितियों में उचित हो सकता है। आम तौर पर वैज्ञानिक कंप्यूटिंग के लिए (कम से कम इस अर्थ में कि ज्यादातर लोग इसके बारे में सोचते हैं) यह उस बड़े गतिशील उपकरण को व्यक्त करने की आवश्यकता के कारण उचित नहीं है। आप एक उदाहरण के रूप में आइगेनवल्यू समस्याओं का उल्लेख करते हैं, लेकिन विज्ञान में बहुत बार, एक मैट्रिक्स के सबसे छोटे ईजेन्यूवल में रुचि रखते हैं (जैसे, एक क्वांटम सिस्टम की जमीन की स्थिति की गणना करने में)। यदि आप निर्धारित बिंदु का उपयोग करते हैं, तो छोटे eigenvalues की सटीकता आम तौर पर बड़े eigenvalues के सापेक्ष काफी खराब हो जाएगी। यदि आपके मैट्रिक्स में ऐसी प्रविष्टियाँ हैं जो बड़े अनुपातों से भिन्न होती हैं, तो छोटे eigenvalues पूरी तरह से काम करने की सटीकता में अनपेक्षित हो सकते हैं। यह संख्याओं के प्रतिनिधित्व के साथ एक समस्या है; इन तर्कों की परवाह किए बिना कि आप मध्यवर्ती संगणना कैसे करते हैं। आप संभवतः गणना किए गए परिणामों पर लागू करने के लिए स्केलिंग का काम कर सकते हैं, लेकिन अब आपने फ्लोटिंग पॉइंट का आविष्कार किया है। ऐसे मेट्रिसेस का निर्माण करना आसान है जिनके तत्वों को अच्छी तरह से व्यवहार किया जाता है, लेकिन जिनके आइजनवेल्स बहुत खराब व्यवहार करते हैं जैसे -विल्किंसन मैट्रिसेस , या यहां तक कि पूरी तरह से पूर्णांक प्रविष्टियों के साथ मैट्रिस )। ये उदाहरण उतने पैथोलॉजिकल नहीं हैं जितने कि लग सकते हैं, और विज्ञान की अत्याधुनिक समस्याओं में बहुत खराब व्यवहार वाले मेट्रिसेस शामिल हैं, इसलिए इस संदर्भ में निश्चित बिंदु का उपयोग करना एक खराब आइडिया (टीएम) है।
आप तर्क दे सकते हैं कि आप परिणामों की भयावहता को जानते हैं और आप घातांक पर बिट्स बर्बाद नहीं करना चाहते हैं, तो आइए मध्यवर्ती के बारे में बात करते हैं। जब तक आप वास्तव में उच्च परिशुद्धता में काम करने के लिए महान दर्द से नहीं गुजरते हैं तब तक निश्चित बिंदु का उपयोग करना आमतौर पर विपत्तिपूर्ण रद्दीकरण और राउंडऑफ के प्रभावों को बढ़ा देगा। प्रदर्शन जुर्माना बहुत बड़ा होगा, और मैं अनुमान लगाऊंगा कि एक ही मंटिसा बिट चौड़ाई के साथ एक फ्लोटिंग पॉइंट प्रतिनिधित्व का उपयोग तेज और अधिक सटीक होगा।
एक क्षेत्र जहां निश्चित बिंदु चमक सकता है वह ज्यामितीय कंप्यूटिंग के कुछ क्षेत्रों में है। खासकर यदि आपको सटीक अंकगणित की आवश्यकता है या पहले से सभी नंबरों की गतिशील सीमा को जानते हैं, तो निश्चित बिंदु आपको अपने प्रतिनिधित्व में सभी बिट्स का लाभ उठाने देता है। उदाहरण के लिए, मान लें कि आप दो लाइनों के प्रतिच्छेदन की गणना करना चाहते थे, और किसी तरह दो रेखाओं के अंतिम बिंदु को इकाई वर्ग में बैठने के लिए सामान्यीकृत किया जाता है। इस मामले में, चौराहे बिंदु को एक समान फ्लोटिंग पॉइंट संख्या (जो कि सीमा पर बिट्स को बर्बाद कर देगा) का उपयोग करने की तुलना में अधिक सटीकता के बिट्स के साथ दर्शाया जा सकता है। अब, यह लगभग निश्चित रूप से मामला है कि इस गणना में आवश्यक मध्यवर्ती संख्याओं को उच्च परिशुद्धता की गणना करने की आवश्यकता है, या कम से कम बहुत सावधानी से (जैसे जब दो संख्याओं के उत्पाद को किसी अन्य संख्या से विभाजित करते हैं, तो आपको इसके बारे में बहुत सावधान रहने की आवश्यकता होती है )। इस संबंध में, निर्धारित बिंदु कम्प्यूटेशनल दृष्टिकोण से बजाय प्रतिनिधित्व के दृष्टिकोण से अधिक फायदेमंद है, और मैं यह कहना चाहूंगा कि यह आम तौर पर सच है जब आप अपने एल्गोरिथ्म आउटपुट की गतिशील सीमा पर निश्चित ऊपरी और निचले सीमा स्थापित कर सकते हैं। । ऐसा कम ही होता है।
मुझे लगता है कि फ्लोटिंग पॉइंट अभ्यावेदन कच्चे या गलत थे (एक घातांक पर बेकार बिट क्यों?)। लेकिन समय के साथ मुझे पता चला है कि यह वास्तव में वास्तविक संख्याओं के लिए सर्वोत्तम संभव अभ्यावेदन में से एक है। प्रकृति में चीजें लॉग तराजू पर दिखाई देती हैं, इसलिए वास्तविक डेटा एक्सपोजर की एक बड़ी सीमा को समाप्त करता है। उच्चतम संभव सापेक्ष सटीकता प्राप्त करने के लिए लॉग स्केल पर काम करने की आवश्यकता होती है, जिससे एक घातांक की ट्रैकिंग अधिक प्राकृतिक हो जाती है। "प्राकृतिक" प्रतिनिधित्व के लिए एकमात्र अन्य दावेदार सममित स्तर सूचकांक है । हालाँकि, जोड़ और घटाव उस प्रतिनिधित्व में बहुत धीमे हैं, और इसमें IEEE 754 के हार्डवेयर समर्थन का अभाव है। विचार की जबरदस्त मात्रा फ्लोटिंग पॉइंट मानकों में डाल दी गई, संख्यात्मक रैखिक बीजगणित के एक स्तंभ द्वारा। मुझे लगता है कि वह जानता है कि संख्याओं का "सही" प्रतिनिधित्व क्या है।