राउंड-ऑफ़ एरर: Difference between revisions
No edit summary |
No edit summary |
||
Line 131: | Line 131: | ||
===यंत्र ईपीएसलॉन का उपयोग करके राउंडऑफ़ त्रुटि को मापना === | ===यंत्र ईपीएसलॉन का उपयोग करके राउंडऑफ़ त्रुटि को मापना === | ||
यंत्र ईपीएसलॉन <math>\epsilon_\text{mach}</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>\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> है। राउंड-से-निकटतम का प्रमाण समान है। | ||
राउंड-से-निकटतम का प्रमाण समान है। | * ध्यान दें कि राउंड-से-निकटतम नियम का उपयोग करते समय यंत्र एप्सिलॉन की पहली परिभाषा दूसरी परिभाषा के बराबर नहीं है, परन्तु यह चोंप के द्वारा राउंड के बराबर है। | ||
* ध्यान दें कि राउंड-से-निकटतम नियम का उपयोग करते समय यंत्र एप्सिलॉन की पहली परिभाषा दूसरी परिभाषा के | |||
== चल बिन्दु अंकगणित के कारण राउंडऑफ़ त्रुटि == | == चल बिन्दु अंकगणित के कारण राउंडऑफ़ त्रुटि == | ||
Line 158: | Line 156: | ||
यंत्र जोड़ में जोड़ी जाने वाली दो संख्याओं के दशमलव बिंदुओं को पंक्तिबद्ध करना, उन्हें जोड़ना और फिर परिणाम को चल बिन्दु संख्या के रूप में संग्रहीत करना सम्मिलित है। जोड़ स्वयं उच्च परिशुद्धता में किया जा सकता है परन्तु परिणाम को निर्दिष्ट परिशुद्धता पर वापस गोल किया जाना चाहिए, जिससे राउंडऑफ़ त्रुटि हो सकती है।<ref name="Forrester_2018"/> | यंत्र जोड़ में जोड़ी जाने वाली दो संख्याओं के दशमलव बिंदुओं को पंक्तिबद्ध करना, उन्हें जोड़ना और फिर परिणाम को चल बिन्दु संख्या के रूप में संग्रहीत करना सम्मिलित है। जोड़ स्वयं उच्च परिशुद्धता में किया जा सकता है परन्तु परिणाम को निर्दिष्ट परिशुद्धता पर वापस गोल किया जाना चाहिए, जिससे राउंडऑफ़ त्रुटि हो सकती है।<ref name="Forrester_2018"/> | ||
* उदाहरण के लिए, जोड़ना <math>1</math> | * उदाहरण के लिए, जोड़ना <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> | |||
ध्यान दें कि दो चल बिन्दु संख्याओं को जोड़ने से राउंडऑफ़ त्रुटि होगी जब उनका योग दोनों में से बड़े से अधिक परिमाण का क्रम होगा। | ध्यान दें कि दो चल बिन्दु संख्याओं को जोड़ने से राउंडऑफ़ त्रुटि होगी जब उनका योग दोनों में से बड़े से अधिक परिमाण का क्रम होगा। | ||
* उदाहरण के लिए, आधार | * उदाहरण के लिए, आधार <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> होगी। | ||
=== प्रभाग === | === प्रभाग === | ||
Line 179: | Line 178: | ||
सामान्य तौर पर, 2पी-अंकीय अपूर्णांश के भागफल में P-अंक से अधिक हो सकता है। इस प्रकार परिणाम में राउंडऑफ़ त्रुटि सम्मिलित होगी। | सामान्य तौर पर, 2पी-अंकीय अपूर्णांश के भागफल में P-अंक से अधिक हो सकता है। इस प्रकार परिणाम में राउंडऑफ़ त्रुटि सम्मिलित होगी। | ||
* उदाहरण के लिए, यदि उपरोक्त सामान्यीकृत चल बिन्दु संख्या प्रणाली अभी भी उपयोग की जा रही है, तो <math>1/3=0.333 \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> कट गया है। | ||
=== घटाव === | === घटाव === | ||
Line 185: | Line 184: | ||
अवशोषण घटाव पर भी अनुप्रयुक्त होता है। | अवशोषण घटाव पर भी अनुप्रयुक्त होता है। | ||
* उदाहरण के लिए, घटाना <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> इसे इस रूप | \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>|\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>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.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> स्पष्ट रूप से प्रस्तुत करने योग्य है, परन्तु इसमें बहुत अधिक विश्वास नहीं है। | ||
यह भयावह रद्दीकरण की घटना से निकटता से संबंधित है, जिसमें दो संख्याओं को सन्निकटन के रूप में जाना जाता है। | यह भयावह रद्दीकरण की घटना से निकटता से संबंधित है, जिसमें दो संख्याओं को सन्निकटन के रूप में जाना जाता है। | ||
Line 207: | Line 205: | ||
=== अस्थिर कलन विधि === | === अस्थिर कलन विधि === | ||
एक कलन विधि या संख्यात्मक प्रक्रिया को स्थिर कहा जाता है यदि निविष्टि में छोटे परिवर्तन केवल | एक कलन विधि या संख्यात्मक प्रक्रिया को स्थिर कहा जाता है यदि निविष्टि में छोटे परिवर्तन केवल बहिर्वेश में छोटे परिवर्तन उत्पन्न करते हैं और यदि बहिर्वेश में बड़े परिवर्तन उत्पन्न होते हैं तो अस्थिर कहा जाता है।<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"/>यदि निविष्टि में छोटे सापेक्ष परिवर्तन के परिणामस्वरूप समाधान में छोटे सापेक्ष परिवर्तन होते हैं तो एक समस्या अच्छी तरह से अनुकूल होती है। अन्यथा, समस्या असुविधाजनक है।<ref name="Forrester_2018"/>दूसरे शब्दों में, यदि समस्या की स्थिति संख्या 1 से बहुत बड़ी है तो कोई समस्या अनुपयुक्त होती है। | ||
प्रतिबंधी संख्या को राउंडऑफ़ त्रुटियों के माप के रूप में प्रस्तुत किया गया है जो असुविधाजनक स्थितियों वाली समस्याओं को हल करते समय उत्पन्न हो सकती हैं।<ref name="Chapra_2012"/> | |||
== यह भी देखें == | == यह भी देखें == | ||
* [[परिशुद्धता (अंकगणित)]] | * [[परिशुद्धता (अंकगणित)]] | ||
* | * खंडन | ||
* | * वक्रण | ||
* [[महत्व की हानि]] | * [[महत्व की हानि]] | ||
* [[तैरनेवाला स्थल]] | * [[तैरनेवाला स्थल|चल बिन्दु]] | ||
* [[कहन योग एल्गोरिथ्म]] | * [[कहन योग एल्गोरिथ्म|कहन योग कलन विधि]] | ||
* यंत्र एप्सिलॉन | * यंत्र एप्सिलॉन | ||
* विल्किंसन का बहुपद | * विल्किंसन का बहुपद |
Revision as of 08:50, 23 July 2023
अभिकलन में, एक राउंडऑफ़ त्रुटि,[1] जिसे राउंडिंग त्रुटि भी कहा जाता है,[2] सटीक अंकगणित का उपयोग करके दिए गए कलन विधि द्वारा उत्पादित परिणाम और परिमित-सटीक, गोलाकार अंकगणित का उपयोग करके उसी कलन विधि द्वारा उत्पादित परिणाम के मध्य का अंतर है।[3] राउंडिंग त्रुटियाँ वास्तविक संख्याओं के निरूपण और उनके साथ किए गए अंकगणितीय संक्रियाओं में अशुद्धि के कारण होती हैं। यह परिमाणीकरण त्रुटि का एक रूप है। सन्निकटन समीकरणों या कलन विधियों का उपयोग करते समय, विशेष रूप से वास्तविक संख्याओं (जिनमें सिद्धांत रूप में अनंत रूप से कई अंक होते हैं) का प्रतिनिधित्व करने के लिए सीमित कई अंकों का उपयोग करते समय, संख्यात्मक विश्लेषण का एक लक्ष्य गणना त्रुटियों का अनुमान लगाना है। संगणना त्रुटियाँ, जिन्हें संख्यात्मक त्रुटियाँ भी कहा जाता है, जिनमें छिन्नन त्रुटियाँ और राउंडऑफ़ त्रुटियाँ दोनों सम्मिलित हैं।
जब किसी राउंडऑफ त्रुटि वाले निविष्टि के साथ गणना का क्रम बनाया जाता है, तो त्रुटियां संचित हो सकती हैं, जो कभी-कभी गणना पर प्रभावी हो जाती हैं। खराब स्थिति वाली समस्याओं में, महत्वपूर्ण त्रुटि संचित हो सकती है।
संक्षेप में, संख्यात्मक गणना में सम्मिलित राउंडऑफ़ त्रुटियों के दो प्रमुख दृष्टिकोण हैं:[4]
- संख्याओं के परिमाण और सटीकता दोनों का प्रतिनिधित्व करने की अभिकलक की क्षमता स्वाभाविक रूप से सीमित है।
- कुछ संख्यात्मक प्रकलन राउंडऑफ़ त्रुटियों के प्रति अत्यधिक संवेदनशील होते हैं। यह गणितीय विचारों के साथ-साथ अभिकलक द्वारा अंकगणितीय संचालन करने के तरीके दोनों के परिणामस्वरूप हो सकता है।
प्रतिनिधित्व त्रुटि
अंकों की एक सीमित श्रृंखला का उपयोग करके किसी संख्या का प्रतिनिधित्व करने का प्रयास करने से उत्पन्न त्रुटि राउंडऑफ़ त्रुटि का एक रूप है जिसे प्रतिनिधित्व त्रुटि कहा जाता है।[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... |
3√2 | 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) आती है। यह तब हो सकता है, उदाहरण के लिए, जब सॉफ़्टवेयर x86 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]यंत्र एप्सिलॉन की पहली परिभाषा का उपयोग यहां किया गया है।
प्रमेय
- चोंप के द्वारा राउंड:
- राउंड-से-निकटतम:
प्रमाण
मान लीजिए कि जहाँ , और का चल बिन्दु प्रतिनिधित्व है।चूंकि चोंप के द्वारा राउंड का उपयोग किया जा रहा है, इसलिए यह है
- ध्यान दें कि राउंड-से-निकटतम नियम का उपयोग करते समय यंत्र एप्सिलॉन की पहली परिभाषा दूसरी परिभाषा के बराबर नहीं है, परन्तु यह चोंप के द्वारा राउंड के बराबर है।
चल बिन्दु अंकगणित के कारण राउंडऑफ़ त्रुटि
भले ही कुछ संख्याओं को चल बिन्दु संख्याओं द्वारा सटीक रूप से दर्शाया जा सकता है और ऐसी संख्याओं को यंत्र संख्या कहा जाता है, चल बिन्दु अंकगणित करने से अंतिम परिणाम में राउंडऑफ़ त्रुटि हो सकती है।
जोड़
यंत्र जोड़ में जोड़ी जाने वाली दो संख्याओं के दशमलव बिंदुओं को पंक्तिबद्ध करना, उन्हें जोड़ना और फिर परिणाम को चल बिन्दु संख्या के रूप में संग्रहीत करना सम्मिलित है। जोड़ स्वयं उच्च परिशुद्धता में किया जा सकता है परन्तु परिणाम को निर्दिष्ट परिशुद्धता पर वापस गोल किया जाना चाहिए, जिससे राउंडऑफ़ त्रुटि हो सकती है।[3]
- उदाहरण के लिए, जोड़ना से तक आईईईई में दोहरी परिशुद्धता इस प्रकार है,
इसे इस रूप, में सहेजा गया है चूंकि आईईईई मानक में राउंड-से-निकटतम का उपयोग किया जाता है। इसलिए, के बराबर है। आईईईई में दोहरी परिशुद्धता और राउंडऑफ़ त्रुटि है।
यह उदाहरण दर्शाता है कि बड़ी संख्या और छोटी संख्या को जोड़ने पर राउंडऑफ़ त्रुटि उत्पन्न हो सकती है। घातांकों का मिलान करने के लिए अपूर्णांश में दशमलव बिंदुओं को स्थानांतरित करने से कुछ कम महत्वपूर्ण अंकों की हानि होती है। परिशुद्धता की हानि को अवशोषण के रूप में वर्णित किया जा सकता है।[8]
ध्यान दें कि दो चल बिन्दु संख्याओं को जोड़ने से राउंडऑफ़ त्रुटि होगी जब उनका योग दोनों में से बड़े से अधिक परिमाण का क्रम होगा।
- उदाहरण के लिए, आधार और परिशुद्धता के साथ एक सामान्यीकृत चल बिन्दु संख्या प्रणाली पर विचार करें। तब और है। ध्यान दें कि यदि है। राउंडऑफ़ की एक त्रुटि है।
इस प्रकार की त्रुटि एकल संचालन में अवशोषण त्रुटि के साथ हो सकती है।
गुणन
सामान्य तौर पर, 2-अंकीय अपूर्णांश के उत्पाद में 2पी अंक तक होते हैं, इसलिए परिणाम अपूर्णांश में फिट नहीं हो सकता है।[3]इस प्रकार परिणाम में राउंडऑफ़ त्रुटि सम्मिलित होगी।
- उदाहरण के लिए, आधार अपूर्णांश अंक अधिकतम के साथ एक सामान्यीकृत चल बिन्दु संख्या प्रणाली पर विचार करें। तब और है। ध्यान दें कि यदि है। चूंकि वहां अधिकतम अपूर्णांश अंक होते हैं। राउंडऑफ़ त्रुटि होगी।
प्रभाग
सामान्य तौर पर, 2पी-अंकीय अपूर्णांश के भागफल में P-अंक से अधिक हो सकता है। इस प्रकार परिणाम में राउंडऑफ़ त्रुटि सम्मिलित होगी।
- उदाहरण के लिए, यदि उपरोक्त सामान्यीकृत चल बिन्दु संख्या प्रणाली अभी भी उपयोग की जा रही है, तो यदि है। तो, पश्चभाग कट गया है।
घटाव
अवशोषण घटाव पर भी अनुप्रयुक्त होता है।
- उदाहरण के लिए, घटाना से तक आईईईई में दोहरी परिशुद्धता इस प्रकार है, इसे इस रूप, में सहेजा गया है। चूंकि आईईईई मानक में राउंड-से-निकटतम का उपयोग किया जाता है। इसलिए, के बराबर है। आईईईई में दोहरी परिशुद्धता और राउंडऑफ़ त्रुटि है।
दो लगभग बराबर संख्याओं को घटाने को घटाव रद्दीकरण कहा जाता है।[3] जब अग्रणी अंकों को रद्द कर दिया जाता है, तो परिणाम सटीक रूप से प्रस्तुत करने के लिए बहुत छोटा हो सकता है और इसे केवल के रूप में दर्शाया जाएगा।
- उदाहरण के लिए, मान लीजिए कि और यंत्र एप्सिलॉन की दूसरी परिभाषा का उपयोग यहां किया गया है। का हल क्या है?
यह ज्ञात है कि और लगभग समान संख्याएँ हैं, और है। हालाँकि, चल बिन्दु संख्या प्रणाली में, है।यद्यपि सरलता से इतना बड़ा है कि दोनों उदाहरणों, को देकर दूर कर दिया गया है।
कुछ हद तक बड़े के साथ भी, सामान्य स्थितियों में परिणाम अभी भी काफी अविश्वसनीय है। मान की सटीकता में बहुत अधिक विश्वास नहीं है क्योंकि किसी भी चल बिन्दु संख्या में सबसे अधिक अनिश्चितता सबसे दाईं ओर के अंक हैं।
- उदाहरण के लिए, है।परिणाम स्पष्ट रूप से प्रस्तुत करने योग्य है, परन्तु इसमें बहुत अधिक विश्वास नहीं है।
यह भयावह रद्दीकरण की घटना से निकटता से संबंधित है, जिसमें दो संख्याओं को सन्निकटन के रूप में जाना जाता है।
राउंडऑफ़ त्रुटि का संचय
जब सटीक प्रतिनिधित्व के कारण राउंडऑफ त्रुटि के साथ प्रारंभिक निविष्टि पर गणना का अनुक्रम अनुप्रयुक्त किया जाता है तो त्रुटियां बढ़ या संचित हो सकती हैं।
अस्थिर कलन विधि
एक कलन विधि या संख्यात्मक प्रक्रिया को स्थिर कहा जाता है यदि निविष्टि में छोटे परिवर्तन केवल बहिर्वेश में छोटे परिवर्तन उत्पन्न करते हैं और यदि बहिर्वेश में बड़े परिवर्तन उत्पन्न होते हैं तो अस्थिर कहा जाता है।[9] उदाहरण के लिए, की गणना, "स्पष्ट" विधि का उपयोग करना निकट में अस्थिर है। दो समान मात्राओं को घटाने में हुई बड़ी त्रुटि के कारण, जबकि समतुल्य अभिव्यक्ति स्थिर है।[9]
असुविधाजनक समस्याएँ
यहां तक कि यदि एक स्थिर कलन विधि का उपयोग किया जाता है, तब भी किसी समस्या का समाधान राउंडऑफ़ त्रुटि के संचय के कारण गलत हो सकता है जब समस्या स्वयं असुविधाजनक स्थिति में हो।
किसी समस्या की प्रतिबंधी संख्या समाधान में सापेक्ष परिवर्तन और निविष्टि में सापेक्ष परिवर्तन का अनुपात है।[3]यदि निविष्टि में छोटे सापेक्ष परिवर्तन के परिणामस्वरूप समाधान में छोटे सापेक्ष परिवर्तन होते हैं तो एक समस्या अच्छी तरह से अनुकूल होती है। अन्यथा, समस्या असुविधाजनक है।[3]दूसरे शब्दों में, यदि समस्या की स्थिति संख्या 1 से बहुत बड़ी है तो कोई समस्या अनुपयुक्त होती है।
प्रतिबंधी संख्या को राउंडऑफ़ त्रुटियों के माप के रूप में प्रस्तुत किया गया है जो असुविधाजनक स्थितियों वाली समस्याओं को हल करते समय उत्पन्न हो सकती हैं।[4]
यह भी देखें
- परिशुद्धता (अंकगणित)
- खंडन
- वक्रण
- महत्व की हानि
- चल बिन्दु
- कहन योग कलन विधि
- यंत्र एप्सिलॉन
- विल्किंसन का बहुपद
संदर्भ
- ↑ Butt, Rizwan (2009), Introduction to Numerical Analysis Using MATLAB, Jones & Bartlett Learning, pp. 11–18, ISBN 978-0-76377376-2
- ↑ Ueberhuber, Christoph W. (1997), Numerical Computation 1: Methods, Software, and Analysis, Springer, pp. 139–146, ISBN 978-3-54062058-7
- ↑ 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.0 4.1 Chapra, Steven (2012). इंजीनियरों और वैज्ञानिकों के लिए MATLAB के साथ संख्यात्मक पद्धतियाँ लागू की गईं (3rd ed.). McGraw-Hill. ISBN 9780073401102.
- ↑ Laplante, Philip A. (2000). कंप्यूटर विज्ञान, इंजीनियरिंग और प्रौद्योगिकी का शब्दकोश. CRC Press. p. 420. ISBN 978-0-84932691-2.
- ↑ Higham, Nicholas John (2002). संख्यात्मक एल्गोरिदम की सटीकता और स्थिरता (2 ed.). Society for Industrial and Applied Mathematics (SIAM). pp. 43–44. ISBN 978-0-89871521-7.
- ↑ Volkov, E. A. (1990). संख्यात्मक तरीके. Taylor & Francis. p. 24. ISBN 978-1-56032011-1.
- ↑ Biran, Adrian B.; Breiner, Moshe (2010). "5". प्रत्येक इंजीनियर को MATLAB और सिमुलिंक के बारे में क्या पता होना चाहिए. Boca Raton, Florida: CRC Press. pp. 193–194. ISBN 978-1-4398-1023-1.
- ↑ 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.
बाहरी संबंध
- Roundoff Error at MathWorld.
- Goldberg, David (March 1991). "What Every Computer Scientist Should Know About Floating-Point Arithmetic" (PDF). ACM Computing Surveys. 23 (1): 5–48. doi:10.1145/103162.103163. S2CID 222008826. Retrieved 2016-01-20. ([1], [2])
- 20 Famous Software Disasters