7 nonlinear समीकरणों की एक प्रणाली का प्रतीकात्मक समाधान


9

मुझे साधारण अंतर समीकरणों की एक प्रणाली मिली है - 7 समीकरण, और ~ 30 पैरामीटर जो रोग के संचरण के गणितीय मॉडल के भाग के रूप में उनके व्यवहार को नियंत्रित करते हैं। मैं चाहता हूँ की तरह है उन समीकरणों को बदलने के लिए स्थिर राज्यों को खोजने के लिए dx/dt = rest of the equationकरने के लिए 0 = equationसमीकरणों के प्रत्येक यह एक सीधा बीजगणित समस्या बनाता है के लिए। यह हाथ से किया जा सकता है, लेकिन मैं उस तरह की गणना पर हास्यास्पद रूप से बुरा हूं।

मैंने Mathematica का उपयोग करने की कोशिश की है, जो इस समस्या के छोटे संस्करणों को संभाल सकता है ( यहाँ देखें ), लेकिन Mathematica इस समस्या पर रोक लगा रहा है। क्या इससे निपटने के लिए अधिक कुशल / प्रभावी तरीका है? एक अधिक कुशल प्रतीकात्मक गणित प्रणाली? अन्य सुझाव?

कुछ अपडेट (21 मार्च):

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

यहां छवि विवरण दर्ज करें

सारांश में, मैं 7 चर में 7 द्विघात समीकरणों की एक प्रणाली के समाधान के लिए प्रतीकात्मक अभिव्यक्तियों की तलाश कर रहा हूं।


क्या आप समीकरण लिख सकते हैं? नॉनलाइन समीकरणों की एक बड़ी अप्रतिबंधित प्रणाली को हल करना अक्सर न्यूटन की विधि या इसके एक संस्करण का उपयोग करके संख्यात्मक रूप से किया जाता है। यहाँ चुनाव इस बात पर निर्भर करेगा कि आपके पास समीकरणों की मूल प्रणाली के बारे में कितनी जानकारी है - सबसे महत्वपूर्ण बात यह है कि समीकरणों की प्रणाली का जैकबियन उपलब्ध, संगणनीय या आसानी से अनुमानित है?
एरन अहमदिया

आह! मैं देखता हूं कि आपके समीकरण मातमेटिक साइट पर विस्तृत हैं। क्या आप उन्हें यहाँ लाने का मन बना रहे हैं? (यह क्रॉस-पोस्टिंग नहीं है, खासकर यदि हम आपके लिए गणितीय समाधान का सुझाव देने जा रहे हैं जो कि गणितज्ञ क्या कर सकता है, इसके दायरे से परे है)।
एरन अहमदिया

मैं आज बाद में गणितज्ञों से समीकरण लाऊंगा - 5 घंटे की ड्राइव के बाद मुझे रास्ते से हटना होगा।
फोमाइट

1
क्या । यह ऊपर के समीकरणों से ऐसा प्रतीत होता है। क्या मैं कुछ भूल रहा हूँ? dUsdt=dHdt
j7272

1
@GeoffOxberry: इसलिए जब व्युत्पन्न शून्य के बराबर होते हैं, तो # 1 और # 2 दोनों समीकरण समान होते हैं और एक को एक किया जा सकता है।
j7272 24'12

जवाबों:


13

ऐसा लगता है कि आप जिन समीकरणों से निपट रहे हैं, वे सभी संप्रदायों को साफ करने के बाद बहुपद हैं। यह एक अच्छी बात है (बीजगणितीय कार्यों को अक्सर बीजगणित से निपटने के लिए थोड़ा कठिन होता है)। हालाँकि, यह गारंटी नहीं है कि आपके समीकरणों में एक बंद-रूप समाधान है। यह एक आवश्यक बिंदु है कि बहुत से लोग वास्तव में "प्राप्त" नहीं करते हैं, भले ही वे इसे सिद्धांत रूप में जानते हों, इसलिए यह आराम करता है: बहुपद समीकरणों की काफी सरल प्रणालियां हैं जिनके लिए समाधान के संदर्भ में समाधान देने का कोई तरीका नहीं है ( th) जड़ें आदि एक प्रसिद्ध उदाहरण (एक चर में) । इस विकिपीडिया पृष्ठ को भी देखें ।nx5x+1=0

