2010-10-22 15 views
11

क्या स्पैस लीनियर बीजगणित कंप्यूटेशंस करने के लिए कोई पैकेज है, शायद तेज और कुशल सी पुस्तकालयों के आधार पर? मैंने हैकेज पर खोज की लेकिन मुझे इस संबंध में कुछ भी नहीं मिला: जीएसएल, बीएलएएस और लैपैक का उपयोग करने वाले हैमट्रिक्स बहुत अच्छे हैं, लेकिन इसमें स्पैर मैट्रिक्स के साथ रैखिक सिस्टम और ईजिन-वैल्यू/वैक्टर समस्याओं को हल करने के लिए विशेष एल्गोरिदम शामिल नहीं हैं । मैं जो खोजना चाहता हूं, वह sparse.linalg मॉड्यूल के समान कुछ है। धन्यवाद!हास्केल में कोई स्पैस रैखिक बीजगणित पैकेज?

+1

किसी उत्तर में किसी ने उत्तर दिया, जो ठीक दिखता था और मुझे नहीं पता कि उनका जवाब क्यों हटा दिया गया था https://github.com/laughedelic/sparse-lin-alg – sclv

उत्तर

7

जहाँ तक मुझे पता है, अभी तक ऐसा कोई पैकेज नहीं है।

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

1 99 3 में हास्केल में फेम का कार्यान्वयन हुआ, Some issues in a functional implementation of a finite element algorithm। उन्होंने क्वाड-पेड़ भी इस्तेमाल किया। हासिल किया गया प्रदर्शन तारकीय नहीं था, लेकिन यह बहुत समय पहले था ... मुझे उम्मीद है कि आज हास्केल बेहतर प्रदर्शन कर सकता है। उपयोग करने के लिए नए सरणी पुस्तकालय भी हैं, जो स्पैर मैट्रिस के बेहतर प्रतिनिधित्व दे सकते हैं। आज हमारे पास IntMap, Vector और यहां तक ​​कि Repa है।

हास्केल में स्पैस सॉल्वर की लाइब्रेरी (या सी/फोरट्रान सॉल्वर से बाइंडिंग) अभी भी लिखी जा सकती है।

+0

scipy.sparse खेत के बहुत सारे लगता है सुपरएलयू को भारी उठाना, जो सीधे बाध्य करने के लिए होना चाहिए: http://crd.lbl.gov/~xiaoye/SuperLU/, लेकिन अभी भी एक को शुरू करने के लिए स्पैर मैट्रिक्स प्रस्तुतियों को बनाने के लिए कोड की आवश्यकता है। – sclv

+1

हां। सीधी हलकों की यूएमएफपीएसी लाइब्रेरी भी है http://www.cise.ufl.edu/research/sparse/umfpack/। उनमें से किसी के साथ इंटरफ़ेस करना बहुत कठिन नहीं होगा। और वहां पुनरावृत्त सॉल्वर भी होते हैं जिन्हें अक्सर चलाने के लिए कम स्मृति की आवश्यकता होती है। हम या तो मौजूदा पुस्तकालयों के साथ इंटरफ़ेस चुन सकते हैं, या उन्हें स्क्रैच से लागू कर सकते हैं। मुझे यकीन नहीं है कि कौन तेजी से बदल सकता है। फिर, टीएयूसीएस http://www.tau.ac.il/~stoledo/taucs/ और LASPACK http://www.mgnet.org/mgnet/Codes/laspack/ (केवल अनुक्रमिक) और पीईटीएससी http: // हैं www.mcs.anl.gov/petsc/petsc-2/ (विशाल)। – sastanin

+0

SciPy.Sparse http://www.netlib.org/templates/ से पुनरावृत्ति विधियों के फोरट्रान कार्यान्वयन का उपयोग करता है – sastanin

संबंधित मुद्दे