मैं अक्सर उन स्थितियों में समाप्त होता हूं, जहां यह जांचना आवश्यक है कि प्राप्त अंतर मशीन परिशुद्धता से ऊपर है या नहीं। इस उद्देश्य के लिए लगता है आर के पास एक आसान चर है .Machine$double.eps
:। हालाँकि जब मैं इस मूल्य का उपयोग करने के दिशानिर्देशों के लिए R स्रोत कोड की ओर मुड़ता हूँ तो मुझे कई अलग-अलग पैटर्न दिखाई देते हैं।
उदाहरण
यहाँ stats
पुस्तकालय से कुछ उदाहरण दिए गए हैं :
t.test.R
if(stderr < 10 *.Machine$double.eps * abs(mx))
chisq.test.R
if(abs(sum(p)-1) > sqrt(.Machine$double.eps))
integrate.R
rel.tol < max(50*.Machine$double.eps, 0.5e-28)
lm.influence.R
e[abs(e) < 100 * .Machine$double.eps * median(abs(e))] <- 0
princomp.R
if (any(ev[neg] < - 9 * .Machine$double.eps * ev[1L]))
आदि।
प्रशन
- कैसे एक सब के पीछे उन विभिन्न तर्क को समझ सकते हैं
10 *
,100 *
,50 *
औरsqrt()
संशोधक? - क्या
.Machine$double.eps
सटीक मुद्दों के कारण मतभेदों को समायोजित करने के लिए उपयोग करने के बारे में दिशानिर्देश हैं?
double.eps
। यदि आप एक अस्थायी बिंदु संख्या पर कई ऑपरेशन कर रहे हैं, तो आपकी त्रुटि सहिष्णुता भी समायोजित होनी चाहिए। यही कारण है कि सभी। असमान आपको एक tolerance
तर्क देता है।