यह कहते हुए कि, निश्चित रूप से समीकरणों की प्रणाली भी हैं जिन्हें हल किया जा सकता है, और यह जांचने के लिए सार्थक है कि क्या आपका सिस्टम उनमें से एक है। और यहां तक ​​कि अगर आपके सिस्टम को हल नहीं किया जा सकता है, तब भी आपके सिस्टम के समीकरणों के लिए एक फॉर्म ढूंढना संभव हो सकता है जो कुछ अर्थों में सरल है। उदाहरण के लिए, केवल पहले चर वाले एक समीकरण को खोजें (भले ही इसे बीजगणितीय रूप से हल न किया जा सके), फिर एक दूसरा समीकरण जिसमें केवल पहला और दूसरा चर शामिल हैं, आदि ऐसे "सामान्य रूप" को खोजने के लिए कुछ प्रतिस्पर्धी सिद्धांत हैं। बहुपद प्रणाली; सबसे प्रसिद्ध ग्रोबर आधार सिद्धांत है, और एक प्रतिस्पर्धा नियमित श्रृंखला का सिद्धांत है।

कंप्यूटर बीजगणित प्रणाली मेपल (पूर्ण प्रकटीकरण: मैं उनके लिए काम करता हूं) में दोनों को लागू किया जाता है। solveआदेश आम तौर पर Groebner आधार प्रणाली को बुलाती है, मुझे विश्वास है, और है कि जल्दी से अपने लैपटॉप पर एक रोकने के लिए grinds। मैंने नियमित श्रृंखला संगणना चलाने की कोशिश की और इसमें जितना धैर्य है, उससे अधिक समय लगता है, लेकिन यह बुरी तरह से स्मृति-वार नहीं लगता है। यदि आप रुचि रखते हैं, तो मेरे द्वारा उपयोग की जाने वाली कमांड के लिए सहायता पृष्ठ यहाँ है , और यहाँ वह कोड है जिसका मैंने उपयोग किया है:

restart;
sys, vars := {theta*H - rho_p*sigma_p*
       Cp*(Us/N) - rho_d*sigma_d*D*(Us/N)*rho_a*sigma_a*
       Ca*(Us/N) = 0, 
         rho_p*sigma_p*Cp*(Us/N) + rho_d*sigma_d*
       D*(Us/N)*rho_a*sigma_a*Ca*(Us/N) + theta*H = 0, 
         (1/omega)*Ua - alpha*Up - rho_p*psi_p*
       Up*(H/N) - Mu_p*sigma_p*Up*(Cp/N) - 
             Mu_a*sigma_a*Up*(Ca/N) - Theta_p*
       Up + Nu_up*(Theta_*M + Zeta_*D) = 0, 
         alpha*Up - (1/omega)*Ua - rho_a*psi_a*
       Ua*(H/N) - Mu_p*sigma_p*Ua*(Cp/N) - 
             Mu_a*sigma_a*Ua*(Ca/N) - Theta_a*
       Ua + Nu_ua*(Theta_*M + Zeta_*D) = 0, 
         (1/omega)*Ca + Gamma_*Phi_*D + rho_p*psi_p*
       Up*(H/N) + Mu_p*sigma_p*Up*(Cp/N) + 
             Mu_a*sigma_a*Up*(Ca/N) - alpha*Cp - Kappa_*
       Cp - Theta_p*Cp + Nu_cp*(Theta_*M + Zeta_*D) = 0, 
         alpha*Cp + Gamma_*(1 - Phi_)*D + rho_a*psi_a*
       Ua*(H/N) + Mu_p*sigma_p*Ua*(Cp/N) + 
             Mu_a*sigma_a*Ua*(Ca/N) - (1/omega)*
       Ca - Kappa_*Tau_*Ca - Theta_a*Ca + 
             Nu_ca*(Theta_*M + Zeta_*D) = 
     0, Kappa_*Cp + Kappa_*Tau_*Ca - Gamma_*Phi_*
       D - Gamma_*(1 - Phi_)*D - 
             Zeta_*D + Nu_d*(Theta_*M + Zeta_*D) = 0, 
    Us + H + Up + Ua + Cp + Ca + D = 0, 
         Up + Ua + Cp + Ca + D = 0}, {Us, H, Up, Ua, Cp, Ca, D, N, 
    M}:

