प्रश्न पूरक त्रुटि फ़ंक्शन की चिंता करता है
erfc(x)=2π−−√∫∞xexp(−t2)dt
मूल प्रश्न में ( के "बड़े" मानों के लिए ) - अर्थात्, 100 और 700,000 या तो के बीच। (व्यवहार में, लगभग 6 से अधिक किसी भी मूल्य को "बड़ा" माना जाना चाहिए, जैसा कि हम देखेंगे।) ध्यान दें कि इसका उपयोग पी-मानों की गणना करने के लिए किया जाएगा, तीन से अधिक महत्वपूर्ण (दशमलव) अंक प्राप्त करने में बहुत कम मूल्य है। ।x=n/2–√
शुरू करने के लिए, @Iterator द्वारा सुझाए गए अनुमान पर विचार करें,
f(x)=1−1−exp(−x2(4+ax2π+ax2))−−−−−−−−−−−−−−−−−−−−−−√,
कहाँ पे
a=8(π−3)3(4−π)≈0.439862.
यद्यपि यह त्रुटि फ़ंक्शन के लिए एक उत्कृष्ट सन्निकटन है, यह लिए एक भयानक सन्निकटन है । हालांकि, इसे व्यवस्थित रूप से ठीक करने का एक तरीका है।erfc
इतने बड़े मूल्यों से जुड़े पी-मानों के लिए , हम सापेक्ष त्रुटि में रुचि रखते हैं : हमें उम्मीद है कि इसका महत्वपूर्ण मान तीन महत्वपूर्ण के लिए 0.001 से कम होगा। परिशुद्धता के अंक। दुर्भाग्य से यह अभिव्यक्ति डबल-सटीक संगणना में अंडरफ्लो के कारण बड़े के लिए अध्ययन करना मुश्किल है । यहाँ एक प्रयास है, जो लिए के सापेक्ष त्रुटि प्लॉट करता है :x f(x)/erfc(x)−1xx0≤x≤5.8
एक बार 5.3 से अधिक हो जाने पर गणना अस्थिर हो जाती है और 5.8 से एक महत्वपूर्ण अंक नहीं दे सकता है। यह कोई आश्चर्य की बात नहीं है: दोहरे-सटीक अंकगणित की सीमाओं को आगे बढ़ा रहा है। क्योंकि इस बात का कोई सबूत नहीं है कि सापेक्ष त्रुटि बड़े लिए स्वीकार्य रूप से छोटी होने वाली है , हमें बेहतर करने की आवश्यकता है।xexp(−5.82)≈10−14.6x
विस्तारित अंकगणित ( गणितज्ञ के साथ ) में गणना करने से जो कुछ भी हो रहा है, उसके बारे में हमारी तस्वीर में सुधार होता है:
साथ त्रुटि तेजी से बढ़ती है और लेवलिंग के कोई संकेत नहीं दिखाती है। विगत या तो, यह सन्निकटन जानकारी के एक विश्वसनीय अंक भी नहीं देता है!xx=10
हालांकि, प्लॉट रैखिक दिखने लगा है। हम अनुमान लगा सकते हैं कि सापेक्ष त्रुटि सीधे आनुपातिक है । (यह सैद्धांतिक आधार पर समझ में आता है: स्पष्ट रूप से एक विषम कार्य है और भी प्रकट रूप से है, इसलिए उनका अनुपात एक विषम कार्य होना चाहिए। इस प्रकार हम सापेक्ष त्रुटि की उम्मीद करेंगे, अगर यह बढ़ जाता है, तो इस तरह का व्यवहार करने के लिए। की विषम शक्ति ।) इससे हमें द्वारा विभाजित सापेक्ष त्रुटि का अध्ययन करना पड़ता है । समान रूप से, मैं जांच करना चुनता हूं , क्योंकि आशा है कि यह एक निरंतर सीमित मूल्य होना चाहिए। यहाँ इसका ग्राफ दिया गया है:xerfcfx xx⋅erfc(x)/f(x)
हमारा अनुमान यह प्रतीत होता है: यह अनुपात 8 या इसके आसपास की सीमा के निकट प्रतीत होता है। पूछे जाने पर, गणितज्ञ इसकी आपूर्ति करेगा:
a1 = Limit[x (Erfc[x]/f[x]), x -> \[Infinity]]
मान । यह हमें अनुमान में सुधार करने में सक्षम बनाता है: हम लेते हैंa1=2π√e3(−4+π)28(−3+π)≈7.94325
f1(x)=f(x)a1x
सन्निकटन के पहले शोधन के रूप में। जब वास्तव में बड़ा है - कुछ हज़ार से अधिक - यह सन्निकटन ठीक है। क्योंकि और बीच के तर्कों की एक दिलचस्प श्रृंखला के लिए यह अभी भी काफी अच्छा नहीं होने जा रहा है , इसलिए प्रक्रिया को पुनरावृत्त करें। इस बार, व्युत्क्रम सापेक्ष त्रुटि - विशेष रूप से, अभिव्यक्ति --should बड़े लिए तरह व्यवहार करता है (पिछले समानता के गुणों से) । तदनुसार, हम गुणा करते हैं और अगली सीमा पाते हैं:x5.320001−erfc(x)/f1(x)1/x2xx2
a2 = Limit[x^2 (a1 - x (Erfc[x]/f[x])), x -> \[Infinity]]
मान है
a2=132π−−√e3(−4+π)28(−3+π)(32−9(−4+π)3π(−3+π)2)≈114.687.
जब तक हम चाहें यह प्रक्रिया आगे बढ़ सकती है। मैंने इसे ढूंढते हुए एक और कदम उठाया
a3 = Limit[x^2 (a2 - x^2 (a1 - x (Erfc[x]/f[x]))), x -> \[Infinity]]
लगभग 1623.67 मूल्य के साथ। (पूर्ण अभिव्यक्ति में का डिग्री-आठ तर्कसंगत फ़ंक्शन शामिल है और यहां उपयोगी होने के लिए बहुत लंबा है।)π
इन ऑपरेशनों को अंजाम देने से हमारा अंतिम अनुमान निकलता है
f3(x)=f(x)(a1−a2/x2+a3/x4)/x.
त्रुटि आनुपातिक है । आयात का अनुपात आनुपातिकता है, इसलिए हम :x−6x6(1−erfc(x)/f3(x))
यह तेजी से 2660.59 के आसपास एक सीमित मूल्य पर पहुंचता है। सन्निकटन का उपयोग करते , हम अनुमान प्राप्त , जिनकी सापेक्ष सटीकता सभी लिए से बेहतर है । एक बार जब 20 से अधिक हो जाता है, तो हमारे पास हमारे तीन महत्वपूर्ण अंक होते हैं (या इससे भी अधिक, जैसा कि बड़ा होता है)। एक जाँच के रूप में, यहाँ और बीच के सन्निकटन के सही मानों की तुलना करने वाली एक तालिका है :f3erfc(x)2661/x6x>0xxx1020
x Erfc Approximation
10 2.088*10^-45 2.094*10^-45
11 1.441*10^-54 1.443*10^-54
12 1.356*10^-64 1.357*10^-64
13 1.740*10^-75 1.741*10^-75
14 3.037*10^-87 3.038*10^-87
15 7.213*10^-100 7.215*10^-100
16 2.328*10^-113 2.329*10^-113
17 1.021*10^-127 1.021*10^-127
18 6.082*10^-143 6.083*10^-143
19 4.918*10^-159 4.918*10^-159
20 5.396*10^-176 5.396*10^-176
वास्तव में, यह सन्निकटन लिए परिशुद्धता के कम से कम दो महत्वपूर्ण आंकड़े प्रदान करता है, जो कि बस के बारे में है जहां पैदल यात्री गणना (जैसे एक्सेल के कार्य) के बारे में बताते हैं।x=8NormSDist
अंत में, किसी को प्रारंभिक सन्निकटन गणना करने की हमारी क्षमता के बारे में चिंता हो सकती है । हालांकि, यह मुश्किल नहीं है: जब घातीय में अंडरफ्लोज़ पैदा करने के लिए पर्याप्त बड़ा होता है, तो स्क्वायर रूट अच्छी तरह से आधा घातीय द्वारा अनुमानित होता है,fx
f(x)≈12exp(−x2(4+ax2π+ax2)).
इस (10 बेस में) के लघुगणक की गणना सरल है, और आसानी से वांछित परिणाम देता है। उदाहरण के लिए, । इस सन्निकटन का सामान्य लघुगणक हैx=1000
log10(f(x))≈(−10002(4+a⋅10002π+a⋅10002)−log(2))/log(10)∼−434295.63047.
पैदावार की पैदावार
f(1000)≈2.34169⋅10−434296.
सुधार लागू करना ( ) पैदा करता हैf3
erfc(1000)≈1.86003 70486 32328⋅10−434298.
ध्यान दें कि सुधार मूल सन्निकटन को 99% से अधिक कम कर देता है (और वास्तव में, ।) (यह सन्निकटन सही मान से केवल अंतिम अंक में भिन्न होता है। एक और सुविख्यात सन्निकटन, , छठे महत्वपूर्ण अंक में बराबर होता है । मुझे यकीन है कि हम उस एक को भी सुधार सकते हैं, अगर हम भी। चाहता था, उसी तकनीकों का उपयोग कर।)a1/x≈1%exp(−x2)/(xπ−−√)1.860038⋅10−434298