लगभग एकवचन प्रणालियों पर लागू होने वाले चलने वाले रैखिक सॉल्वरों के लिए मानदंड रोकना


16

लगभग एक विलक्षण के साथ पर विचार करें, जिसका अर्थ है कि A का एक स्वदेशी λ 0 है जो बहुत छोटा है। एक सतत विधि के सामान्य रोकने की कसौटी अवशिष्ट पर आधारित है आर एन : = - एक एक्स एन और संबंध पुनरावृत्तियों बंद कर सकते हैं जब के साथ n यात्रा संख्या। लेकिन मामले में हम विचार कर रहे हैं में, वहाँ बड़ी त्रुटि हो सकती है वी छोटे eigenvalue के साथ जुड़े eigenspace में रहने \ lambda_0 जो छोटे अवशिष्ट देता हैAx=bAλ0Arn:=bAxnएन वी λ 0वी = λ 0 वीrn/r0<tolnvλ0Av=λ0v । मान लें कि प्रारंभिक अवशिष्ट बड़ा है, तो ऐसा हो सकता है कि हम पर लेकिन त्रुटि अभी भी बड़ी है। इस मामले में एक बेहतर त्रुटि संकेतक क्या है? Isएक अच्छा उम्मीदवारआर एन/आर 0< टी एल एक्स एन - एक्स एक्स एन - एक्स एन - 1r0rn/r0<tolxnxxnxn1


3
आप "लगभग विलक्षण" की अपनी परिभाषा के बारे में सोचना चाह सकते हैं। मैट्रिक्स (with और पहचान मैट्रिक्स) का एक बहुत छोटा सा eigenvalue है, लेकिन किसी भी मैट्रिक्स के रूप में एकवचन से दूर है। ε « 1 मैंIϵϵ1I
डेविड केचेसन

1
भी,गलत अंकन की तरह लगता है। अधिक विशिष्ट है, नहीं? | | आर एन | | / | | आर 0 | |||rn/r0||||rn||/||r0||
बिल बर्थ

हाँ, आप सही हैं, बिल! मैं इस गलती को सुधारूंगा।
हुई जांग

1
क्या के बारे में? और आपका एल्गोरिथ्म क्या है? bAx/b
शुहालो

2
परिशिष्ट: मुझे लगता है कि निम्नलिखित कागज बहुत बीमार प्रणाली की चिंता करता है, जिनके बारे में आप चिंता करते हैं, कम से कम यदि आप CG: Axelson, Kaporin का उपयोग कर रहे हैं: मानक मानदंड में त्रुटि और पूर्व-निर्धारित संयुग्म क्रमिक पुनरावृत्तियों में मानदंड को रोकना। DOI: 10.1002 / nla.244
शुहेलो

जवाबों:


13

कृपया कभी-कभी रोक मापदंड को परिभाषित करने के लिए क्रमिक पुनरावृत्तियों के बीच के अंतर का उपयोग करें। यह गलतफहमी धर्मान्तरण के लिए ठहराव है। अधिकांश निरर्थक मैट्रिक्स पुनरावृत्तियां मोनोटोन नहीं हैं, और यहां तक ​​कि बिना किसी पुनरारंभ के सटीक अंकगणित में GMRES अचानक परिवर्तित होने से पहले मनमाने ढंग से पुनरावृत्तियों (मैट्रिक्स के आयाम तक) की संख्या के लिए स्थिर हो सकते हैं। Nachtigal, Reddy और Trefethen (1993) में उदाहरण देखें ।

अभिसरण को परिभाषित करने का एक बेहतर तरीका

हम आमतौर पर हमारे समाधान की सटीकता में रुचि रखते हैं जो अवशिष्ट के आकार से अधिक है। विशेष रूप से, हम गारंटी चाहते हो सकता है कि दोनों के बीच एक अनुमानित समाधान अंतर और सटीक समाधान एक्स संतुष्ट | x n - x | < c कुछ उपयोगकर्ता-निर्दिष्ट c के लिए । यह पता चला है कि इस तरह एक एक्स n पाकर इसे प्राप्त कर सकते हैं कि | x एन - बी | < ε जहां ε की सबसे छोटी विलक्षण मूल्य है एक , की वजह सेxnx

|xnx|<c
cxn
|Axnb|<cϵ
ϵA

|xnx|=|A1A(xnx)|1ϵ|AxnAx|=1ϵ|Axnb|<1ϵcϵ=c