sys := subs(D = DD, sys):
vars := subs(D = DD, vars):
params := indets(sys, name) minus vars:
ineqs := [theta > 0 , rho_p > 0 , sigma_p > 
       0 , rho_d > 0 , sigma_d > 0 , 
            rho_a > 0 , sigma_a > 0 , 
      omega > 0 , alpha > 0 , psi_p > 0 , Mu_p > 0 , 
            Mu_a > 0 , Theta_p > 0 , Nu_up > 0 , Theta_ > 
       0 , Zeta_ > 0 , psi_a > 0 , 
            Theta_a > 0 , Nu_ua > 0 , Gamma_ > 0 , Phi_ > 
       0 , Kappa_ > 0 , Nu_cp > 0 , 
            Tau_ > 0 , Nu_ca > 0]:
with(RegularChains):
R := PolynomialRing([vars[], params[]]):
sys2 := map(numer, map(lhs - rhs, normal([sys[]]))):
sol := LazyRealTriangularize(sys2,[],map(rhs, ineqs),[],R);

7

व्यावसायिक तरीका यह है कि आप अपने समीकरणों को AMPL या GAMS जैसी मॉडलिंग भाषा में लिखें, और इसे IPOPT जैसे सॉल्वर के साथ हल करें।

एएमपीएल एक वाणिज्यिक प्रणाली है, लेकिन एएमपीएल का एक मुफ्त छात्र संस्करण 300 समीकरणों और चर के साथ समस्याओं को हल करने में सक्षम है।

यदि आप सिर्फ एक या कुछ समस्याओं को हल करना चाहते हैं, तो आप अनुकूलन के लिए एनईओएस सर्वर का उपयोग करके इसे स्वतंत्र रूप से ऑनलाइन हल कर सकते हैं - बस एएमपीएल विवरण सबमिट करें और जवाब का इंतजार करें।

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

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


6

कारण के भीतर संपूर्ण समाधान को लिखना असंभव है। लेकिन सिस्टम को थोड़ा कम करने के लिए यहां कुछ समीकरण हैं:

US समीकरण 1 और 2 के अलावा किसी भी समीकरण में दिखाई नहीं देता है। इसके अलावा, ये समीकरण एक आश्रित सेट (समीकरण 1 -1 समीकरण 2 है), इसलिए समीकरण 1 को के संदर्भ में हल किया जा सकता है। अन्य सभी चर, और समीकरण 2 को त्याग दिया जा सकता है।US

US=HNθ(γ+ζ)CAKA+Cp+KD
जहां औरKA=γρAσA+κρDσDτ+ρAσAζKD=γρpσp+κρDσD+ρpσpζ

समीकरण 7 सभी चर में रैखिक है, और लिए हल करने के लिए फिर से व्यवस्थित किया जा सकता है :D

D=κ(CAτ+Cp)γ+ζ.

परिणामी अभिव्यक्ति बताती है कि हमें और संदर्भ में किसी भी शेष चर को हल करने का प्रयास करना चाहिए ; चूंकि हमारे पास केवल 6 स्वतंत्र समीकरण हैं, इसलिए हम सबसे अच्छा कर सकते हैं कि सिस्टम को दो चर में एक समीकरण में घटाएं।CACP

सौभाग्य से, समीकरण 3 और 5 को एक साथ जोड़ने से एक समीकरण उत्पन्न होता है जो सभी चर में रैखिक होता है, और इसे या लिए हल किया जा सकता है । समीकरण 4 और 6 को एक साथ जोड़ना भी एक समीकरण उत्पन्न करता है जो सभी चर में रैखिक है, और या लिए हल किया जा सकता है (जो समीकरण 3 और 5 को एक साथ जोड़ते समय हल नहीं हुआ था)।UAUPUAUP

