संख्यात्मक स्थिरता की अनुमानी जांच


12

मान लें कि मेरे पास कुछ चर वास्तविक मूल्यवान फ़ंक्शन जो मैं संख्यात्मक रूप से मूल्यांकन करना चाहता हूं। सामान्य तौर पर लिए सूत्र में उत्पाद, तर्कसंगत, ट्रांसडैंटल फ़ंक्शंस आदि हो सकते हैं और इसकी संख्यात्मक स्थिरता की जांच करने के लिए लंबे समय तक रहना होगा। या इसे अभ्यास में करने के लिए कम से कम समय लगेगा। मान लीजिए कि मेरे पास ग्वारंटीड स्थिरता के साथ एक छोटा समकक्ष नहीं है। क्या की संख्यात्मक स्थिरता का विश्लेषण करने के लिए एक पद्धतिगत प्रक्रिया हैx i f ff(x1,,xN)xiff। मैं इसे कंप्यूटर बीजगणित प्रणाली का उपयोग करके प्राप्त मनमाने ढंग से पूर्ववर्ती परिणाम से तुलना करने के बारे में सोचता हूं। मान लें कि फ़ंक्शन stdlib फ़ंक्शंस और सिंगल या डबल परिशुद्धता का उपयोग करके C में लागू किया जाएगा। परिमित समय पर अनुमानित मात्रा की मात्रा निर्धारित करने के लिए मुझे किस मात्रा की तुलना करनी चाहिए? मैं चर के महत्वपूर्ण मूल्यों को कैसे निर्धारित करूं? मैं कंपाइलर और कंपाइलर ऑप्टिमाइज़ेशन कैसे चुन सकता हूं ताकि अन्य लोग आसानी से परिणाम पुन: पेश कर सकें? ... मुझे पता है कि अच्छे उत्तर देने के लिए समस्या की सेटिंग सामान्य है। लेकिन मुझे अभी भी लगता है कि यह कंप्यूटर विज्ञान में एक आम समस्या है और आश्चर्य है कि क्या ऐसे संदर्भ हैं जो ऐसे विश्लेषण करने के लिए मानकों का प्रस्ताव करते हैं।

जवाबों:


7

आप जो देख रहे हैं, उसे "स्वचालित त्रुटि विश्लेषण" कहा जाता है और हिघम की पुस्तक "सटीकता और स्थिरता के संख्यात्मक एल्गोरिथम" के अध्याय 26 का विषय है, दूसरा संस्करण।, SIAM पब्लिशर्स।

एक तकनीक जिसका वह वर्णन करता है वह प्रत्यक्ष खोज अनुकूलन का उपयोग कर रहा है: अपनी समस्या को अनुकूलन समस्या के रूप में तैयार करने का प्रयास करें और गुणांक या पैरामीटर मान खोजने के लिए अनुकूलन एल्गोरिथ्म का उपयोग करें जो आपके एल्गोरिदम / सूत्र की सटीकता से संबंधित मात्रा को अधिकतम या कम करता है। वह गाऊसी उन्मूलन (क्या मैट्रिक्स इस विकास कारक को अधिकतम करता है) या एक घन की जड़ों (जैसा कि मैंने आपके पिछले सवालों में से एक में उत्तर दिया) में विकास कारक के उदाहरण का उपयोग करता है।

मेरा सुझाव है कि आप इस पुस्तक की एक प्रति प्राप्त करें, परिचयात्मक अध्यायों और इस अध्याय 26 और उसमें दिए गए संदर्भों को पढ़ें।


3

अपने फ़ंक्शन का मूल्यांकन कुछ समय (3 आमतौर पर पर्याप्त है) सभी इनपुट के साथ थोड़ा यादृच्छिक रूप से ulp द्वारा किया जाता है। तीन परिणामों के मानक विचलन आपको संख्यात्मक संवेदनशीलता का एक कच्चा (लेकिन आमतौर पर पर्याप्त) उपाय देगा। आप इसे रैखिककरण से अपेक्षित संवेदनशीलता की तुलना कर सकते हैं, और स्थिरता का अनुमान प्राप्त करने के लिए भागफल का निर्माण कर सकते हैं।±1

ध्यान दें कि संख्यात्मक स्थिरता यह पूछती है कि किसी विशेष मूल्यांकन में वास्तविक त्रुटि कितनी खराब है, इसकी तुलना संवेदनशीलता विश्लेषण से अपेक्षित त्रुटि की तुलना में है जब इनपुटों को ulp द्वारा बदल दिया जाता है ; ulps में व्यक्त बाद की त्रुटि समस्या की स्थिति को परिभाषित करती है। स्थिर एल्गोरिथ्म के लिए स्थिति बहुत खराब हो सकती है (उदाहरण: पास ) और बहुत अच्छी तरह से वातानुकूलित फ़ंक्शन के लिए स्थिरता खराब हो सकती है (उदाहरण: निकट )।± 1 1 / एक्स एक्स = 0 1 / ( 1 - एक्स ) - 1 / ( 1 + x ) x = 0x±11/xx=01/(1x)1/(1+x)x=0


0

GertVdE जो बताता है वह संख्यात्मक त्रुटि है। यह वही हो सकता है जिसे आप ढूंढ रहे हैं, लेकिन यह संख्यात्मक स्थिरता के समान नहीं है जैसा कि प्रश्न के शीर्षक में दर्शाया गया है। संख्यात्मक स्थिरता अनिवार्य रूप से पूछती है कि क्या आपके इनपुट चर के आस-पास के मान आउटपुट के आस-पास के मूल्यों को प्राप्त करते हैं। दूसरे शब्दों में, चाहे फार्मूला जैसा होकुछ मध्यम स्थिर लिए रखती । इसके लिए, आप के व्युत्पन्न का विश्लेषण कर सकते हैं या, यदि आपका कार्य इसके डोमेन पर बेतहाशा इसके गुणों में भिन्न नहीं है, तो बस जोड़े के एक समूह के लिए यह प्रयास करें ।सी एफ एक्स , ϵ

|(एक्स+ε)-(एक्स)|सी|ε|
सीएक्स,ε

और क्या किया जा सकता है यदि फ़ंक्शन अपने डोमेन पर बेतहाशा भिन्न होता है या यदि कोई व्यवहार्य व्युत्पन्न उपलब्ध नहीं है? क्या अन्य तकनीकें हैं या हम मोंटे कार्लो दृष्टिकोण के साथ समाप्त होंगे?
आंद्रे

1
-1: आप स्थिति की धारणा की व्याख्या करते हैं, संख्यात्मक स्थिरता की नहीं।
अर्नोल्ड न्यूमैयर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.