जहाँ हमने प्रयोग किया है कि A - 1 (दूसरी पंक्ति) का सबसे बड़ा एकवचन मान है और वह x वास्तव में A x = b (तीसरी पंक्ति) को हल करता है ।1/ϵA1xAx=b

सबसे छोटे विलक्षण मान का अनुमान ϵ

सबसे छोटी एकवचन मान का एक सटीक अनुमान आमतौर पर समस्या से सीधे उपलब्ध नहीं होता है, लेकिन इसे संयुग्म ढाल या जीएमआरईएस पुनरावृत्ति के उपोत्पाद के रूप में अनुमान लगाया जा सकता है। ध्यान दें कि हालांकि सबसे बड़ा eigenvalues और विलक्षण मूल्यों का अनुमान आमतौर पर केवल कुछ पुनरावृत्तियों के बाद काफी अच्छा है, सबसे छोटी eigen / विलक्षण मूल्य का सही अनुमान आमतौर पर केवल एक बार अभिसरण तक पहुँच जाता है प्राप्त की है। अभिसरण से पहले, अनुमान आम तौर पर सच्चे मूल्य से काफी बड़ा होगा। यह पता चलता है कि आप वास्तव में समीकरणों को हल करना चाहिए इससे पहले कि आप सही सहिष्णुता परिभाषित कर सकते हैं ε । एक स्वचालित अभिसरण सहिष्णुता जो उपयोगकर्ता द्वारा प्रदान की गई सटीकता सी लेती हैϵcϵcसमाधान और अनुमान के लिए छोटी से छोटी विलक्षण मूल्य क्रीलोव विधि की वर्तमान स्थिति से बहुत जल्दी अभिसरण सकता है क्योंकि के अनुमान ε सही मूल्य की तुलना में काफी बड़ा था।ϵϵ

टिप्पणियाँ

  1. उपर्युक्त चर्चा साथ बाएं-पूर्ववर्ती ऑपरेटर पी - 1 द्वारा प्रतिस्थापित और पूर्ववर्ती रेजिडेंशियल पी - 1 ( एक्स एन - बी ) या दाएं-पूर्व-संचालक ऑपरेटर पी - 1 और त्रुटि पी ( एक्स एन) के साथ भी काम करती है। - x ) । यदि पी - 1AP1AP1(Axnb)AP1P(xnx)P1एक अच्छा पूर्व शर्त है, पूर्वनिर्धारित ऑपरेटर अच्छी तरह से वातानुकूलित होगा। बाएं-पूर्व-क्रमांकन के लिए, इसका मतलब है कि पूर्वनिर्मित अवशिष्ट को छोटा बनाया जा सकता है, लेकिन वास्तविक अवशिष्ट नहीं हो सकता है। सही पूर्व शर्त के लिए, आसानी से छोटा बना है, लेकिन सही त्रुटि | x n - x | शायद नहीं। यह बताता है कि क्यों बाएं-पूर्व-सुधार करना त्रुटि को छोटा करने के लिए बेहतर है, जबकि दायां-पूर्व-संचालन करना अवशिष्ट को छोटा बनाने के लिए बेहतर है (और अस्थिर पूर्व-डिबगिंग करने वालों के लिए)।|P(xnx)||xnx|
  2. GMRES और CG द्वारा न्यूनतम मानदंडों की अधिक चर्चा के लिए यह उत्तर देखें ।
  3. -ksp_monitor_singular_valueकिसी भी PETSc प्रोग्राम के साथ उपयोग करते हुए चरम एकवचन मानों के अनुमानों की निगरानी की जा सकती है । कोड से एकवचन मान की गणना करने के लिए KSPComputeExtremeSingularValues ​​() देखें ।
  4. एकवचन मानों का अनुमान लगाने के लिए GMRES का उपयोग करते समय, यह महत्वपूर्ण है कि पुनः प्रयोग न किया जाए (जैसे -ksp_gmres_restart 1000PETSc में)।

1
'' एक पूर्ववर्ती ऑपरेटर द्वारा प्रतिस्थापित A के साथ भी काम करता है '' - हालांकि, यह तब केवल पूर्वनिर्मित अवशिष्ट पर लागू होता है यदि P - 1 A का उपयोग किया जाता है, तो सम्मान करें। preconditioned त्रुटि के पी - 1 δ एक्स अगर एक पी - 1 प्रयोग किया जाता है। P1rP1AP1δxAP1
अर्नोल्ड न्यूमैयर