इस बिंदु पर, हमें , , और संदर्भ में और लिए अभिव्यक्तियाँ होनी चाहिए (क्योंकि आप उपरोक्त अभिव्यक्ति का उपयोग करके को समाप्त कर सकते हैं )। हमने 1, 2, 5, 6 और 7 समीकरणों का उपयोग किया है; हम समीकरण 3 और 4 रखेंगे क्योंकि वे सरल हैं।UAUPHCACPD

हम और संदर्भ में को हल करने के लिए समीकरण 3 या 4 का उपयोग कर सकते हैं । फिर, सभी आवश्यक प्रतिस्थापन बनाते हुए, शेष समीकरण केवल और संदर्भ में होना चाहिए । इस समीकरण की जड़ें प्रणाली के स्थिर राज्यों को निर्धारित करेंगी; प्रतीकात्मक रूप से इन जड़ों को ढूंढना संभव है या नहीं भी हो सकता है।HCACPCACP

सौभाग्य!


USसमीकरण 1 और 2 के अलावा किसी भी समीकरण में प्रकट नहीं होता है। मेरा मानना ​​है कि आपने 1, 2, और 7. को समाप्त कर दिया है (ये हल करना सबसे आसान है।) समीकरण 3 और 5 को जोड़ना आपको एक समीकरण देता है जो सभी चर में रैखिक है, और इस प्रकार, हल करना आसान है। इसी तरह, समीकरण 4 और 6 को जोड़ने से आपको एक समीकरण मिलता है जो सभी चर में रैखिक है, और इस प्रकार, हल करना आसान है। इतना कि 7 के 4 चर का ख्याल रखता है (D, UA, UP, तथा US), ताकि सब कुछ के संदर्भ में है H, CA, तथा CP
ज्योफ ऑक्सबेरी

तो उस बिंदु पर, हमारे पास 3 और 4 शेष हैं। (समीकरण 5 और 6 में अधिक शब्द हैं, तो चलिए इसे बाहर फेंकते हैं।) आप इनमें से किसी एक का उपयोग कर सकते हैंH के अनुसार CA तथा CP, और उस बिंदु पर, दो चर के संदर्भ में एक एकल समीकरण है: CA तथा CPजिस स्थिति में प्रतीकात्मक समाधान ढूंढना आसान हो सकता है ... जब तक कि मैं समीकरणों को पूरी तरह से गलत नहीं करता।
ज्योफ ऑक्सबेरी

सही पर। @GeoffOxberry, मुझे लगता है कि आपको अपनी टिप्पणी सीधे ja72 के उत्तर में जोड़नी चाहिए।
डेविड केचेसन

@DavidKetcheson: हो गया; मैं इसे विकिपीडिया के बारे में चिंतित नहीं हूँ, क्योंकि प्रतिनिधि महत्वपूर्ण नहीं है। मैं वापस नहीं गया और प्रतीकात्मक जोड़तोड़ में अभी तक भर गया हूं।
ज्योफ ऑक्सबेरी

3

यह आपके समीकरणों की संरचना पर निर्भर करता है।

यदि आप अपने समीकरणों के सेट के सभी स्थिर राज्यों की तलाश कर रहे हैं , और आप उन्हें पुनर्व्यवस्थित कर सकते हैं जैसा कि एरिकपी पॉलीओनियम्स में कहता है, तो आप उच्च क्षमता के सभी संख्यात्मक समाधानों की गणना करने के लिए वास्तविक बीजीय ज्यामिति से विधियों का उपयोग कर सकते हैं। बर्टिनी एक ऐसा पैकेज है, जिसके बारे में मुझे पता है, लेकिन अन्य हैं। मैं कुछ साल पहले नोट्रे डेम में एक सम्मेलन में गया था जहां बर्टिनी को रासायनिक कैनेटीक्स से ओडीई के स्थिर राज्यों को खोजने के लिए उपयोग किया गया था; बर्टिनी को नॉट्रे डेम में विकसित किया गया था।

