राउंड-ऑफ़ एरर: 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> (सामान्यीकृत प्रणाली), हर का न्यूनतम मान <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> है। राउंड-टू-नियरेस्ट का प्रमाण समान है।
राउंड-टू-नियरेस्ट का प्रमाण समान है।
* ध्यान दें कि राउंड-टू-नियरेस्ट नियम का उपयोग करते समय मशीन ईपीएसलॉन की पहली परिभाषा दूसरी परिभाषा के बराबर नहीं है, लेकिन यह राउंड-बाय-चॉप के बराबर है।
* ध्यान दें कि राउंड-टू-नियरेस्ट नियम का उपयोग करते समय यंत्र एप्सिलॉन की पहली परिभाषा दूसरी परिभाषा के बिल्कुल बराबर नहीं है, परन्तु यह राउंड-बाय-चॉप के बराबर है।


== चल बिन्दु अंकगणित के कारण राउंडऑफ़ त्रुटि ==
== चल बिन्दु अंकगणित के कारण राउंडऑफ़ एरर ==


भले ही कुछ संख्याओं को चल बिन्दु संख्याओं द्वारा सटीक रूप से दर्शाया जा सकता है और ऐसी संख्याओं को यंत्र संख्या कहा जाता है, चल बिन्दु अंकगणित करने से अंतिम परिणाम में राउंडऑफ़ त्रुटि हो सकती है।
भले ही कुछ संख्याओं को चल बिन्दु संख्याओं द्वारा सटीक रूप से दर्शाया जा सकता है और ऐसी संख्याओं को मशीन संख्या कहा जाता है, चल बिन्दु अंकगणित करने से अंतिम परिणाम में राउंडऑफ़ एरर हो सकता है।


=== जोड़ ===
=== जोड़ ===


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


* उदाहरण के लिए, जोड़ना <math>1</math> को <math>2^{-53}</math> आईईईई में दोहरी परिशुद्धता इस प्रकार है,{{Break}}<math>\begin{align}
* उदाहरण के लिए, <math>1</math> से <math>2^{-53}</math> तक आईईईई में दोहरी परिशुद्धता इस प्रकार है,{{Break}}<math>\begin{align}
1.00\ldots 0 \times 2^{0} + 1.00\ldots 0 \times 2^{-53} &= 1.\underbrace{00\ldots 0}_\text{52 bits} \times 2^{0} + 0.\underbrace{00\ldots 0}_\text{52 bits}1 \times 2^{0}\\
1.00\ldots 0 \times 2^{0} + 1.00\ldots 0 \times 2^{-53} &= 1.\underbrace{00\ldots 0}_\text{52 bits} \times 2^{0} + 0.\underbrace{00\ldots 0}_\text{52 bits}1 \times 2^{0}\\
&= 1.\underbrace{00\ldots 0}_\text{52 bits}1\times 2^{0}.
&= 1.\underbrace{00\ldots 0}_\text{52 bits}1\times 2^{0}.
\end{align}</math>{{Break}}इसे इस रूप में सहेजा गया है <math>1.\underbrace{00\ldots 0}_\text{52 bits}\times 2^{0}</math> चूंकि आईईईई मानक में राउंड-टू-नियरेस्ट का उपयोग किया जाता है। इसलिए, <math>1+2^{-53}</math> के बराबर है <math>1</math> आईईईई में दोहरी परिशुद्धता और राउंडऑफ़ त्रुटि है <math>2^{-53}</math>.
\end{align}</math>{{Break}}इसे इस रूप, <math>1.\underbrace{00\ldots 0}_\text{52 bits}\times 2^{0}</math> में सहेजा गया है चूंकि आईईईई मानक में राउंड-टू-नियरेस्ट का उपयोग किया जाता है। इसलिए, <math>1+2^{-53}</math> के बराबर <math>1</math> है। आईईईई में दोहरी परिशुद्धता और राउंडऑफ़ एरर <math>2^{-53}</math> है।


यह उदाहरण दर्शाता है कि बड़ी संख्या और छोटी संख्या को जोड़ने पर राउंडऑफ़ त्रुटि उत्पन्न हो सकती है। घातांकों का मिलान करने के लिए मंटिसा में दशमलव बिंदुओं को स्थानांतरित करने से कुछ कम महत्वपूर्ण अंकों की हानि होता है। परिशुद्धता की हानि को अवशोषण के रूप में वर्णित किया जा सकता है।<ref>{{cite book |last1=Biran |first1=Adrian B. |last2=Breiner |first2=Moshe |title=प्रत्येक इंजीनियर को MATLAB और सिमुलिंक के बारे में क्या पता होना चाहिए|date=2010 |publisher=[[CRC Press]] |publication-place=[[Boca Raton]], [[Florida]] |isbn=978-1-4398-1023-1 |pages=193–194 |chapter=5}}</ref>
यह उदाहरण दर्शाता है कि बड़ी संख्या और छोटी संख्या को जोड़ने पर राउंडऑफ़ एरर उत्पन्न हो सकता है। घातांकों का मिलान करने के लिए अपूर्णांश में दशमलव बिंदुओं को स्थानांतरित करने से कुछ कम महत्वपूर्ण अंकों की हानि होती है। परिशुद्धता की हानि को समावेश के रूप में वर्णित किया जा सकता है।<ref>{{cite book |last1=Biran |first1=Adrian B. |last2=Breiner |first2=Moshe |title=प्रत्येक इंजीनियर को MATLAB और सिमुलिंक के बारे में क्या पता होना चाहिए|date=2010 |publisher=[[CRC Press]] |publication-place=[[Boca Raton]], [[Florida]] |isbn=978-1-4398-1023-1 |pages=193–194 |chapter=5}}</ref>
ध्यान दें कि दो चल बिन्दु संख्याओं को जोड़ने से राउंडऑफ़ त्रुटि होगी जब उनका योग दोनों में से बड़े से अधिक परिमाण का क्रम होगा।


