राउंड-ऑफ़ एरर: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
 
(7 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{short description|Computational error due to rounding numbers}}
{{short description|Computational error due to rounding numbers}}
{{For|कलाबाजी गतिविधि, राउंडऑफ़|राउंडऑफ़}}
{{For|अक्रोबेटिक गतिविधि, राउंडऑफ़|राउंडऑफ़}}
{{Use dmy dates|date=August 2019|cs1-dates=y}}
{{Use dmy dates|date=August 2019|cs1-dates=y}}


[[ कम्प्यूटिंग |अभिकलन]] में, एक राउंडऑफ़ त्रुटि,<ref>{{citation |title=Introduction to Numerical Analysis Using MATLAB |author-first=Rizwan |author-last=Butt |publisher=Jones & Bartlett Learning |date=2009 |isbn=978-0-76377376-2 |pages=11–18 |url=https://books.google.com/books?id=QWub-UVGxqkC&pg=PA11}}</ref> इसे पूर्णांकन त्रुटि भी कहा जाता है,<ref>{{citation |title=Numerical Computation 1: Methods, Software, and Analysis |author-first=Christoph W. |author-last=Ueberhuber |publisher=Springer |date=1997 |isbn=978-3-54062058-7 |url=https://books.google.com/books?id=JH9I7EJh3JUC&pg=PA139 |pages=139–146}}</ref> सटीक [[अंकगणित]] का उपयोग करके किसी दिए गए [[कलन विधि]] द्वारा उत्पादित परिणाम और परिमित-परिशुद्धता, [[ गोलाई ]] अंकगणित का उपयोग करके समान कलन विधि द्वारा उत्पादित परिणाम के बीच का अंतर है।<ref name="Forrester_2018">{{cite book |title= गणित/Comp241 संख्यात्मक विधियाँ (व्याख्यान नोट्स)|author-first=Dick |author-last=Forrester |publisher=[[Dickinson College]] |date=2018}}</ref> पूर्णांकन त्रुटियाँ [[वास्तविक संख्या]]ओं के निरूपण और उनके साथ किए गए अंकगणितीय संक्रियाओं में अशुद्धि के कारण होती हैं। यह [[परिमाणीकरण त्रुटि]] का एक रूप है। सन्निकटन [[समीकरण]]ों या कलन विधि का उपयोग करते समय, विशेष रूप से वास्तविक संख्याओं (जिनमें सिद्धांत रूप में अनंत रूप से कई अंक होते हैं) का प्रतिनिधित्व करने के लिए सीमित कई अंकों का उपयोग करते समय, [[संख्यात्मक विश्लेषण]] का एक लक्ष्य गणना त्रुटियों का [[त्रुटि विश्लेषण (गणित)]] करना है। संगणना त्रुटियाँ, जिन्हें [[संख्यात्मक त्रुटि]]याँ भी कहा जाता है, में ट्रंकेशन त्रुटियाँ और राउंडऑफ़ त्रुटियाँ दोनों सम्मिलित हैं।
[[ कम्प्यूटिंग |कंप्यूटिंग]] में, एक राउंडऑफ़ एरर,<ref>{{citation |title=Introduction to Numerical Analysis Using MATLAB |author-first=Rizwan |author-last=Butt |publisher=Jones & Bartlett Learning |date=2009 |isbn=978-0-76377376-2 |pages=11–18 |url=https://books.google.com/books?id=QWub-UVGxqkC&pg=PA11}}</ref> जिसे राउंडिंग एरर भी कहा जाता है,<ref>{{citation |title=Numerical Computation 1: Methods, Software, and Analysis |author-first=Christoph W. |author-last=Ueberhuber |publisher=Springer |date=1997 |isbn=978-3-54062058-7 |url=https://books.google.com/books?id=JH9I7EJh3JUC&pg=PA139 |pages=139–146}}</ref> सटीक [[अंकगणित]] का उपयोग करके दिए गए [[कलन विधि|एल्गोरिथम]] द्वारा उत्पादित परिणाम और परिमित-सटीक, राउंडेड अंकगणित का उपयोग करके उसी एल्गोरिथम द्वारा उत्पादित परिणाम के मध्य का अंतर है।<ref name="Forrester_2018">{{cite book |title= गणित/Comp241 संख्यात्मक विधियाँ (व्याख्यान नोट्स)|author-first=Dick |author-last=Forrester |publisher=[[Dickinson College]] |date=2018}}</ref> राउंडिंग एरर [[वास्तविक संख्या|वास्तविक संख्याओं]] के निरूपण और उनके साथ की गई अंकगणितीय संक्रियाओं में अशुद्धि के कारण होती हैं। यह [[परिमाणीकरण त्रुटि|क्वान्टिजेशन एरर]] का एक रूप है। सन्निकटन [[समीकरण|समीकरणों]] या कलन विधियों का उपयोग करते समय, विशेष रूप से वास्तविक संख्याओं (जिनमें सिद्धांत रूप में अनंत रूप से कई अंक होते हैं) का प्रतिनिधित्व करने के लिए सीमित कई अंकों का उपयोग करते समय, [[संख्यात्मक विश्लेषण]] का एक लक्ष्य गणना एररों का [[त्रुटि विश्लेषण (गणित)|अनुमान]] लगाना है। कम्प्यूटेशन एरर, जिन्हें [[संख्यात्मक त्रुटि|न्यूमेरिकल एरर]] भी कहा जाता है, जिनमें ट्रंक्शन एरर और राउंडऑफ़ एरर दोनों सम्मिलित हैं।


जब किसी राउंडऑफ त्रुटि वाले इनपुट के साथ गणना का क्रम बनाया जाता है, तो त्रुटियां जमा हो सकती हैं, जो कभी-कभी गणना पर प्रभावी हो जाती हैं। खराब स्थिति वाली समस्याओं में, महत्वपूर्ण त्रुटि जमा हो सकती है।
जब किसी राउंडऑफ एरर वाले इनपुट के साथ गणना का क्रम बनाया जाता है,तो एरर संचित हो सकता हैं, जो कभी-कभी गणना पर बाध्यकारी हो जाता हैं। कुगठित वाली समस्याओं में, महत्वपूर्ण एरर संचित हो सकता है।


संक्षेप में, संख्यात्मक गणना में सम्मिलित राउंडऑफ़ त्रुटियों के दो प्रमुख दृष्टिकोण हैं:<ref name="Chapra_2012">{{cite book |author-last=Chapra |author-first=Steven |title=इंजीनियरों और वैज्ञानिकों के लिए MATLAB के साथ संख्यात्मक पद्धतियाँ लागू की गईं|publisher=[[McGraw Hill Education|McGraw-Hill]] |date=2012 |isbn=9780073401102 |edition=3rd}}</ref>
संक्षेप में, संख्यात्मक गणना में सम्मिलित राउंडऑफ़ एररों के दो प्रमुख दृष्टिकोण हैं:<ref name="Chapra_2012">{{cite book |author-last=Chapra |author-first=Steven |title=इंजीनियरों और वैज्ञानिकों के लिए MATLAB के साथ संख्यात्मक पद्धतियाँ लागू की गईं|publisher=[[McGraw Hill Education|McGraw-Hill]] |date=2012 |isbn=9780073401102 |edition=3rd}}</ref>
# संख्याओं के परिमाण और सटीकता दोनों को दर्शाने की अभिकलक की क्षमता स्वाभाविक रूप से सीमित है।
# संख्याओं के परिमाण और सटीकता दोनों का प्रतिनिधित्व करने की गणक क्षमता स्वाभाविक रूप से सीमित है।
# कुछ संख्यात्मक जोड़-तोड़ राउंडऑफ़ त्रुटियों के प्रति अत्यधिक संवेदनशील होते हैं। यह गणितीय विचारों के साथ-साथ अभिकलक द्वारा अंकगणितीय संचालन करने के तरीके दोनों के परिणामस्वरूप हो सकता है।
# कुछ संख्यात्मक प्रकलन राउंडऑफ़ एररों के प्रति अत्यधिक संवेदनशील होते हैं। यह गणितीय विचारों के साथ-साथ गणक द्वारा अंकगणितीय संचालन करने के तरीके दोनों के परिणामस्वरूप हो सकता है।


== प्रतिनिधित्व त्रुटि ==
== रिप्रजेंटेशन एरर ==


अंकों की एक सीमित श्रृंखला का उपयोग करके किसी संख्या का प्रतिनिधित्व करने का प्रयास करने से उत्पन्न त्रुटि राउंडऑफ़ त्रुटि का एक रूप है जिसे प्रतिनिधित्व त्रुटि कहा जाता है।<ref name="Laplante_2000">{{cite book |title=कंप्यूटर विज्ञान, इंजीनियरिंग और प्रौद्योगिकी का शब्दकोश|first=Philip A. |last=Laplante |publisher=[[CRC Press]] |date=2000 |isbn=978-0-84932691-2 |page=420 |url=https://books.google.com/books?id=U1M3clUwCfEC&pg=PA420}}</ref> यहां दशमलव निरूपण में निरूपण त्रुटि के कुछ उदाहरण दिए गए हैं:
अंकों की एक सीमित श्रृंखला का उपयोग करके किसी संख्या का प्रतिनिधित्व करने का प्रयास करने से उत्पन्न एरर राउंडऑफ़ एरर का एक रूप है जिसे रिप्रजेंटेशन एरर कहा जाता है।<ref name="Laplante_2000">{{cite book |title=कंप्यूटर विज्ञान, इंजीनियरिंग और प्रौद्योगिकी का शब्दकोश|first=Philip A. |last=Laplante |publisher=[[CRC Press]] |date=2000 |isbn=978-0-84932691-2 |page=420 |url=https://books.google.com/books?id=U1M3clUwCfEC&pg=PA420}}</ref> यहां दशमलव निरूपण में रिप्रजेंटेशन एरर के कुछ उदाहरण यहां दिए गए हैं:


{| class="wikitable" style="margin:1em auto"
{| class="wikitable" style="margin:1em auto"
! संकेत पद्धति
! नोटेशन
! निरूपण
! निरूपण
! सन्निकटन
! सन्निकटन
! त्रुटि
! एरर
|-
|-
|1/7 || 0.{{overline|142 857}} || 0.142 857 || 0.000 000 {{overline|142 857}}
|1/7 || 0.{{overline|142 857}} || 0.142 857 || 0.000 000 {{overline|142 857}}
Line 35: Line 35:
|[[Pi|''π'']] || 3.141 592 653 589 793 238 46...  || 3.141 592 653 589 793 || 0.000 000 000 000 000 238 46...
|[[Pi|''π'']] || 3.141 592 653 589 793 238 46...  || 3.141 592 653 589 793 || 0.000 000 000 000 000 238 46...
|}
|}
किसी प्रतिनिधित्व में अनुमत अंकों की संख्या बढ़ाने से संभावित राउंडऑफ़ त्रुटियों की भयावहता कम हो जाती है, परन्तु कई अंकों तक सीमित कोई भी प्रतिनिधित्व अभी भी [[गणनीय]] वास्तविक संख्याओं के लिए कुछ हद तक राउंडऑफ़ त्रुटि का कारण बनेगा। गणना के मध्यवर्ती चरणों के लिए उपयोग किए जाने वाले अतिरिक्त अंकों को गार्ड अंक के रूप में जाना जाता है।<ref name="Higham_2002">{{cite book |title=संख्यात्मक एल्गोरिदम की सटीकता और स्थिरता|edition=2 |author-first=Nicholas John |author-link=Nicholas Higham |author-last=Higham |publisher=[[Society for Industrial and Applied Mathematics]] (SIAM) |date=2002 |isbn=978-0-89871521-7 |pages=43–44 |url=https://books.google.com/books?id=epilvM5MMxwC&pg=PA43}}</ref>
किसी प्रतिनिधित्व में अनुमत अंकों की संख्या बढ़ाने से संभावित राउंडऑफ़ एररों की आपत्तिजनकता कम हो जाती है, परन्तु सीमित संख्या में कई अंकों तक सीमित कोई भी प्रतिनिधित्व अभी भी अनगिनत वास्तविक संख्याओं के लिए कुछ हद तक राउंडऑफ एरर का कारण बनेगा। गणना के मध्यवर्ती चरणों के लिए उपयोग किए जाने वाले अतिरिक्त अंकों को गार्ड अंक के रूप में जाना जाता है।<ref name="Higham_2002">{{cite book |title=संख्यात्मक एल्गोरिदम की सटीकता और स्थिरता|edition=2 |author-first=Nicholas John |author-link=Nicholas Higham |author-last=Higham |publisher=[[Society for Industrial and Applied Mathematics]] (SIAM) |date=2002 |isbn=978-0-89871521-7 |pages=43–44 |url=https://books.google.com/books?id=epilvM5MMxwC&pg=PA43}}</ref>


कई बार पूर्णांकन करने से त्रुटि जमा हो सकती है।<ref name="Volkov_1990">{{cite book |title=संख्यात्मक तरीके|author-first=E. A. |author-last=Volkov |publisher=[[Taylor & Francis]] |date=1990 |isbn=978-1-56032011-1 |page=24 |url=https://books.google.com/books?id=ubfrNN8GGOIC&pg=PA24}}</ref> उदाहरण के लिए, यदि 9.945309 को दो दशमलव स्थानों (9.95) तक पूर्णांकित किया जाता है, फिर एक दशमलव स्थान (10.0) तक पूर्णांकित किया जाता है, तो कुल त्रुटि 0.054691 होती है। एक चरण में 9.945309 को एक दशमलव स्थान (9.9) तक पूर्णांकित करने पर कम त्रुटि (0.045309) आती है। यह तब हो सकता है, उदाहरण के लिए, जब सॉफ़्टवेयर विस्तारित परिशुद्धता#x86 विस्तारित परिशुद्धता प्रारूप|x86 80-बिट चल बिन्दु में अंकगणित करता है और फिर परिणाम को [[डबल-परिशुद्धता फ़्लोटिंग-पॉइंट प्रारूप|डबल-परिशुद्धता चल बिन्दु प्रारूप]]|आईईईई 754 द्विचर64 चल बिन्दु में राउंड करता है।
कई बार पूर्णांकन करने से एरर संचित हो सकता है।<ref name="Volkov_1990">{{cite book |title=संख्यात्मक तरीके|author-first=E. A. |author-last=Volkov |publisher=[[Taylor & Francis]] |date=1990 |isbn=978-1-56032011-1 |page=24 |url=https://books.google.com/books?id=ubfrNN8GGOIC&pg=PA24}}</ref> उदाहरण के लिए, यदि 9.945309 को दो दशमलव स्थानों (9.95) तक पूर्णांकित किया जाता है, फिर एक दशमलव स्थान (10.0) तक पूर्णांकित किया जाता है, तो कुल एरर 0.054691 होता है। एक चरण में 9.945309 को एक दशमलव स्थान (9.9) तक पूर्णांकित करने पर कम एरर (0.045309) आता है। यह तब हो सकता है, उदाहरण के लिए, जब सॉफ़्टवेयर एक्स86 80-बिट चल बिन्दु में अंकगणित करता है और फिर परिणाम को [[डबल-परिशुद्धता फ़्लोटिंग-पॉइंट प्रारूप|आईईईई]] 754 द्विचर 64 चल बिन्दु पर राउंड करता है।


== चल बिन्दु संख्या प्रणाली ==
== चल बिन्दु संख्या प्रणाली ==


[[निश्चित-बिंदु अंकगणित|चल बिन्दु अंकगणित]]|चल बिन्दु संख्या प्रणाली की तुलना में, चल बिन्दु अंकगणित|चल बिन्दु संख्या प्रणाली वास्तविक संख्याओं का प्रतिनिधित्व करने में अधिक कुशल है, इसलिए आधुनिक अभिकलकों में इसका व्यापक रूप से उपयोग किया जाता है। जबकि वास्तविक संख्या <math>\mathbb{R}</math> अनंत और निरंतर हैं, एक चल बिन्दु संख्या प्रणाली <math>F</math> परिमित और पृथक है. इस प्रकार, प्रतिनिधित्व त्रुटि, जो राउंडऑफ़ त्रुटि की ओर ले जाती है, चल बिन्दु संख्या प्रणाली के अंतर्गत होती है।
[[निश्चित-बिंदु अंकगणित|चल बिन्दु]] संख्या प्रणाली की तुलना में, चल बिन्दु संख्या प्रणाली वास्तविक संख्याओं का प्रतिनिधित्व करने में अधिक कुशल है, इसलिए आधुनिक कंप्यूटरों में इसका व्यापक रूप से उपयोग किया जाता है। जबकि वास्तविक संख्या <math>\mathbb{R}</math> अनंत और सतत हैं, एक चल बिन्दु संख्या प्रणाली <math>F</math> परिमित और असतत है। इस प्रकार, रिप्रजेंटेशन एरर, जो राउंडऑफ़ एरर की ओर ले जाती है, चल बिन्दु संख्या प्रणाली के अंतर्गत होती है।


=== चल बिन्दु संख्या प्रणाली का संकेतन ===
=== चल बिन्दु संख्या प्रणाली की नोटेशन ===
एक चल बिन्दु संख्या प्रणाली <math>F</math> द्वारा चित्रित है <math>4</math> पूर्णांक:
एक चल बिन्दु संख्या प्रणाली <math>F</math> द्वारा पूर्णांक <math>4</math> चित्रित है:
*<math> \beta </math>: आधार या मूलांक
*<math> \beta </math>: आधार या मूलांक,
*<math>p</math>: शुद्धता
*<math>p</math>: परिशुद्धता,
*<math> [L, U] </math>: घातांक सीमा, जहाँ <math>L</math> निचली सीमा है और <math>U</math> ऊपरी सीमा है
*<math> [L, U] </math>: घातांक सीमा, जहाँ <math>L</math> निचली सीमा है और <math>U</math> ऊपरी सीमा है।


कोई <math>x \in F</math> निम्नलिखित रूप है:
कोई <math>x \in F</math> का निम्नलिखित रूप है:
<math display="block"> x = \pm (\underbrace{d_{0}.d_{1}d_{2}\ldots d_{p-1}}_\text{mantissa})_{\beta}  \times \beta ^{\overbrace{E}^\text{exponent}} = \pm d_{0}\times \beta ^{E}+d_{1}\times \beta ^{E-1}+\ldots+ d_{p-1}\times \beta ^{E-(p-1)}</math>
<math display="block"> x = \pm (\underbrace{d_{0}.d_{1}d_{2}\ldots d_{p-1}}_\text{mantissa})_{\beta}  \times \beta ^{\overbrace{E}^\text{exponent}} = \pm d_{0}\times \beta ^{E}+d_{1}\times \beta ^{E-1}+\ldots+ d_{p-1}\times \beta ^{E-(p-1)}</math>
जहाँ <math>d_{i}</math> ऐसा एक पूर्णांक <math>0 \leq d_{i} \leq \beta-1</math> है, <math>i = 0, 1, \ldots, p-1</math> और <math>E</math> के लिए, एक पूर्णांक <math>L \leq E \leq U</math> है
जहाँ <math>d_{i}</math> एक पूर्णांक ऐसा <math>0 \leq d_{i} \leq \beta-1</math> है, <math>i = 0, 1, \ldots, p-1</math> और <math>E</math> के लिए, एक पूर्णांक <math>L \leq E \leq U</math> है।


=== सामान्यीकृत चल-संख्या प्रणाली ===
=== सामान्यीकृत चल-संख्या प्रणाली ===


* यदि अग्रणी अंक हो तो चल बिन्दु संख्या प्रणाली सामान्यीकृत हो जाती है <math>d_{0}</math> जब तक संख्या शून्य न हो, सदैव शून्येतर होती है।<ref name="Forrester_2018"/>चूंकि मंटिसा है <math>d_{0}.d_{1}d_{2}\ldots d_{p-1}</math>, एक सामान्यीकृत प्रणाली में एक गैर-शून्य संख्या का मंटिसा संतुष्ट होता है <math>1 \leq \text{mantissa} < \beta</math>. इस प्रकार, नॉनज़ेरो [[इंस्टीट्यूट ऑफ़ इलेक्ट्रिकल एंड इलेक्ट्रॉनिक्स इंजीनियर्स|आईईईई]] का सामान्यीकृत रूप चल बिन्दु संख्या <math>\pm 1.bb \ldots b \times 2^{E}</math> है जहाँ <math>b \in {0, 1}</math>. द्विचर में, अग्रणी अंक सदैव होता है <math>1</math> इसलिए इसे लिखा नहीं जाता है और इसे अंतर्निहित बिट कहा जाता है। यह अतिरिक्त सटीकता देता है ताकि प्रतिनिधित्व त्रुटि के कारण होने वाली राउंडऑफ़ त्रुटि कम हो जाए।
* एक चल बिन्दु संख्या प्रणाली को सामान्यीकृत किया जाता है यदि अग्रणी अंक <math>d_{0}</math> जब तक संख्या शून्य न हो, तब तक सदैव शून्येतर होता है।<ref name="Forrester_2018"/>चूंकि अपूर्णांश <math>d_{0}.d_{1}d_{2}\ldots d_{p-1}</math> है, एक सामान्यीकृत प्रणाली में एक गैर-शून्य संख्या का अपूर्णांश <math>1 \leq \text{mantissa} < \beta</math> संतुष्ट होता है। इस प्रकार, एक गैर-शून्य [[इंस्टीट्यूट ऑफ़ इलेक्ट्रिकल एंड इलेक्ट्रॉनिक्स इंजीनियर्स|आईईईई]] चल बिन्दु संख्या <math>\pm 1.bb \ldots b \times 2^{E}</math> का सामान्यीकृत रूप है, जहाँ <math>b \in {0, 1}</math> है। द्विचर में, अग्रणी अंक सदैव <math>1</math> होता है इसलिए इसे लिखा नहीं जाता है और इसे अंतर्निहित बिट कहा जाता है। यह अतिरिक्त सटीकता देता है ताकि रिप्रजेंटेशन एरर के कारण होने वाली राउंडऑफ़ एरर कम हो जाए।
* चूंकि चल बिन्दु संख्या प्रणाली <math>F</math> परिमित और असतत है, यह सभी वास्तविक संख्याओं का प्रतिनिधित्व नहीं कर सकता है जिसका अर्थ है कि अनंत वास्तविक संख्याओं को केवल पूर्णांकन के माध्यम से कुछ सीमित संख्याओं द्वारा अनुमानित किया जा सकता है। किसी दी गई वास्तविक संख्या का चल बिन्दु सन्निकटन <math>x</math> द्वारा <math>fl(x)</math> निरूपित किया जा सकता है.
* चूंकि चल बिन्दु संख्या प्रणाली <math>F</math> परिमित और असतत है, यह सभी वास्तविक संख्याओं का प्रतिनिधित्व नहीं कर सकता है जिसका अर्थ है कि अनंत वास्तविक संख्याओं को केवल पूर्णांकन नियमों के माध्यम से कुछ सीमित संख्याओं द्वारा अनुमानित किया जा सकता है। किसी दी गई वास्तविक संख्या का चल बिन्दु सन्निकटन <math>x</math> द्वारा <math>fl(x)</math> को निरूपित किया जा सकता है।
** सामान्यीकृत चल बिन्दु संख्याओं की कुल संख्या है <math display="block">2(\beta -1)\beta^{p-1} (U-L+1)+1,</math> जहाँ
** सामान्यीकृत चल बिन्दु संख्याओं की कुल संख्या है; <math display="block">2(\beta -1)\beta^{p-1} (U-L+1)+1,</math> जहाँ
*** <math>2</math> धनात्मक या ऋणात्मक होने पर संकेत के चयन की गणना की जाती है
*** <math>2</math> धनात्मक या ऋणात्मक होने पर संकेत के चयन की गणना की जाती है।
*** <math>(\beta -1)</math> अग्रणी अंक के चयन की गणना की जाती है
*** <math>(\beta -1)</math> अग्रणी अंक के चयन की गणना की जाती है।
*** <math>\beta^{p-1}</math> शेष मंटिसा को गिनता है
*** <math>\beta^{p-1}</math> शेष अपूर्णांश की गणना की जाती है।
*** <math>U-L+1</math> घातांकों के चयन की गणना की जाती है
*** <math>U-L+1</math> घातांकों के चयन की गणना की जाती है।
*** <math>1</math> संख्या होने पर स्थिति <math>0</math> की गणना की जाती है
*** <math>1</math> संख्या होने पर स्थिति <math>0</math> की गणना की जाती है।


=== आईईईई मानक ===
=== आईईईई मानक ===


आईईईई मानक में आधार द्विचर है, अर्थात <math>\beta = 2</math>, और सामान्यीकरण का उपयोग किया जाता है। आईईईई मानक एक चल बिन्दु शब्द के अलग-अलग क्षेत्रों में संकेत, प्रतिपादक और मंटिसा को संग्रहीत करता है, जिनमें से प्रत्येक की एक निश्चित चौड़ाई (बिट्स की संख्या) होती है। चल बिन्दु संख्याओं के लिए परिशुद्धता के दो सबसे अधिक उपयोग किए जाने वाले स्तर एकल परिशुद्धता और दोहरी परिशुद्धता हैं।
आईईईई मानक में आधार द्विचर है, अर्थात <math>\beta = 2</math>, और सामान्यीकरण का उपयोग किया जाता है। आईईईई मानक एक चल बिन्दु शब्द के अलग-अलग क्षेत्रों में संकेत, प्रतिपादक और अपूर्णांश को संग्रहीत करता है, जिनमें से प्रत्येक की एक निश्चित चौड़ाई (बिट्स की संख्या) होती है। चल बिन्दु संख्याओं के लिए परिशुद्धता के दो सबसे अधिक उपयोग किए जाने वाले स्तर एकल परिशुद्धता और दोहरी परिशुद्धता हैं।
  {| class="wikitable" style="margin:1em auto"
  {| class="wikitable" style="margin:1em auto"
! सुव्यतता
! परिशुद्धता
! संकेत (बिट्स)
! संकेत (बिट्स)
! प्रतिपादक (बिट्स)
! प्रतिपादक (बिट्स)
! मंटिसा (बिट्स)
! अपूर्णांश (बिट्स)
|-
|-
|एकल || 1 || 8 || 23  
|एकल || 1 || 8 || 23  
|-
|-
|दोगुना || 1 || 11 || 52
|दोहरी || 1 || 11 || 52
|}
|}




== [[मशीन ईपीएसलॉन|यंत्र ईपीएसलॉन]] ==
== मशीन ईपीएसलॉन ==


चल बिन्दु संख्या प्रणाली में राउंडऑफ़ त्रुटि के स्तर को मापने के लिए यंत्र एप्सिलॉन का उपयोग किया जा सकता है। यहां दो अलग-अलग परिभाषाएं दी गई हैं.<ref name="Forrester_2018"/>
चल बिन्दु संख्या प्रणाली में राउंडऑफ़ एरर के स्तर को मापने के लिए मशीन ईपीएसलॉन का उपयोग किया जा सकता है। यहां दो अलग-अलग परिभाषाएं हैं।<ref name="Forrester_2018"/>


* यंत्र एप्सिलॉन, निरूपित <math>\epsilon_\text{mach}</math>, एक गैर-शून्य वास्तविक संख्या का प्रतिनिधित्व करने में अधिकतम संभव [[सन्निकटन त्रुटि]] है <math>x</math> चल बिन्दु संख्या प्रणाली में। <math display="block">\epsilon_\text{mach} = \max_{x} \frac{|x-fl(x)|}{|x|}</math>
* मशीन ईपीएसलॉन, निरूपित <math>\epsilon_\text{mach}</math>, चल बिन्दु संख्या प्रणाली में एक गैर-शून्य वास्तविक संख्या <math>x</math> प्रतिनिधित्व करने में अधिकतम संभव पूर्ण सापेक्ष एरर है।<math display="block">\epsilon_\text{mach} = \max_{x} \frac{|x-fl(x)|}{|x|}</math>
* यंत्र एप्सिलॉन, निरूपित <math>\epsilon_\text{mach}</math>, सबसे छोटी संख्या है <math>\epsilon</math> ऐसा है कि <math>fl(1+\epsilon) > 1</math>. इस प्रकार, <math>fl(1+\delta)=fl(1)=1</math> जब कभी भी <math>|\delta| < \epsilon_\text{mach}</math>.
* मशीन ईपीएसलॉन, निरूपित <math>\epsilon_\text{mach}</math>, सबसे छोटी संख्या <math>\epsilon</math> है जैसे कि <math>fl(1+\epsilon) > 1</math> है। इस प्रकार, <math>fl(1+\delta)=fl(1)=1</math> जब भी <math>|\delta| < \epsilon_\text{mach}</math> है।


== विभिन्न राउंडिंग नियमों के अंतर्गत राउंडऑफ़ त्रुटि ==
== विभिन्न पूर्णांकन नियमों के अंतर्गत राउंडऑफ़ एरर ==


गोल करने के दो सामान्य नियम हैं, राउंड-बाय-चॉप और राउंड-टू-नियरेस्ट। IEEE मानक राउंड-टू-नियरेस्ट का उपयोग करता है।
पूर्णांकन के दो सामान्य नियम: राउंड-बाय-चॉप और राउंड-टू-नियरेस्ट हैं। आईईईई मानक राउंड-टू-नियरेस्ट का उपयोग करता है।


* गोल-दर-काट: आधार-<math>\beta</math> का विस्तार <math>x</math> के बाद छोटा कर दिया गया है <math>(p-1)</math>-वाँ अंक.
* राउंड-बाय-चॉप: आधार-<math>\beta</math> का विस्तार <math>x</math> के बाद <math>(p-1)</math>-वाँ अंक छोटा कर दिया गया है।
** यह पूर्णांकन नियम पक्षपाती है क्योंकि यह परिणाम को सदैव शून्य की ओर ले जाता है।
** यह पूर्णांकन नियम अभिनत है क्योंकि यह परिणाम को सदैव शून्य की ओर ले जाता है।
* राउंड-टू-नियरेस्ट: <math>fl(x)</math> को निकटतम चल बिन्दु संख्या पर व्यवस्थित किया गया है <math>x</math>. जब कोई टाई होती है, तो चल बिन्दु संख्या जिसका अंतिम संग्रहीत अंक सम है (साथ ही, अंतिम अंक, द्विचर रूप में, 0 के बराबर है) का उपयोग किया जाता है।
* राउंड-टू-नियरेस्ट: <math>fl(x)</math> को निकटतम चल बिन्दु संख्या <math>x</math> पर व्यवस्थित किया गया है। जब कोई टाई होती है, तो चल बिन्दु संख्या जिसका अंतिम संग्रहीत अंक सम है (साथ ही, अंतिम अंक, द्विचर रूप में, 0 के बराबर है) का उपयोग किया जाता है।
** आईईईई मानक के लिए जहां आधार <math>\beta</math> है <math>2</math>, इसका अर्थ है कि जब कोई टाई होता है तो इसे गोल किया जाता है ताकि अंतिम अंक बराबर हो <math>0</math>.
** आईईईई मानक के लिए, जहां आधार <math>\beta</math>, <math>2</math> है, इसका अर्थ है कि जब कोई टाई होता है तो इसे पूर्णांकित किया जाता है ताकि अंतिम अंक <math>0</math> के बराबर हो।
** यह पूर्णांकन नियम अधिक सटीक है परन्तु अभिकलनीयतः अधिक महंगा है।
** यह पूर्णांकन नियम अधिक सटीक है परन्तु अभिकलनीयतः अधिक बहुमूल्य है।
** राउंडिंग ताकि अंतिम संग्रहीत अंक एक समान हो जब कोई टाई हो, यह सुनिश्चित करता है कि इसे व्यवस्थित रूप से ऊपर या नीचे गोल नहीं किया गया है। इसका उद्देश्य केवल पक्षपाती पूर्णांकन के कारण लंबी गणनाओं में अवांछित धीमी बहाव की संभावना से बचना है।
** पूर्णांकन ताकि अंतिम संग्रहीत अंक एक समान हो जब कोई टाई हो, यह सुनिश्चित करता है कि इसे व्यवस्थित रूप से ऊपर या नीचे पूर्णांकित नहीं किया गया है। इसका उद्देश्य केवल अभिनत पूर्णांकन के कारण लंबी गणनाओं में अवांछित धीमे विस्थापन की संभावना से बचना है।
* निम्नलिखित उदाहरण दो राउंडिंग नियमों के अंतर्गत राउंडऑफ़ त्रुटि के स्तर को दर्शाता है।<ref name="Forrester_2018"/>राउंडिंग नियम, राउंड-से-निकटतम, सामान्य तौर पर राउंडऑफ़ त्रुटि को कम करता है।
* निम्नलिखित उदाहरण दो पूर्णांकन नियमों के अंतर्गत राउंडऑफ़ एरर के स्तर को दर्शाता है।<ref name="Forrester_2018"/>पूर्णांकन नियम, राउंड-टू-नियरेस्ट, सामान्य तौर पर राउंडऑफ़ एरर को कम करता है।
  {| class="wikitable" style="margin:1em auto"
  {| class="wikitable" style="margin:1em auto"
! x
! x
! राउंड-से-चोंप
! राउंड-बाय-चॉप
! राउंडऑफ़ त्रुटि
! राउंडऑफ़ एरर
! राउंड-से-निकटतम
! राउंड-टू-नियरेस्ट
! राउंडऑफ़ त्रुटि
! राउंडऑफ़ एरर
|-
|-
|1.649 || 1.6 || 0.049 || 1.6 || 0.049
|1.649 || 1.6 || 0.049 || 1.6 || 0.049
Line 118: Line 118:




=== आईईईई मानक में राउंडऑफ़ त्रुटि की गणना ===
=== आईईईई मानक में राउंडऑफ़ एरर की गणना ===


मान लीजिए कि राउंड-से-निकटतम और आईईईई डबल प्रिसिजन का उपयोग किया जाता है।
मान लीजिए कि राउंड-टू-नियरेस्ट और आईईईई दोहरी परिशुद्धता का उपयोग किया जाता है।


* उदाहरण: दशमलव संख्या <math>(9.4)_{10}=(1001.{\overline{0110}})_{2}</math> में पुनर्व्यवस्थित किया जा सकता है <math display="block">+1.\underbrace{0010110011001100110011001100110011001100110011001100}_\text{52 bits}110 \ldots \times 2^{3}</math> चूँकि द्विचर बिंदु के दाईं ओर 53-वां बिट 1 है और उसके बाद अन्य गैर-शून्य बिट्स आते हैं, राउंड-टू-नियरेस्ट नियम के लिए राउंड अप की आवश्यकता होती है, अर्थात 52-वें बिट में 1 बिट जोड़ें। इस प्रकार, आईईईई मानक 9.4 में सामान्यीकृत चल बिन्दु प्रतिनिधित्व है
* उदाहरण: दशमलव संख्या <math>(9.4)_{10}=(1001.{\overline{0110}})_{2}</math> में पुनर्व्यवस्थित किया जा सकता है: <math display="block">+1.\underbrace{0010110011001100110011001100110011001100110011001100}_\text{52 bits}110 \ldots \times 2^{3}</math> चूँकि द्विचर बिंदु के दाईं ओर 53-वां बिट 1 है और उसके बाद अन्य गैर-शून्य बिट्स आते हैं, राउंड-टू-नियरेस्ट नियम के लिए एकत्र करने की आवश्यकता होती है, अर्थात 52-वें बिट में 1 बिट जोड़ें। इस प्रकार, आईईईई मानक 9.4 में सामान्यीकृत चल बिन्दु प्रतिनिधित्व है:
<math display="block">fl(9.4)=1.0010110011001100110011001100110011001100110011001101 \times 2^{3}.</math>
<math display="block">fl(9.4)=1.0010110011001100110011001100110011001100110011001101 \times 2^{3}.</math>
* अब प्रतिनिधित्व करते समय राउंडऑफ़ त्रुटि की गणना की जा सकती है <math>9.4</math> साथ <math>fl(9.4)</math>.
* अब प्रतिनिधित्व करते समय राउंडऑफ़ एरर <math>9.4</math> के साथ <math>fl(9.4)</math> की गणना की जा सकती है।
यह निरूपण अनंत पूँछ को त्यागकर प्राप्त किया गया है <math display="block">0.{\overline{1100}} \times 2^{-52}\times 2^{3} = 0.{\overline{0110}} \times 2^{-51} \times 2^{3}=0.4 \times 2^{-48}</math> दाहिनी पूँछ से और फिर जोड़ा गया <math>1 \times 2^{-52} \times 2^{3}=2^{-49}</math> गोलाकार चरण में.
यह निरूपण अनंत पश्चभाग को त्यागकर प्राप्त किया गया है: <math display="block">0.{\overline{1100}} \times 2^{-52}\times 2^{3} = 0.{\overline{0110}} \times 2^{-51} \times 2^{3}=0.4 \times 2^{-48}</math> पूर्णांकन चरण में,दाहिने पश्चभाग से और फिर <math>1 \times 2^{-52} \times 2^{3}=2^{-49}</math> जोड़ा गया है।
:तब <math>fl(9.4) = 9.4-0.4 \times 2^{-48} + 2^{-49} = 9.4+(0.2)_{10} \times 2^{-49}</math>.
:तब <math>fl(9.4) = 9.4-0.4 \times 2^{-48} + 2^{-49} = 9.4+(0.2)_{10} \times 2^{-49}</math> है।
:इस प्रकार, राउंडऑफ़ त्रुटि है <math>(0.2 \times 2^{-49})_{10}</math>.
:इस प्रकार, राउंडऑफ़ एरर <math>(0.2 \times 2^{-49})_{10}</math> है।


===यंत्र ईपीएसलॉन का उपयोग करके राउंडऑफ़ त्रुटि को मापना ===
===मशीन ईपीएसलॉन का उपयोग करके राउंडऑफ़ एरर को मापना ===


यंत्र ईपीएसलॉन <math>\epsilon_\text{mach}</math> उपरोक्त दो राउंडिंग नियमों का उपयोग करते समय राउंडऑफ़ त्रुटि के स्तर को मापने के लिए इसका उपयोग किया जा सकता है। नीचे सूत्र और संबंधित प्रमाण दिए गए हैं।<ref name="Forrester_2018"/>यंत्र एप्सिलॉन की पहली परिभाषा का उपयोग यहां किया गया है।
मशीन ईपीएसलॉन <math>\epsilon_\text{mach}</math> ऊपर दिए गए दो पूर्णांकन नियमों का उपयोग करते समय राउंडऑफ़ एरर के स्तर को मापने के लिए इसका उपयोग किया जा सकता है। नीचे सूत्र और संबंधित प्रमाण दिए गए हैं।<ref name="Forrester_2018"/>मशीन ईपीएसलॉन की पहली परिभाषा का उपयोग यहां किया गया है।


==== प्रमेय ====
==== प्रमेय ====
# गोल-गोल काटें: <math>\epsilon_\text{mach} = \beta^{1-p}</math>
# राउंड-बाय-चॉप: <math>\epsilon_\text{mach} = \beta^{1-p}</math>
# राउंड-टू-नियरेस्ट: <math>\epsilon_\text{mach} = \frac{1}{2}\beta^{1-p}</math>
# राउंड-टू-नियरेस्ट: <math>\epsilon_\text{mach} = \frac{1}{2}\beta^{1-p}</math>




==== प्रमाण ====
==== प्रमाण ====
मान लीजिए कि <math>x=d_{0}.d_{1}d_{2} \ldots d_{p-1}d_{p} \ldots \times \beta^{n} \in \mathbb{R}</math> जहाँ <math>n \in [L, U]</math>, और जाने <math>fl(x)</math> का चल बिन्दु प्रतिनिधित्व हो <math>x</math>.
मान लीजिए कि <math>x=d_{0}.d_{1}d_{2} \ldots d_{p-1}d_{p} \ldots \times \beta^{n} \in \mathbb{R}</math> जहाँ <math>n \in [L, U]</math> और <math>fl(x)</math> का चल बिन्दु प्रतिनिधित्व <math>x</math> है। चूंकि राउंड-बाय-चॉप का उपयोग किया जा रहा है, इसलिए यह है
चूंकि राउंड-बाय-चॉप का उपयोग किया जा रहा है, इसलिए यह है
<math display="block"> \begin{align}
<math display="block"> \begin{align}
\frac{|x-fl(x)|}{|x|} &= \frac{|d_{0}.d_{1}d_{2}\ldots d_{p-1}d_{p}d_{p+1}\ldots \times \beta^{n} - d_{0}.d_{1}d_{2}\ldots d_{p-1} \times \beta^{n}|}{|d_{0}.d_{1}d_{2}\ldots \times \beta^{n}|}\\
\frac{|x-fl(x)|}{|x|} &= \frac{|d_{0}.d_{1}d_{2}\ldots d_{p-1}d_{p}d_{p+1}\ldots \times \beta^{n} - d_{0}.d_{1}d_{2}\ldots d_{p-1} \times \beta^{n}|}{|d_{0}.d_{1}d_{2}\ldots \times \beta^{n}|}\\
Line 146: Line 145:
&= \frac{|d_{p}.d_{p+1}d_{p+2}\ldots|}{|d_{0}.d_{1}d_{2}\ldots|} \times \beta^{-p}
&= \frac{|d_{p}.d_{p+1}d_{p+2}\ldots|}{|d_{0}.d_{1}d_{2}\ldots|} \times \beta^{-p}
\end{align}</math>
\end{align}</math>
इस मात्रा का अधिकतम निर्धारण करने के लिए, अंश का अधिकतम और हर का न्यूनतम ज्ञात करने की आवश्यकता है। तब से <math>d_{0}\neq 0</math> (सामान्यीकृत प्रणाली), हर का न्यूनतम मान है <math>1</math>. अंश ऊपर से घिरा हुआ है <math>(\beta-1).(\beta-1){\overline{(\beta-1)}}=\beta </math>. इस प्रकार, <math>\frac{|x-fl(x)|}{|x|} \leq \frac{\beta}{1} \times \beta^{-p} = \beta^{1-p}</math>. इसलिए, <math>\epsilon=\beta^{1-p}</math> गोल-गोल काटने के लिए।
इस मात्रा का अधिकतम निर्धारण करने के लिए, अंश का अधिकतम और हर का न्यूनतम ज्ञात करने की आवश्यकता है। तब से <math>d_{0}\neq 0</math> (स