एक और संभावना है कि एमडी स्टुबर, वी। कुमार, और पीआई बार्टन, बीआईटी न्यूमेरिकल मैथमेटिक्स 50 (4), 885-917, डीओआई: डीओआई: 10.1007 द्वारा "नॉनलेयर इक्वेशन टेस्ट के सभी समाधान खोजने के लिए प्रस्तावित विधि का उपयोग करें। " / s10543-010-0280-6 ; इन विधियों को बहुपद होने के लिए समीकरणों की प्रणाली की आवश्यकता नहीं होती है। पॉल बार्टन मेरे सलाहकार हैं, और मैट स्टबेर मेरे एक सहयोगी हैं; यदि आप चाहें, तो मैं उसे सॉफ्टवेयर के लिए पूछ सकता हूं और आपको भेज सकता हूं। कागज वैश्विक अनुकूलन और अंतराल अंकगणित (यह अर्नोल्डनेयूमर की किताब का हवाला देता है) के तरीकों के साथ-साथ न्यूटन की विधि का उपयोग करता है। इस पद्धति का लाभ यह है कि इसे सभी समाधानों का पता लगाना चाहिए; नुकसान यह है कि यह जटिल है।

यदि यह स्पष्ट नहीं है, तो अर्नोल्डनेयूमर यह सुझाव दे रहा है कि हल करने के बजाय F(x)=0 सीधे न्यूटन की विधि जैसी किसी चीज़ का उपयोग करना (जो आम तौर पर काम करेगा यदि आप इसे एक अच्छा प्रारंभिक अनुमान देते हैं, पर्याप्त रूप से एक समाधान के करीब), तो आप हल करते हैं

minxSF(x),

जहाँ आपकी समस्या का समाधान करने के बजाय अपनी समस्या पर अड़चन द्वारा परिभाषित कुछ व्यवहार्य सेट है। एक बहुत ही कच्चे स्तर पर, एक चिकनी नॉनलाइनर प्रोग्रामिंग सॉल्वर का उपयोग करना न्यूटन की विधि का उपयोग करने के लिए बहुत पसंद है, जिसमें मजबूती और प्रदर्शन के लिए अतिरिक्त एल्गोरिदम मिलावट है। IPOPT इस उद्देश्य के लिए सॉफ्टवेयर का एक बहुत अच्छा टुकड़ा है; वहाँ से बाहर अन्य सॉल्वरों की एक लिटनी हैं (बस GAMS , AMPL , या NEOS के लिए उपलब्ध सॉल्वरर्स लिस्ट देखें । यदि आप इस तरह की विधि चुनते हैं , तो कुछ कैविएट्स से अवगत रहें :S

  • यह केवल एक समय में अधिकांश एक समाधान का पता लगाएगा। अतिरिक्त समाधान खोजने के लिए, आपको उन सभी बाधाओं को जोड़ने की आवश्यकता है जो आपके द्वारा पाए गए पिछले सभी समाधानों को शामिल नहीं करती हैं।
  • यदि आपका अनुकूलन समस्या nonconvex है, IPOPT या इसी तरह समाधानकर्ताओं उपयोग करने के लिए, आप एक अच्छी प्रारंभिक अनुमान की जरूरत है या तो होगा, अपने समीकरण का एक समाधान (न्यूटन की विधि के रूप में ही बुनियादी सिद्धांत), या की तरह एक nonconvex अनुकूलन solver के करीब BARON , Couenne , Bonmin , आदि आप प्रत्येक solver आप अपने हाथ पर कोशिश करनी चाहिए, क्योंकि प्रत्येक nonconvex nonlinear प्रोग्रामिंग solver के प्रदर्शन समस्या-निर्भर है।

1

मैं एक समरूप पद्धति को देखने का सुझाव दूंगा। जबकि यह प्रतीकात्मक नहीं है, यह आपकी समस्या के सभी समाधानों का उत्पादन करेगा। एक आसान पुस्तकालय की जाँच के लिए:

http://homepages.math.uic.edu/~jan/PHCpack/phcpack.html


हाँ! समरूपता निरंतरता विधियां तेजी से कठिन हैं (आपको प्रारंभिक 'प्रारंभिक' स्थितियों पर विचार करने की आवश्यकता होगी ), लेकिन एक समस्या के लिए यह छोटा कम्प्यूटेशनल रूप से ट्रैक्टेबल होगा, और आप न्यूनतमकरण समस्या की वैश्विक इष्टतमता की गारंटी दे सकते हैं। 2n
एरन अहमदिया

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