मैंने अब तक ऑनलाइन शोध से निम्नलिखित एकत्र किए हैं:
मैंने आर्माडिलो का उपयोग थोड़ा सा किया है, और इंटरफ़ेस को काफी सहज पाया है, और उबंटू के लिए बाइनरी पैकेज का पता लगाना आसान था (और मैं अन्य लिनक्स डिस्ट्रोस मान रहा हूं)। मैंने इसे स्रोत से संकलित नहीं किया है, लेकिन मेरी आशा है कि यह बहुत मुश्किल नहीं होगा। यह मेरे अधिकांश डिजाइन मानदंडों को पूरा करता है, और घने रैखिक बीजगणित का उपयोग करता है। इसे LAPACK या MKL रूटीन कह सकते हैं। आम तौर पर अर्माडिलो को संकलित करने की आवश्यकता नहीं है, यह पूरी तरह से टेम्पलेट-आधारित लाइब्रेरी है: आप हेडर और लिंक को BLAS / LAPACK या MKL आदि में शामिल करते हैं।
मैंने Eigen के बारे में अच्छी बातें सुनी हैं , लेकिन इसका उपयोग नहीं किया है। यह तेज़ होने का दावा करता है, टेम्प्लेटिंग का उपयोग करता है, और घने रैखिक बीजगणित का समर्थन करता है। इसमें निर्भरता के रूप में LAPACK या BLAS नहीं है, लेकिन ऐसा प्रतीत होता है कि वह सब कुछ करने में सक्षम है जो LAPACK कर सकता है (साथ ही कुछ चीजें जो LAPACK नहीं कर सकता है)। बहुत सारी परियोजनाएं ईगन का उपयोग करती हैं, जो आशाजनक है। इसमें उबंटू के लिए एक बाइनरी पैकेज है, लेकिन हेडर-ओनली लाइब्रेरी के रूप में यह अन्यत्र भी उपयोग करने के लिए तुच्छ है।
मैट्रिक्स टेम्पलेट लायब्रेरी संस्करण 4 भी होनहार लग रहा है, और templating उपयोग करता है। यह घने और विरल रैखिक बीजगणित दोनों का समर्थन करता है, और UMFPACK को विरल सॉल्वर कह सकता है । उनकी वेबसाइट से सुविधाएँ कुछ अस्पष्ट हैं। यह उबंटू के लिए एक बाइनरी पैकेज है, जो उनकी वेब साइट से डाउनलोड करने योग्य है।
पेट्सक , Argonne National Laboratory में एक टीम द्वारा लिखी गई, विरल और घने रेखीय सॉल्वरों तक पहुंच रखती है, इसलिए मैं मान रहा हूं कि यह एक मैट्रिक्स लाइब्रेरी के रूप में कार्य कर सकता है। यह C में लिखा है, लेकिन C ++ बाइंडिंग है, मुझे लगता है (और अगर ऐसा नहीं भी था, तो C ++ से C को कॉल करना कोई समस्या नहीं है)। प्रलेखन अविश्वसनीय रूप से पूरी तरह से है। पैकेज मैं अब क्या करना चाहता हूं (मिश्रित-पूर्णांक रैखिक कार्यक्रम स्थापित करने के लिए मैट्रिक्स गुणन और अनुक्रमण) के लिए थोड़ा ओवरकिल है, लेकिन भविष्य में मेरे लिए मैट्रिक्स प्रारूप के रूप में उपयोगी हो सकता है, या अन्य लोगों के लिए जिनकी अलग-अलग आवश्यकताएं हैं फिर में करता हूँ।
सैंडिलिया नेशनल लेबोरेटरी में एक टीम द्वारा लिखित त्रिलीनोस , अपने एपेट्रा घटक के माध्यम से घने और विरल मैट्रिस के लिए ऑब्जेक्ट-उन्मुख सी ++ इंटरफेस प्रदान करता है, और टेट्रा घटक के माध्यम से घने और विरल मैट्रिस के लिए टेम्पलेटेड इंटरफेस। इसमें ऐसे घटक भी हैं जो लीनियर सॉल्वर और ईजेनसोल्वर की कार्यक्षमता प्रदान करते हैं। प्रलेखन पेट्स के रूप में पॉलिश या प्रमुख नहीं लगता है; Trilinos PETSc के सैंडिया एनालॉग की तरह लगता है। पेट्सक कुछ ट्रिलीनो सॉल्वर कह सकते हैं। Trilinos के लिए बायनेरिज़ लिनक्स के लिए उपलब्ध हैं।
ब्लिट्ज एक सी ++ ऑब्जेक्ट-ओरिएंटेड लाइब्रेरी है जिसमें लिनक्स बायनेरिज़ है। यह सक्रिय रूप से बनाए रखा प्रतीत नहीं होता है (2012-06-29: एक नया संस्करण अभी कल दिखाई दिया है!), हालांकि मेलिंग सूची सक्रिय है, इसलिए कुछ समुदाय हैं जो इसका उपयोग करते हैं। यह BLAS से आगे संख्यात्मक रेखीय बीजगणित के तरीके से बहुत कुछ नहीं करता है, और घने मैट्रिक्स पुस्तकालय जैसा दिखता है। यह टेम्पलेट्स का उपयोग करता है।
बूस्ट :: uBLAS एक C ++ ऑब्जेक्ट-ओरिएंटेड लाइब्रेरी और बूस्ट प्रोजेक्ट का हिस्सा है। यह टेम्प्लेटिंग और घने संख्यात्मक रैखिक बीजगणित का समर्थन करता है। मैंने सुना है कि यह विशेष रूप से तेज़ नहीं है।
खाका संख्यात्मक टूलकिट एक सी ++ वस्तु उन्मुख NIST द्वारा विकसित पुस्तकालय है। इसके लेखक, रोल्डन पॉज़ो, कभी-कभी पैच का योगदान देते हैं, लेकिन यह किसी भी लंबे समय तक सक्रिय विकास के तहत नहीं लगता है (अंतिम अपडेट 2010 था)। यह घने रैखिक बीजगणित पर ध्यान केंद्रित करता है, और कुछ बुनियादी मैट्रिक्स डिकम्पोजिशन और एक आइजनवेल्यू सॉल्वर के लिए इंटरफेस प्रदान करता है।
मौलिक , जैक Poulson द्वारा विकसित, एक वितरित स्मृति (समानांतर) घने रेखीय बीजगणित सॉफ्टवेयर पैकेज एक शैली के समान में लिखा है लौ । प्रोजेक्ट पर सुविधाओं और पृष्ठभूमि की सूची के लिए, उसका दस्तावेज़ीकरण देखें । फ्लेम में ही अनुक्रमिक और साझा-मेमोरी डेंस लीनियर बीजगणित के लिए एक संबद्ध पुस्तकालय है, जिसे लिबफ्लेम कहा जाता है , जो ऑब्जेक्ट-ओरिएंटेड सी में लिखा गया प्रतीत होता है। लिबफ्लेम लैपैक की तरह दिखता है, लेकिन बेहतर अंकन के साथ तेजी से संख्यात्मक का विकास करने के लिए एल्गोरिदम अंतर्निहित है। एक विज्ञान के रैखिक बीजगणित पुस्तकालय और एक काली कला के कम।
अन्य पुस्तकालय हैं जिन्हें सूची में जोड़ा जा सकता है; अगर हम "मैट्रिक्स लाइब्रेरीज़" के रूप में विरल लीनियर बीजगणित पैकेजों की गिनती कर रहे हैं, तो सी में मुझे जो सबसे अच्छी जानकारी है, वह है सुइटसर्से , जिसे ऑब्जेक्ट-ओरिएंटेड स्टाइल में प्रोग्राम किया गया है। मैंने स्वीटशेयर का उपयोग किया है और इसे उठाना काफी आसान है; यह कुछ एल्गोरिदम के लिए BLAS और LAPACK पर निर्भर करता है, जो कि बहुत सारी छोटी, घनी रेखीय बीजगणित उप-प्रकृतियों में विरल समस्याओं को कम करता है। पैकेज के प्रमुख लेखक टिम डेविस अविश्वसनीय रूप से सहायक और एक बेहतरीन ऑल-अराउंड आदमी हैं।
हार्वेल उपनेमका पुस्तकालय उनके विरल रेखीय बीजगणित दिनचर्या के लिए प्रसिद्ध हैं, और शैक्षिक उपयोगकर्ताओं के लिए स्वतंत्र हैं, आप फ़ॉर्म भरना और प्रत्येक फ़ाइल है कि आप डाउनलोड करने के लिए चाहते हैं के लिए एक ई-मेल प्राप्त करने की इस प्रक्रिया के माध्यम से जाना है, हालांकि। चूंकि सबरूटीन्स में अक्सर निर्भरता होती है, इसलिए एक सॉल्वर का उपयोग करके पांच या छह फ़ाइलों को डाउनलोड करने की आवश्यकता हो सकती है, और प्रक्रिया कुछ थकाऊ हो सकती है, खासकर जब से फॉर्म अनुमोदन तात्कालिक नहीं है।
अन्य विरल रैखिक बीजगणित सॉल्वर भी हैं, लेकिन जहां तक मैं बता सकता हूं, MUMPS और अन्य पैकेज ज्यादातर रैखिक प्रणालियों के समाधान पर केंद्रित हैं, और रैखिक प्रणालियों को हल करना अभी मेरी चिंताओं में से कम से कम है। (शायद बाद में, मुझे उस कार्यक्षमता की आवश्यकता होगी, और यह दूसरों के लिए उपयोगी हो सकता है।)