* उदाहरण के लिए, आधार के साथ एक सामान्यीकृत चल बिन्दु संख्या प्रणाली पर विचार करें <math>10</math> और परिशुद्धता <math>2</math>. तब <math>fl(62)=6.2 \times 10^{1}</math> और <math>fl(41) = 4.1 \times 10^{1}</math>. ध्यान दें कि <math>62+41=103</math> परन्तु <math>fl(103)=1.0 \times 10^{2}</math>. की एक राउंडऑफ़ त्रुटि है <math>103-fl(103)=3</math>.
ध्यान दें कि दो चल बिन्दु संख्याओं को जोड़ने से राउंडऑफ़ एरर होगा जब उनका योग दोनों में से बड़े से अधिक परिमाण का क्रम होगा।


इस प्रकार की त्रुटि एकल ऑपरेशन में अवशोषण त्रुटि के साथ हो सकती है।
* उदाहरण के लिए, आधार <math>10</math> और परिशुद्धता <math>2</math> के साथ एक सामान्यीकृत चल बिन्दु संख्या प्रणाली पर विचार करें। तब <math>fl(62)=6.2 \times 10^{1}</math> और <math>fl(41) = 4.1 \times 10^{1}</math> है। ध्यान दें कि <math>62+41=103</math>, यदि <math>fl(103)=1.0 \times 10^{2}</math> है। राउंडऑफ़ एरर <math>103-fl(103)=3</math> है।
 
इस प्रकार का एरर एकल संचालन में समावेश एरर के साथ हो सकता है।


=== गुणन ===
=== गुणन ===
सामान्य तौर पर, 2-अंकीय मंटिसा के उत्पाद में 2पी अंक तक होते हैं, इसलिए परिणाम मंटिसा में फिट नहीं हो सकता है।<ref name="Forrester_2018"/>इस प्रकार परिणाम में राउंडऑफ़ त्रुटि सम्मिलित होगी।
सामान्य तौर पर, 2-अंकीय अपूर्णांश के उत्पाद में 2पी अंक तक होते हैं, इसलिए परिणाम अपूर्णांश में उपयुक्त नहीं हो सकता है।<ref name="Forrester_2018"/>इस प्रकार परिणाम में राउंडऑफ़ एरर सम्मिलित होगा।


* उदाहरण के लिए, आधार के साथ एक सामान्यीकृत चल बिन्दु संख्या प्रणाली पर विचार करें <math>\beta=10</math> और मंटिसा अंक अधिकतम हैं <math>2</math>. तब <math>fl(77) = 7.7 \times 10^{1}</math> और <math>fl(88) = 8.8 \times 10^{1}</math>. ध्यान दें कि <math>77 \times 88=6776</math> परन्तु <math>fl(6776) = 6.7 \times 10^{3}</math> चूंकि वहां अधिक से अधिक <math>2</math> मंटिसा अंक. राउंडऑफ़ त्रुटि होगी <math>6776 - fl(6776)  = 6776 - 6.7 \times 10^{3}=76</math>.
* उदाहरण के लिए, आधार <math>\beta=10</math> अपूर्णांश अंक अधिकतम <math>2</math> के साथ एक सामान्यीकृत चल बिन्दु संख्या प्रणाली पर विचार करें। तब <math>fl(77) = 7.7 \times 10^{1}</math> और <math>fl(88) = 8.8 \times 10^{1}</math> है। ध्यान दें कि <math>77 \times 88=6776</math>, यदि <math>fl(6776) = 6.7 \times 10^{3}</math> है। चूंकि वहां अधिकतम <math>2</math> अपूर्णांश अंक होते हैं। राउंडऑफ़ एरर <math>6776 - fl(6776)  = 6776 - 6.7 \times 10^{3}=76</math> होगा।


=== प्रभाग ===
=== विभाजन ===


सामान्य तौर पर, 2पी-अंकीय मंटिसा के भागफल में P-अंक से अधिक हो सकता है। इस प्रकार परिणाम में राउंडऑफ़ त्रुटि सम्मिलित होगी।
सामान्य तौर पर, 2पी-अंकीय अपूर्णांश के भागफल में P-अंक से अधिक हो सकता है। इस प्रकार परिणाम में राउंडऑफ़ एरर सम्मिलित होगा।


* उदाहरण के लिए, यदि उपरोक्त सामान्यीकृत चल बिन्दु संख्या प्रणाली अभी भी उपयोग की जा रही है, तो <math>1/3=0.333 \ldots</math> परन्तु <math>fl(1/3)=fl(0.333 \ldots)=3.3 \times 10^{-1}</math>. तो, पूंछ <math>0.333 \ldots - 3.3 \times 10^{-1}=0.00333 \ldots </math> काट दिया जाता है.
* उदाहरण के लिए, यदि उपरोक्त सामान्यीकृत चल बिन्दु संख्या प्रणाली अभी भी उपयोग की जा रही है, तो <math>1/3=0.333 \ldots</math> यदि <math>fl(1/3)=fl(0.333 \ldots)=3.3 \times 10^{-1}</math> है। तो, पश्चभाग<math>0.333 \ldots - 3.3 \times 10^{-1}=0.00333 \ldots </math> कट गया है।


=== घटाव ===
=== घटाव ===


अवशोषण घटाव पर भी अनुप्रयुक्त होता है।
समावेश घटाव पर भी अनुप्रयुक्त होता है।


