राउंड-ऑफ़ एरर: Difference between revisions
From Vigyanwiki
No edit summary |
No edit summary |
||
| (6 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 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> यहां दशमलव निरूपण में रिप्रजेंटेशन एरर के कुछ उदाहरण यहां दिए गए हैं: | ||
{| 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="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>F</math> द्वारा <math>4</math> | एक चल बिन्दु संख्या प्रणाली <math>F</math> द्वारा पूर्णांक <math>4</math> चित्रित है: | ||
*<math> \beta </math>: आधार या मूलांक, | *<math> \beta </math>: आधार या मूलांक, | ||
*<math>p</math>: परिशुद्धता, | *<math>p</math>: परिशुद्धता, | ||
| Line 55: | Line 55: | ||
=== सामान्यीकृत चल-संख्या प्रणाली === | === सामान्यीकृत चल-संख्या प्रणाली === | ||
* एक चल बिन्दु संख्या प्रणाली को सामान्यीकृत किया जाता है यदि अग्रणी अंक <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> जहाँ | ||
| Line 79: | Line 79: | ||
== | == मशीन ईपीएसलॉन == | ||
चल बिन्दु संख्या प्रणाली में राउंडऑफ़ | चल बिन्दु संख्या प्रणाली में राउंडऑफ़ एरर के स्तर को मापने के लिए मशीन ईपीएसलॉन का उपयोग किया जा सकता है। यहां दो अलग-अलग परिभाषाएं हैं।<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>\epsilon</math> है जैसे कि <math>fl(1+\epsilon) > 1</math> है। इस प्रकार, <math>fl(1+\delta)=fl(1)=1</math> जब भी <math>|\delta| < \epsilon_\text{mach}</math> है। | ||
== विभिन्न पूर्णांकन नियमों के अंतर्गत राउंडऑफ़ | == विभिन्न पूर्णांकन नियमों के अंतर्गत राउंडऑफ़ एरर == | ||
पूर्णांकन के दो सामान्य नियम: | पूर्णांकन के दो सामान्य नियम: राउंड-बाय-चॉप और राउंड-टू-नियरेस्ट हैं। आईईईई मानक राउंड-टू-नियरेस्ट का उपयोग करता है। | ||
* | * राउंड-बाय-चॉप: आधार-<math>\beta</math> का विस्तार <math>x</math> के बाद <math>(p-1)</math>-वाँ अंक छोटा कर दिया गया है। | ||
** यह पूर्णांकन नियम | ** यह पूर्णांकन नियम अभिनत है क्योंकि यह परिणाम को सदैव शून्य की ओर ले जाता है। | ||
* राउंड- | * राउंड-टू-नियरेस्ट: <math>fl(x)</math> को निकटतम चल बिन्दु संख्या <math>x</math> पर व्यवस्थित किया गया है। जब कोई टाई होती है, तो चल बिन्दु संख्या जिसका अंतिम संग्रहीत अंक सम है (साथ ही, अंतिम अंक, द्विचर रूप में, 0 के बराबर है) का उपयोग किया जाता है। | ||
** आईईईई मानक के लिए, जहां आधार <math>\beta</math>, <math>2</math> है, इसका अर्थ है कि जब कोई टाई होता है तो इसे | ** आईईईई मानक के लिए, जहां आधार <math>\beta</math>, <math>2</math> है, इसका अर्थ है कि जब कोई टाई होता है तो इसे पूर्णांकित किया जाता है ताकि अंतिम अंक <math>0</math> के बराबर हो। | ||
** यह पूर्णांकन नियम अधिक सटीक है परन्तु अभिकलनीयतः अधिक बहुमूल्य है। | ** यह पूर्णांकन नियम अधिक सटीक है परन्तु अभिकलनीयतः अधिक बहुमूल्य है। | ||
** पूर्णांकन ताकि अंतिम संग्रहीत अंक एक समान हो जब कोई टाई हो, यह सुनिश्चित करता है कि इसे व्यवस्थित रूप से ऊपर या नीचे | ** पूर्णांकन ताकि अंतिम संग्रहीत अंक एक समान हो जब कोई टाई हो, यह सुनिश्चित करता है कि इसे व्यवस्थित रूप से ऊपर या नीचे पूर्णांकित नहीं किया गया है। इसका उद्देश्य केवल अभिनत पूर्णांकन के कारण लंबी गणनाओं में अवांछित धीमे विस्थापन की संभावना से बचना है। | ||
* निम्नलिखित उदाहरण दो पूर्णांकन नियमों के अंतर्गत राउंडऑफ़ | * निम्नलिखित उदाहरण दो पूर्णांकन नियमों के अंतर्गत राउंडऑफ़ एरर के स्तर को दर्शाता है।<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 है और उसके बाद अन्य गैर-शून्य बिट्स आते हैं, राउंड- | * उदाहरण: दशमलव संख्या <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 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 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>\epsilon_\text{mach}</math> ऊपर दिए गए दो पूर्णांकन नियमों का उपयोग करते समय राउंडऑफ़ एरर के स्तर को मापने के लिए इसका उपयोग किया जा सकता है। नीचे सूत्र और संबंधित प्रमाण दिए गए हैं।<ref name="Forrester_2018"/>मशीन ईपीएसलॉन की पहली परिभाषा का उपयोग यहां किया गया है। | |||
==== प्रमेय ==== | ==== प्रमेय ==== | ||
# | # राउंड-बाय-चॉप: <math>\epsilon_\text{mach} = \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>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>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"/> | |||
* उदाहरण के लिए, | * उदाहरण के लिए, <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}}इसे इस रूप | \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> | ||
ध्यान दें कि दो चल बिन्दु संख्याओं | |||