1
अच्छी बात है, मैंने अपना उत्तर संपादित किया। ध्यान दें कि दायां-पूर्व-निर्मित मामला आपको का नियंत्रण देता है , पूर्व-निर्धारणकर्ता ( P - 1 को लागू करना ) को अनदेखा करना आम तौर पर त्रुटि में कम-ऊर्जा मोड को बढ़ाता है। PδxP1
जेड ब्राउन

6

इस समस्या को देखने का एक और तरीका है असतत उलटा समस्याओं, यह है कि, समस्याओं से उपकरण जो सुलझाने शामिल करने पर विचार करने के लिए है या मिनट | | एक एक्स - बी | | 2 जहां एक बहुत बीमार वातानुकूलित है (यानी पहली और आखिरी विलक्षण मूल्य के बीच का अनुपात σ 1 / σ एन बड़ी है)।Ax=bmin||Axb||2Aσ1/σn

यहां, हमारे पास स्टॉपिंग मानदंड चुनने के लिए कई तरीके हैं, और एक पुनरावृत्ति विधि के लिए, मैं एल-वक्र मानदंड की सिफारिश करूंगा क्योंकि इसमें केवल पहले से उपलब्ध मात्राएं शामिल हैं (अस्वीकरण: मेरे सलाहकार ने इस पद्धति का बीड़ा उठाया है, इसलिए मैं निश्चित रूप से इसके प्रति पक्षपाती हूं) यह)। मैंने इसे एक पुनरावृत्त विधि में सफलता के साथ प्रयोग किया है।

विचार के लिए अवशिष्ट मानदंड की निगरानी करना है और समाधान के आदर्श η कश्मीर = | | x k | | 2 , जहां एक्स कश्मीर है कश्मीर 'वें पुनरावृति। जैसा कि आप पुनरावृति करते हैं, यह एक loglog (rho, eta) प्लॉट में L की आकृति बनाना शुरू करता है, और उस L के कोने पर स्थित बिंदु सबसे इष्टतम विकल्प है।ρk=||Axkb||2ηk=||xk||2xkk

(ρk,ηk)

abs(log(ηk)log(ηk1)log(ρk)log(ρk1)) was larger than some threshold for 20 successive iterations, I knew that I was on the vertical part of the curve and that I had passed the corner. I then took the first iterate in my array (i.e. the one 20 iterations ago) as my solution.

There are also more detailed methods for finding the corner, and these work better but require storing a significant number of iterates. Play around with it a bit. If you are in matlab, you can use the toolbox Regularization Tools, which implements some of this (specifically the "corner" function is applicable).

Note that this approach is particularly suitable for large-scale problems, since the extra computing time involved is minuscule.


1
Thanks a lot! So in loglog(rho,eta) plot we begin from the right of the L curve and end at the top of L, is it? I just do not know the principle behind this criterion. Can you explain why it always behave like an L curve and why we choose the corner?
Hui Zhang

You're welcome :-D. For an iterative method, we begin from right and end at top always. It behaves as an L due to the noise in the problem - the vertical part happens at ||Axb||2=||e||2, where e is the noise vector bexact=b+e. For more analysis see Hansen, P. C., & O'Leary, D. P. (1993). The use of the L-curve in the regularization of discrete ill-posed problems. SIAM Journal on Scientific Computing, 14. Note that I just made a slight update to the post.
OscarB

4
@HuiZhang: it isn't always an L. If the regularization is ambiguous it may be a double L, leading to two candidates for the solution, one with gross featurse better resolved, the other with certain details better resolved. (And of course, mor ecomplex shapes may appear.)
Arnold Neumaier

Does the L-curve apply to ill-conditioned problems where there should be a unique solution? That is, I'm interested in problems Ax = b where b is known "exactly" and A is nearly singular but still technically invertible. It would seem to me that if you use something like GMRES the norm of your current guess of x doesn't change too much over time, especially after the first however many iterations. It seems to me that the vertical part of the L-curve occurs because there is no unique/valid solution in an ill-posed problem; would this vertical feature be present in all ill-conditioned problems?
nukeguy

At one point, you will reach such a vertical line, typically because the numerical errors in your solution method result in ||Ax-b|| not decreasing. However, you are right that in such noise-free problems the curve does not always look like an L, meaning that you typically have a few corners to choose from and choosing one over the other can be hard. I believe that the paper I referenced in my comment above discusses noise-free scenarios briefly.
OscarB
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.