* उदाहरण के लिए, घटाना <math>2^{-60}</math> से <math>1</math> आईईईई में दोहरी परिशुद्धता इस प्रकार है, <math display="block">\begin{align}
* उदाहरण के लिए, <math>2^{-60}</math> से <math>1</math> तक आईईईई में दोहरी परिशुद्धता इस प्रकार है, <math display="block">\begin{align}
1.00\ldots 0 \times 2^{0} - 1.00\ldots 0 \times 2^{-60} &= \underbrace{1.00\ldots 0}_\text{60 bits} \times 2^{0} - \underbrace{0.00\ldots 01}_\text{60 bits} \times 2^{0}\\
1.00\ldots 0 \times 2^{0} - 1.00\ldots 0 \times 2^{-60} &= \underbrace{1.00\ldots 0}_\text{60 bits} \times 2^{0} - \underbrace{0.00\ldots 01}_\text{60 bits} \times 2^{0}\\
&= \underbrace{0.11\ldots 1}_\text{60 bits}\times 2^{0}.
&= \underbrace{0.11\ldots 1}_\text{60 bits}\times 2^{0}.
\end{align}</math> इसे इस रूप में सहेजा गया है <math>\underbrace{1.00\ldots 0}_\text{53 bits}\times 2^{0}</math> चूंकि आईईईई मानक में राउंड-टू-नियरेस्ट का उपयोग किया जाता है। इसलिए, <math>1-2^{-60}</math> के बराबर है <math>1</math> आईईईई में दोहरी परिशुद्धता और राउंडऑफ़ त्रुटि है <math>-2^{-60}</math>.
\end{align}</math> इसे इस रूप, <math>\underbrace{1.00\ldots 0}_\text{53 bits}\times 2^{0}</math> में सहेजा गया है। चूंकि आईईईई मानक में राउंड-टू-नियरेस्ट का उपयोग किया जाता है। इसलिए, <math>1-2^{-60}</math> के बराबर <math>1</math> है। आईईईई में दोहरी परिशुद्धता और राउंडऑफ़ एरर <math>-2^{-60}</math> है।


दो लगभग बराबर संख्याओं को घटाने को घटाव रद्दीकरण कहा जाता है।<ref name="Forrester_2018"/>  
दो लगभग बराबर संख्याओं को घटाने को घटाव निरस्तीकरण कहा जाता है।<ref name="Forrester_2018"/> जब अग्रणी अंकों को निरसित कर दिया जाता है, तो परिणाम सटीक रूप से प्रस्तुत करने के लिए बहुत छोटा हो सकता है और इसे केवल <math>0</math> के रूप में दर्शाया जाएगा।
जब अग्रणी अंकों को रद्द कर दिया जाता है, तो परिणाम सटीक रूप से प्रस्तुत करने के लिए बहुत छोटा हो सकता है और इसे बस के रूप में दर्शाया जाएगा <math>0</math>.


* उदाहरण के लिए, चलो <math>|\epsilon| < \epsilon_\text{mach}</math> और यंत्र एप्सिलॉन की दूसरी परिभाषा का उपयोग यहां किया गया है। इसका समाधान क्या है <math>(1+\epsilon) - (1-\epsilon)</math>?{{Break}} ज्ञात है कि <math>1+\epsilon</math> और <math>1-\epsilon</math> लगभग समान संख्याएँ हैं, और <math>(1+\epsilon) - (1-\epsilon)=1+\epsilon-1+\epsilon=2\epsilon</math>. हालाँकि, चल बिन्दु संख्या प्रणाली में, <math>fl((1+\epsilon) - (1-\epsilon))=fl(1+\epsilon)-fl(1-\epsilon)=1-1=0</math>. यद्यपि <math>2\epsilon</math> आसानी से इतना बड़ा है कि दोनों उदाहरणों का प्रतिनिधित्व किया जा सके <math>\epsilon</math> देकर गोल कर दिया गया है <math>0</math>.
* उदाहरण के लिए, मान लीजिए कि <math>|\epsilon| < \epsilon_\text{mach}</math> और मशीन ईपीएसलॉन की दूसरी परिभाषा का उपयोग यहां किया गया है। <math>(1+\epsilon) - (1-\epsilon)</math> का हल क्या है?{{Break}} यह ज्ञात है कि <math>1+\epsilon</math> और <math>1-\epsilon</math> लगभग समान संख्याएँ हैं, और <math>(1+\epsilon) - (1-\epsilon)=1+\epsilon-1+\epsilon=2\epsilon</math> है। हालाँकि, चल बिन्दु संख्या प्रणाली में, <math>fl((1+\epsilon) - (1-\epsilon))=fl(1+\epsilon)-fl(1-\epsilon)=1-1=0</math> है। यद्यपि <math>2\epsilon</math> सरलता से इतना बड़ा है कि दोनों उदाहरणों, <math>\epsilon</math> को <math>0</math> देकर दूर कर दिया गया है।


कुछ हद तक बड़े के साथ भी <math>\epsilon</math>, सामान्य मामलों में परिणाम अभी भी काफी अविश्वसनीय है। मान की सटीकता में बहुत अधिक विश्वास नहीं है क्योंकि किसी भी चल बिन्दु संख्या में सबसे अधिक अनिश्चितता सबसे दाईं ओर के अंक हैं।
कुछ हद तक बड़े <math>\epsilon</math> के साथ भी, सामान्य स्थितियों में परिणाम अभी भी काफी अविश्वसनीय है। मान की सटीकता में बहुत अधिक विश्वास नहीं है क्योंकि किसी भी चल बिन्दु संख्या में सबसे अधिक अनिश्चितता सबसे दाईं ओर के अंक हैं।


* उदाहरण के लिए, <math>1.99999 \times 10 ^{2}- 1.99998 \times 10^{2} = 0.00001\times10^{2} =1 \times 10^{-5}\times 10^{2}=1\times10^{-3}</math>. परिणाम <math>1\times10^{-3}</math> स्पष्ट रूप से प्रस्तुत करने योग्य है, परन्तु इसमें बहुत अधिक विश्वास नहीं है।
* उदाहरण के लिए, <math>1.99999 \times 10 ^{2}- 1.99998 \times 10^{2} = 0.00001\times10^{2} =1 \times 10^{-5}\times 10^{2}=1\times10^{-3}</math> है। परिणाम <math>1\times10^{-3}</math> स्पष्ट रूप से प्रस्तुत करने योग्य है, परन्तु इसमें बहुत अधिक विश्वास नहीं है।


यह भयावह रद्दीकरण की घटना से निकटता से संबंधित है, जिसमें दो संख्याओं को सन्निकटन के रूप में जाना जाता है।
यह आपत्तिजनक निरस्तीकरण की घटना से निकटता से संबंधित है, जिसमें दो संख्याओं को सन्निकटन के रूप में जाना जाता है।


