2012-02-29 24 views
6

मैं रैखिक हल करने के लिए C लाइब्रेरी की तलाश कर रहा हूं और यदि संभव हो, तो Ax = b फॉर्म के nonlinear मैट्रिक्स समीकरण। मेरे लिए यह महत्वपूर्ण है कि पैकेज बहुत बड़े और नि: शुल्क नहीं हैं। स्पीड उतना ही सादगी और मैट्रिक्स स्टोरेज की स्पैस फीचर से कोई फर्क नहीं पड़ता। इसके अलावा, यह गणनाओं को समानांतर करने में सक्षम होना चाहिए। चूंकि मैं ब्लैस/लैपैक/... संख्यात्मक रैखिक बीजगणित के क्षेत्र में काफी नया हूं, यह बहुत अच्छा होगा यदि इसमें उदाहरण के साथ संभवतः एक अच्छा प्रलेखन था। क्या कोई पैकेज है जिसे आप अनुशंसा कर सकते हैं? मैं Google परिणामों से थोड़ा अभिभूत हूं और उन दिनों के नामों को भी नहीं जानता जिन्हें मुझे देखना होगा।स्पैर मैट्रिक्स रैखिक और nonlinear समीकरण सॉल्वर

मुझे अभी SuperLu मिला है जो कोड स्निपेट के साथ भी बहुत अच्छा प्रलेखन प्रतीत होता है। यह सी में लिखा गया है और सीबीएलएएस की आवश्यकता है।

+4

एक्स = बी * * nonlinear * मैट्रिक्स समीकरण कैसे है? – talonmies

+0

यदि ए एक्स का कार्य है तो यह गैर-रैखिक है। गैर-रैखिक वृद्धिशील लोडिंग को कैप्चर करने के लिए यह ए (एक्स) * डीएक्स = डीबी, और एक्स (i + 1) = x (i) + dx के रूप में बेहतर व्यक्त किया गया है। डीएक्स और अद्यतन के लिए हल करें। – duffymo

+0

सुपरएलयू और उमफैक रैखिक समस्याओं के लिए सीधे समाधान हैं। यदि, जैसा कि आप कहते हैं, आपके पास एक nonlinear समस्या है, तो आपको कुछ और चाहिए। – talonmies

उत्तर

5

आपके पास कई अलग-अलग विकल्प हैं। शुरू करने से पहले, आपको some guidelines for choosing a sparse linear solver पर विचार करना चाहिए। मैं व्यक्तिगत रूप से पीईटीएससी की सिफारिश करता हूं, लेकिन विकल्पों की एक अधिक व्यापक सूची के लिए scicomp पर यह curated list देखें।

1

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

+0

हाय, सुझाव के लिए धन्यवाद। हालांकि, मेरे पास एनवीडिया ग्राफिक्स नहीं है और कुछ बिंदु पर मैं प्रोग्राम (गैर-जीपीयू) क्लस्टर पर चलाऊंगा, यह एक विकल्प नहीं है। – janoliver

0

आप PETSc को आजमा सकते हैं। एक सीखने की अवस्था में थोड़ा सा है, लेकिन यह एक उच्च-perf, अत्यधिक सक्षम पुस्तकालय है। प्रलेखन अनुभाग और विशेष रूप से उदाहरण (प्रत्येक दस्तावेज़ पृष्ठ के शीर्ष पर बड़ा लिंक) देखें।

0

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