== राउंडऑफ़ त्रुटि का संचय ==
== राउंडऑफ़ एरर का संचय ==


जब सटीक प्रतिनिधित्व के कारण राउंडऑफ त्रुटि के साथ प्रारंभिक इनपुट पर गणना का अनुक्रम अनुप्रयुक्त किया जाता है तो त्रुटियां बढ़ या जमा हो सकती हैं।
जब सटीक प्रतिनिधित्व के कारण राउंडऑफ एरर के साथ प्रारंभिक इनपुट पर गणना का अनुक्रम अनुप्रयुक्त किया जाता है तो एरर बढ़ या संचित हो सकता हैं।


=== अस्थिर कलन विधि ===
=== अस्थिर कलन विधि ===


एक कलन विधि या संख्यात्मक प्रक्रिया को स्थिर कहा जाता है यदि इनपुट में छोटे परिवर्तन केवल आउटपुट में छोटे परिवर्तन उत्पन्न करते हैं, और यदि आउटपुट में बड़े परिवर्तन उत्पन्न होते हैं तो अस्थिर कहा जाता है।<ref name="Collins_2005">{{cite web |author-last=Collins |author-first=Charles |title=स्थिति एवं स्थिरता|url=https://www.math.utk.edu/~ccollins/M577/Handouts/cond_stab.pdf |website=Department of Mathematics in University of Tennessee |date=2005 |access-date=2018-10-28}}</ref> उदाहरण के लिए, की गणना <math>f(x) = \sqrt{1 + x} - 1</math> स्पष्ट विधि का उपयोग निकट अस्थिर है <math>x = 0</math> दो समान मात्राओं को घटाने में हुई बड़ी त्रुटि के कारण, जबकि समतुल्य अभिव्यक्ति <math>\textstyle{f(x) = \frac{x}{\sqrt{1+x} + 1}}</math> स्थिर है.<ref name="Collins_2005"/>
एक कलन विधि या संख्यात्मक प्रक्रिया को स्थिर कहा जाता है यदि इनपुट में छोटे परिवर्तन केवल बहिर्वेश में छोटे परिवर्तन उत्पन्न करते हैं और यदि बहिर्वेश में बड़े परिवर्तन उत्पन्न होते हैं तो अस्थिर कहा जाता है।<ref name="Collins_2005">{{cite web |author-last=Collins |author-first=Charles |title=स्थिति एवं स्थिरता|url=https://www.math.utk.edu/~ccollins/M577/Handouts/cond_stab.pdf |website=Department of Mathematics in University of Tennessee |date=2005 |access-date=2018-10-28}}</ref> उदाहरण के लिए, <math>f(x) = \sqrt{1 + x} - 1</math> की गणना, "स्पष्ट" विधि का उपयोग करना निकट <math>x = 0</math> में अस्थिर है। दो समान मात्राओं को घटाने में हुई बड़ी एरर के कारण, जबकि समतुल्य अभिव्यक्ति <math>\textstyle{f(x) = \frac{x}{\sqrt{1+x} + 1}}</math> स्थिर है।<ref name="Collins_2005"/>




=== ख़राब समस्याएँ ===
=== कुगठित समस्याएँ ===


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


किसी समस्या की [[शर्त संख्या]] समाधान में सापेक्ष परिवर्तन और इनपुट में सापेक्ष परिवर्तन का अनुपात है।<ref name="Forrester_2018"/>यदि इनपुट में छोटे सापेक्ष परिवर्तन के परिणामस्वरूप समाधान में छोटे सापेक्ष परिवर्तन होते हैं तो एक समस्या अच्छी तरह से अनुकूल होती है। अन्यथा, समस्या ख़राब है.<ref name="Forrester_2018"/>दूसरे शब्दों में, यदि समस्या की स्थिति संख्या 1 से बहुत बड़ी है तो कोई समस्या अनुपयुक्त होती है।
किसी समस्या की [[शर्त संख्या|प्रतिबंधी संख्या]] समाधान में सापेक्ष परिवर्तन और इनपुट में सापेक्ष परिवर्तन का अनुपात है।<ref name="Forrester_2018"/>यदि इनपुट में छोटे सापेक्ष परिवर्तन के परिणामस्वरूप समाधान में छोटे सापेक्ष परिवर्तन होते हैं तो एक समस्या अच्छी तरह से अनुकूल होती है। अन्यथा, समस्या कुगठित है।<ref name="Forrester_2018"/>दूसरे शब्दों में, यदि समस्या की स्थिति संख्या 1 से बहुत बड़ी है तो कोई समस्या अनुपयुक्त होती है।


शर्त संख्या को राउंडऑफ़ त्रुटियों के माप के रूप में पेश किया गया है जो खराब स्थिति वाली समस्याओं को हल करते समय उत्पन्न हो सकती हैं।<ref name="Chapra_2012"/>
प्रतिबंधी संख्या को राउंडऑफ़ एररों के माप के रूप में प्रस्तुत किया गया है जो कुगठित समस्याओं को हल करते समय उत्पन्न हो सकती हैं।<ref name="Chapra_2012"/>




== यह भी देखें ==
== यह भी देखें ==
* [[परिशुद्धता (अंकगणित)]]
* [[परिशुद्धता (अंकगणित)]]
* काट-छाँट
* ट्रंक्शन
* गोलाई
* राउंडिंग
* [[महत्व की हानि]]
* [[महत्व की हानि|आपत्तिजनक निरस्तीकरण]]
* [[तैरनेवाला स्थल]]
* [[तैरनेवाला स्थल|चल बिन्दु]]  
* [[कहन योग एल्गोरिथ्म]]
* [[कहन योग एल्गोरिथ्म|कहन योग कलन विधि]]
* यंत्र एप्सिलॉन
* मशीन ईपीएसलॉन
* विल्किंसन का बहुपद
* विल्किंसन बहुपदीय


==संदर्भ==
==संदर्भ==
Line 244: Line 242:
{{Authority control}}
{{Authority control}}


{{DEFAULTSORT:RoundOff Error}}[[Category: संख्यात्मक विश्लेषण]]
{{DEFAULTSORT:RoundOff Error}}  


[[sv:Avrundningsfel]]
[[sv:Avrundningsfel]]


 
[[Category:Articles with hatnote templates targeting a nonexistent page|RoundOff Error]]
 
[[Category:Created On 21/07/2023|RoundOff Error]]
[[Category: Machine Translated Page]]
[[Category:Lua-based templates|RoundOff Error]]
[[Category:Created On 21/07/2023]]
[[Category:Machine Translated Page|RoundOff Error]]
[[Category:Pages with script errors|RoundOff Error]]
[[Category:Short description with empty Wikidata description|RoundOff Error]]
[[Category:Templates Vigyan Ready|RoundOff Error]]
[[Category:Templates that add a tracking category|RoundOff Error]]
[[Category:Templates that generate short descriptions|RoundOff Error]]
[[Category:Templates using TemplateData|RoundOff Error]]
[[Category:Use dmy dates from August 2019|RoundOff Error]]
[[Category:संख्यात्मक विश्लेषण|RoundOff Error]]

Latest revision as of 14:06, 2 August 2023

कंप्यूटिंग में, एक राउंडऑफ़ एरर,[1] जिसे राउंडिंग एरर भी कहा जाता है,[2] सटीक अंकगणित का उपयोग करके दिए गए एल्गोरिथम द्वारा उत्पादित परिणाम और परिमित-सटीक, राउंडेड अंकगणित का उपयोग करके उसी एल्गोरिथम द्वारा उत्पादित परिणाम के मध्य का अंतर है।[3] राउंडिंग एरर वास्तविक संख्याओं के निरूपण और उनके साथ की गई अंकगणितीय संक्रियाओं में अशुद्धि के कारण होती हैं। यह क्वान्टिजेशन एरर का एक रूप है। सन्निकटन समीकरणों या कलन विधियों का उपयोग करते समय, विशेष रूप से वास्तविक संख्याओं (जिनमें सिद्धांत रूप में अनंत रूप से कई अंक होते हैं) का प्रतिनिधित्व करने के लिए सीमित कई अंकों का उपयोग करते समय, संख्यात्मक विश्लेषण का एक लक्ष्य गणना एररों का अनुमान लगाना है। कम्प्यूटेशन एरर, जिन्हें न्यूमेरिकल एरर भी कहा जाता है, जिनमें ट्रंक्शन एरर और राउंडऑफ़ एरर दोनों सम्मिलित हैं।

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

संक्षेप में, संख्यात्मक गणना में सम्मिलित राउंडऑफ़ एररों के दो प्रमुख दृष्टिकोण हैं:[4]

  1. संख्याओं के परिमाण और सटीकता दोनों का प्रतिनिधित्व करने की गणक क्षमता स्वाभाविक रूप से सीमित है।
  2. कुछ संख्यात्मक प्रकलन राउंडऑफ़ एररों के प्रति अत्यधिक संवेदनशील होते हैं। यह गणितीय विचारों के साथ-साथ गणक द्वारा अंकगणितीय संचालन करने के तरीके दोनों के परिणामस्वरूप हो सकता है।

रिप्रजेंटेशन एरर

अंकों की एक सीमित श्रृंखला का उपयोग करके किसी संख्या का प्रतिनिधित्व करने का प्रयास करने से उत्पन्न एरर राउंडऑफ़ एरर का एक रूप है जिसे रिप्रजेंटेशन एरर कहा जाता है।[5] यहां दशमलव निरूपण में रिप्रजेंटेशन एरर के कुछ उदाहरण यहां दिए गए हैं:

नोटेशन निरूपण सन्निकटन एरर
1/7 0.142 857 0.142 857 0.000 000 142 857
ln 2 0.693 147 180 559 945 309 41... 0.693 147 0.000 000 180 559 945 309 41...
log10 2 0.301 029 995 663 981 195 21... 0.3010 0.000 029 995 663 981 195 21...
32 1.259 921 049 894 873 164 76... 1.25992 0.000 001 049 894 873 164 76...
2 1.414 213 562 373 095 048 80... 1.41421 0.000 003 562 373 095 048 80...
e 2.718 281 828 459 045 235 36... 2.718 281 828 459 045 0.000 000 000 000 000 235 36...
π 3.141 592 653 589 793 238 46... 3.141 592 653 589 793 0.000 000 000 000 000 238 46...

किसी प्रतिनिधित्व में अनुमत अंकों की संख्या बढ़ाने से संभावित राउंडऑफ़ एररों की आपत्तिजनकता कम हो जाती है, परन्तु सीमित संख्या में कई अंकों तक सीमित कोई भी प्रतिनिधित्व अभी भी अनगिनत वास्तविक संख्याओं के लिए कुछ हद तक राउंडऑफ एरर का कारण बनेगा। गणना के मध्यवर्ती चरणों के लिए उपयोग किए जाने वाले अतिरिक्त अंकों को गार्ड अंक के रूप में जाना जाता है।[6]

कई बार पूर्णांकन करने से एरर संचित हो सकता है।[7] उदाहरण के लिए, यदि 9.945309 को दो दशमलव स्थानों (9.95) तक पूर्णांकित किया जाता है, फिर एक दशमलव स्थान (10.0) तक पूर्णांकित किया जाता है, तो कुल एरर 0.054691 होता है। एक चरण में 9.945309 को एक दशमलव स्थान (9.9) तक पूर्णांकित करने पर कम एरर (0.045309) आता है। यह तब हो सकता है, उदाहरण के लिए, जब सॉफ़्टवेयर एक्स86 80-बिट चल बिन्दु में अंकगणित करता है और फिर परिणाम को आईईईई 754 द्विचर 64 चल बिन्दु पर राउंड करता है।

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

चल बिन्दु संख्या प्रणाली की तुलना में, चल बिन्दु संख्या प्रणाली वास्तविक संख्याओं का प्रतिनिधित्व करने में अधिक कुशल है, इसलिए आधुनिक कंप्यूटरों में इसका व्यापक रूप से उपयोग किया जाता है। जबकि वास्तविक संख्या अनंत और सतत हैं, एक चल बिन्दु संख्या प्रणाली परिमित और असतत है। इस प्रकार, रिप्रजेंटेशन एरर, जो राउंडऑफ़ एरर की ओर ले जाती है, चल बिन्दु संख्या प्रणाली के अंतर्गत होती है।

चल बिन्दु संख्या प्रणाली की नोटेशन

एक चल बिन्दु संख्या प्रणाली द्वारा पूर्णांक चित्रित है:

  • : आधार या मूलांक,
  • : परिशुद्धता,
  • : घातांक सीमा, जहाँ निचली सीमा है और ऊपरी सीमा है।

कोई का निम्नलिखित रूप है:

जहाँ एक पूर्णांक ऐसा है, और के लिए, एक पूर्णांक है।

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

  • एक चल बिन्दु संख्या प्रणाली को सामान्यीकृत किया जाता है यदि अग्रणी अंक जब तक संख्या शून्य न हो, तब तक सदैव शून्येतर होता है।[3]चूंकि अपूर्णांश है, एक सामान्यीकृत प्रणाली में एक गैर-शून्य संख्या का अपूर्णांश संतुष्ट होता है। इस प्रकार, एक गैर-शून्य आईईईई चल बिन्दु संख्या का सामान्यीकृत रूप है, जहाँ है। द्विचर में, अग्रणी अंक सदैव होता है इसलिए इसे लिखा नहीं जाता है और इसे अंतर्निहित बिट कहा जाता है। यह अतिरिक्त सटीकता देता है ताकि रिप्रजेंटेशन एरर के कारण होने वाली राउंडऑफ़ एरर कम हो जाए।
  • चूंकि चल बिन्दु संख्या प्रणाली परिमित और असतत है, यह सभी वास्तविक संख्याओं का प्रतिनिधित्व नहीं कर सकता है जिसका अर्थ है कि अनंत वास्तविक संख्याओं को केवल पूर्णांकन नियमों के माध्यम से कुछ सीमित संख्याओं द्वारा अनुमानित किया जा सकता है। किसी दी गई वास्तविक संख्या का चल बिन्दु सन्निकटन द्वारा को निरूपित किया जा सकता है।
    • सामान्यीकृत चल बिन्दु संख्याओं की कुल संख्या है;
      जहाँ
      • धनात्मक या ऋणात्मक होने पर संकेत के चयन की गणना की जाती है।
      • अग्रणी अंक के चयन की गणना की जाती है।
      • शेष अपूर्णांश की गणना की जाती है।
      • घातांकों के चयन की गणना की जाती है।
      • संख्या होने पर स्थिति की गणना की जाती है।

आईईईई मानक

आईईईई मानक में आधार द्विचर है, अर्थात , और सामान्यीकरण का उपयोग किया जाता है। आईईईई मानक एक चल बिन्दु शब्द के अलग-अलग क्षेत्रों में संकेत, प्रतिपादक और अपूर्णांश को संग्रहीत करता है, जिनमें से प्रत्येक की एक निश्चित चौड़ाई (बिट्स की संख्या) होती है। चल बिन्दु संख्याओं के लिए परिशुद्धता के दो सबसे अधिक उपयोग किए जाने वाले स्तर एकल परिशुद्धता और दोहरी परिशुद्धता हैं।

परिशुद्धता संकेत (बिट्स) प्रतिपादक (बिट्स) अपूर्णांश (बिट्स)
एकल 1 8 23
दोहरी 1 11 52


मशीन ईपीएसलॉन

चल बिन्दु संख्या प्रणाली में राउंडऑफ़ एरर के स्तर को मापने के लिए मशीन ईपीएसलॉन का उपयोग किया जा सकता है। यहां दो अलग-अलग परिभाषाएं हैं।[3]

  • मशीन ईपीएसलॉन, निरूपित , चल बिन्दु संख्या प्रणाली में एक गैर-शून्य वास्तविक संख्या प्रतिनिधित्व करने में अधिकतम संभव पूर्ण सापेक्ष एरर है।
  • मशीन ईपीएसलॉन, निरूपित , सबसे छोटी संख्या है जैसे कि है। इस प्रकार, जब भी है।

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

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

  • राउंड-बाय-चॉप: आधार- का विस्तार के बाद -वाँ अंक छोटा कर दिया गया है।
    • यह पूर्णांकन नियम अभिनत है क्योंकि यह परिणाम को सदैव शून्य की ओर ले जाता है।
  • राउंड-टू-नियरेस्ट: को निकटतम चल बिन्दु संख्या पर व्यवस्थित किया गया है। जब कोई टाई होती है, तो चल बिन्दु संख्या जिसका अंतिम संग्रहीत अंक सम है (साथ ही, अंतिम अंक, द्विचर रूप में, 0 के बराबर है) का उपयोग किया जाता है।
    • आईईईई मानक के लिए, जहां आधार , है, इसका अर्थ है कि जब कोई टाई होता है तो इसे पूर्णांकित किया जाता है ताकि अंतिम अंक के बराबर हो।
    • यह पूर्णांकन नियम अधिक सटीक है परन्तु अभिकलनीयतः अधिक बहुमूल्य है।
    • पूर्णांकन ताकि अंतिम संग्रहीत अंक एक समान हो जब कोई टाई हो, यह सुनिश्चित करता है कि इसे व्यवस्थित रूप से ऊपर या नीचे पूर्णांकित नहीं किया गया है। इसका उद्देश्य केवल अभिनत पूर्णांकन के कारण लंबी गणनाओं में अवांछित धीमे विस्थापन की संभावना से बचना है।
  • निम्नलिखित उदाहरण दो पूर्णांकन नियमों के अंतर्गत राउंडऑफ़ एरर के स्तर को दर्शाता है।[3]पूर्णांकन नियम, राउंड-टू-नियरेस्ट, सामान्य तौर पर राउंडऑफ़ एरर को कम करता है।
x राउंड-बाय-चॉप राउंडऑफ़ एरर राउंड-टू-नियरेस्ट राउंडऑफ़ एरर
1.649 1.6 0.049 1.6 0.049
1.650 1.6 0.050 1.6 0.050
1.651 1.6 0.051 1.7 -0.049
1.699 1.6 0.099 1.7 -0.001
1.749 1.7 0.049 1.7 0.049
1.750 1.7 0.050 1.8 -0.050


आईईईई मानक में राउंडऑफ़ एरर की गणना

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

  • उदाहरण: दशमलव संख्या में पुनर्व्यवस्थित किया जा सकता है:
    चूँकि द्विचर बिंदु के दाईं ओर 53-वां बिट 1 है और उसके बाद अन्य गैर-शून्य बिट्स आते हैं, राउंड-टू-नियरेस्ट नियम के लिए एकत्र करने की आवश्यकता होती है, अर्थात 52-वें बिट में 1 बिट जोड़ें। इस प्रकार, आईईईई मानक 9.4 में सामान्यीकृत चल बिन्दु प्रतिनिधित्व है:

  • अब प्रतिनिधित्व करते समय राउंडऑफ़ एरर के साथ की गणना की जा सकती है।

यह निरूपण अनंत पश्चभाग को त्यागकर प्राप्त किया गया है:

पूर्णांकन चरण में,दाहिने पश्चभाग से और फिर जोड़ा गया है।

तब है।
इस प्रकार, राउंडऑफ़ एरर है।

मशीन ईपीएसलॉन का उपयोग करके राउंडऑफ़ एरर को मापना

मशीन ईपीएसलॉन ऊपर दिए गए दो पूर्णांकन नियमों का उपयोग करते समय राउंडऑफ़ एरर के स्तर को मापने के लिए इसका उपयोग किया जा सकता है। नीचे सूत्र और संबंधित प्रमाण दिए गए हैं।[3]मशीन ईपीएसलॉन की पहली परिभाषा का उपयोग यहां किया गया है।

प्रमेय

  1. राउंड-बाय-चॉप:
  2. राउंड-टू-नियरेस्ट:


प्रमाण

मान लीजिए कि जहाँ और का चल बिन्दु प्रतिनिधित्व है। चूंकि राउंड-बाय-चॉप का उपयोग किया जा रहा है, इसलिए यह है

इस मात्रा का अधिकतम निर्धारण करने के लिए, अंश का अधिकतम और हर का न्यूनतम ज्ञात करने की आवश्यकता है। तब से (सामान्यीकृत प्रणाली), हर का न्यूनतम मान है। अंश ऊपर से परिबद्ध है। इस प्रकार, है। इसलिए, राउंड-बाय-चॉप के लिए है। राउंड-टू-नियरेस्ट का प्रमाण समान है।

  • ध्यान दें कि राउंड-टू-नियरेस्ट नियम का उपयोग करते समय मशीन ईपीएसलॉन की पहली परिभाषा दूसरी परिभाषा के बराबर नहीं है, लेकिन यह राउंड-बाय-चॉप के बराबर है।

चल बिन्दु अंकगणित के कारण राउंडऑफ़ एरर

भले ही कुछ संख्याओं को चल बिन्दु संख्याओं द्वारा सटीक रूप से दर्शाया जा सकता है और ऐसी संख्याओं को मशीन संख्या कहा जाता है, चल बिन्दु अंकगणित करने से अंतिम परिणाम में राउंडऑफ़ एरर हो सकता है।

जोड़

मशीन जोड़ में जोड़ी जाने वाली दो संख्याओं के दशमलव बिंदुओं को पंक्तिबद्ध करना, उन्हें जोड़ना और फिर परिणाम को चल बिन्दु संख्या के रूप में संग्रहीत करना सम्मिलित है। जोड़ स्वयं उच्च परिशुद्धता में किया जा सकता है लेकिन परिणाम को निर्दिष्ट परिशुद्धता के अनुसार पूर्णांकित किया जाना चाहिए, जिससे राउंडऑफ़ एरर हो सकता है।[3]

  • उदाहरण के लिए, से तक आईईईई में दोहरी परिशुद्धता इस प्रकार है,

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

यह उदाहरण दर्शाता है कि बड़ी संख्या और छोटी संख्या को जोड़ने पर राउंडऑफ़ एरर उत्पन्न हो सकता है। घातांकों का मिलान करने के लिए अपूर्णांश में दशमलव बिंदुओं को स्थानांतरित करने से कुछ कम महत्वपूर्ण अंकों की हानि होती है। परिशुद्धता की हानि को समावेश के रूप में वर्णित किया जा सकता है।[8]

ध्यान दें कि दो चल बिन्दु संख्याओं को जोड़ने से राउंडऑफ़ एरर होगा जब उनका योग दोनों में से बड़े से अधिक परिमाण का क्रम होगा।

  • उदाहरण के लिए, आधार और परिशुद्धता के साथ एक सामान्यीकृत चल बिन्दु संख्या प्रणाली पर विचार करें। तब और है। ध्यान दें कि , यदि है। राउंडऑफ़ एरर है।

इस प्रकार का एरर एकल संचालन में समावेश एरर के साथ हो सकता है।

गुणन

सामान्य तौर पर, 2-अंकीय अपूर्णांश के उत्पाद में 2पी अंक तक होते हैं, इसलिए परिणाम अपूर्णांश में उपयुक्त नहीं हो सकता है।[3]इस प्रकार परिणाम में राउंडऑफ़ एरर सम्मिलित होगा।

  • उदाहरण के लिए, आधार अपूर्णांश अंक अधिकतम के साथ एक सामान्यीकृत चल बिन्दु संख्या प्रणाली पर विचार करें। तब और है। ध्यान दें कि , यदि है। चूंकि वहां अधिकतम अपूर्णांश अंक होते हैं। राउंडऑफ़ एरर होगा।

विभाजन

सामान्य तौर पर, 2पी-अंकीय अपूर्णांश के भागफल में P-अंक से अधिक हो सकता है। इस प्रकार परिणाम में राउंडऑफ़ एरर सम्मिलित होगा।

  • उदाहरण के लिए, यदि उपरोक्त सामान्यीकृत चल बिन्दु संख्या प्रणाली अभी भी उपयोग की जा रही है, तो यदि है। तो, पश्चभाग कट गया है।

घटाव

समावेश घटाव पर भी अनुप्रयुक्त होता है।

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

दो लगभग बराबर संख्याओं को घटाने को घटाव निरस्तीकरण कहा जाता है।[3] जब अग्रणी अंकों को निरसित कर दिया जाता है, तो परिणाम सटीक रूप से प्रस्तुत करने के लिए बहुत छोटा हो सकता है और इसे केवल के रूप में दर्शाया जाएगा।

  • उदाहरण के लिए, मान लीजिए कि और मशीन ईपीएसलॉन की दूसरी परिभाषा का उपयोग यहां किया गया है। का हल क्या है?
    यह ज्ञात है कि और लगभग समान संख्याएँ हैं, और है। हालाँकि, चल बिन्दु संख्या प्रणाली में, है। यद्यपि सरलता से इतना बड़ा है कि दोनों उदाहरणों, को देकर दूर कर दिया गया है।

कुछ हद तक बड़े के साथ भी, सामान्य स्थितियों में परिणाम अभी भी काफी अविश्वसनीय है। मान की सटीकता में बहुत अधिक विश्वास नहीं है क्योंकि किसी भी चल बिन्दु संख्या में सबसे अधिक अनिश्चितता सबसे दाईं ओर के अंक हैं।

  • उदाहरण के लिए, है। परिणाम स्पष्ट रूप से प्रस्तुत करने योग्य है, परन्तु इसमें बहुत अधिक विश्वास नहीं है।

यह आपत्तिजनक निरस्तीकरण की घटना से निकटता से संबंधित है, जिसमें दो संख्याओं को सन्निकटन के रूप में जाना जाता है।

राउंडऑफ़ एरर का संचय

जब सटीक प्रतिनिधित्व के कारण राउंडऑफ एरर के साथ प्रारंभिक इनपुट पर गणना का अनुक्रम अनुप्रयुक्त किया जाता है तो एरर बढ़ या संचित हो सकता हैं।

अस्थिर कलन विधि

एक कलन विधि या संख्यात्मक प्रक्रिया को स्थिर कहा जाता है यदि इनपुट में छोटे परिवर्तन केवल बहिर्वेश में छोटे परिवर्तन उत्पन्न करते हैं और यदि बहिर्वेश में बड़े परिवर्तन उत्पन्न होते हैं तो अस्थिर कहा जाता है।[9] उदाहरण के लिए, की गणना, "स्पष्ट" विधि का उपयोग करना निकट में अस्थिर है। दो समान मात्राओं को घटाने में हुई बड़ी एरर के कारण, जबकि समतुल्य अभिव्यक्ति स्थिर है।[9]


कुगठित समस्याएँ

यहां तक ​​कि यदि एक स्थिर कलन विधि का उपयोग किया जाता है, तब भी किसी समस्या का समाधान राउंडऑफ़ एरर के संचय के कारण गलत हो सकता है जब समस्या स्वयं खराब स्थिति में हो।

किसी समस्या की प्रतिबंधी संख्या समाधान में सापेक्ष परिवर्तन और इनपुट में सापेक्ष परिवर्तन का अनुपात है।[3]यदि इनपुट में छोटे सापेक्ष परिवर्तन के परिणामस्वरूप समाधान में छोटे सापेक्ष परिवर्तन होते हैं तो एक समस्या अच्छी तरह से अनुकूल होती है। अन्यथा, समस्या कुगठित है।[3]दूसरे शब्दों में, यदि समस्या की स्थिति संख्या 1 से बहुत बड़ी है तो कोई समस्या अनुपयुक्त होती है।

प्रतिबंधी संख्या को राउंडऑफ़ एररों के माप के रूप में प्रस्तुत किया गया है जो कुगठित समस्याओं को हल करते समय उत्पन्न हो सकती हैं।[4]


यह भी देखें

संदर्भ

  1. Butt, Rizwan (2009), Introduction to Numerical Analysis Using MATLAB, Jones & Bartlett Learning, pp. 11–18, ISBN 978-0-76377376-2
  2. Ueberhuber, Christoph W. (1997), Numerical Computation 1: Methods, Software, and Analysis, Springer, pp. 139–146, ISBN 978-3-54062058-7
  3. 3.0 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 Forrester, Dick (2018). गणित/Comp241 संख्यात्मक विधियाँ (व्याख्यान नोट्स). Dickinson College.
  4. 4.0 4.1 Chapra, Steven (2012). इंजीनियरों और वैज्ञानिकों के लिए MATLAB के साथ संख्यात्मक पद्धतियाँ लागू की गईं (3rd ed.). McGraw-Hill. ISBN 9780073401102.
  5. Laplante, Philip A. (2000). कंप्यूटर विज्ञान, इंजीनियरिंग और प्रौद्योगिकी का शब्दकोश. CRC Press. p. 420. ISBN 978-0-84932691-2.
  6. Higham, Nicholas John (2002). संख्यात्मक एल्गोरिदम की सटीकता और स्थिरता (2 ed.). Society for Industrial and Applied Mathematics (SIAM). pp. 43–44. ISBN 978-0-89871521-7.
  7. Volkov, E. A. (1990). संख्यात्मक तरीके. Taylor & Francis. p. 24. ISBN 978-1-56032011-1.
  8. Biran, Adrian B.; Breiner, Moshe (2010). "5". प्रत्येक इंजीनियर को MATLAB और सिमुलिंक के बारे में क्या पता होना चाहिए. Boca Raton, Florida: CRC Press. pp. 193–194. ISBN 978-1-4398-1023-1.
  9. 9.0 9.1 Collins, Charles (2005). "स्थिति एवं स्थिरता" (PDF). Department of Mathematics in University of Tennessee. Retrieved 2018-10-28.


अग्रिम पठन

  • Matt Parker (2021). Humble Pi: When Math Goes Wrong in the Real World. Riverhead Books. ISBN 978-0593084694.


बाहरी संबंध