क्या कोई क्वाड-डबल अंकगणितीय विरल मैट्रिक्स पैकेज है?


10

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


आप किस तरह के मेट्रिसेस के साथ काम कर रहे हैं? क्या यह सममिति, हर्मिटियन, सकारात्मक निश्चित है? क्या आप एक विरल LU करना चाहते हैं, या पुनरावृत्त तरीकों का उपयोग करना चाहते हैं?
विक्टर लियू

जवाबों:


3

3.2 संस्करण के रूप में , पेट्सक gcc / gfortran 4.6 और नए पर चौकोर-सटीक संगणना का समर्थन करता है।

आपको एक क्वाड-सटीक BLAS और LAPACK की आवश्यकता होगी, जिसे PETSc निम्नलिखित (आंशिक) कॉन्फ़िगर कमांड के साथ आपको (क्वाड सपोर्ट के साथ) प्रदान कर सकता है:

./configure --with-precision=__float128 --download-f2cblaslapack

थोड़ी और जानकारी के लिए FAQ देखें ।

इसके अलावा, मैं एनओबीबी से सहमत हूं , यदि संभव हो तो क्वाड- प्रिसिजन को स्विच करने से पहले सिस्टम को नियमित करने का प्रयास करें।


1
यह क्वाड-प्राइज (128-बिट रियल) है, क्वाड-डबल (256-बिट रियल) नहीं। उस ने कहा, क्वाड परिशुद्धता आमतौर पर डबल परिशुद्धता के साथ सामना करने वाले स्थिरता के मुद्दों को समझने के लिए बहुत है, और आमतौर पर आप सिस्टम को स्केल करना चाहते हैं और विवेकशील होना चाहिए ताकि उत्पादन के लिए डबल परिशुद्धता पर्याप्त हो।
जेड ब्राउन

2

संख्यात्मक परिशुद्धता में वृद्धि की तुलना में बीमार अवस्था वाले सिस्टम को नियमितीकरण द्वारा बेहतर ढंग से हल किया जाता है। गौरी विवरण के लिए "नियमितीकरण बीमार" के लिए खोजें।


2

मैं ट्रिलिनो लाइब्रेरी को आज़मा सकता हूं। उन्होंने टेट्रा के तहत विरल मैट्रिक्स पुस्तकालयों का निर्माण किया है (जो कि एपेट्रा को बदलने के लिए माना जाता है, उनकी मूल विरल लाइब्रेरी)। आप डबल, कॉम्प्लेक्स, क्वैड, आदि को टेम्प्लेट कर सकते हैं, और संभवतः उनके पास PETSc के बगल में सॉल्वर (प्रत्यक्ष और पुनरावृत्ति दोनों) का सबसे बड़ा चयन है।

संपादित करें: टिप्पणियों को पढ़ने के बाद, टेट्रा की तत्काल उपयोगिता थोड़ा संदिग्ध wrt क्वाड सटीक लगती है ...


सॉल्वरों के बहुमत अभी तक टेट्रा के साथ काम नहीं करते हैं, दुर्भाग्य से :-(
वोल्फगैंग बैंगथ

बदकिस्मती से। मुझे उम्मीद थी कि टेट्रा का विकास कितना आगे बढ़ गया है (इसलिए "एपेट्रा को प्रतिस्थापित करना चाहिए": पी) से अनिश्चित था। मैंने सोचा कि कम से कम बेलोस लाइब्रेरी (यानी ट्रिलिनो सॉल्वर थर्ड पार्टी कोड के आसपास रैपर पर आधारित नहीं है) हालांकि तिप्र का समर्थन किया?
जेसी चैन

मुझे लगता है कि एक Belos2 है। सुनिश्चित करने के लिए, त्रिलीनोस परियोजना अपने संसाधनों को टेट्रा के पीछे रख रही है और यह भविष्य में मानक पैकेज होगा। मुझे लगता है कि वे अभी तक वहाँ नहीं हैं, हालांकि।
वोल्फगैंग बैंगर्थ

मुझे __float128तिप्पारा द्वारा समर्थित होने के बारे में भी जानकारी नहीं है , अकेले क्वाड-डबल करते हैं। टेट्रा स्टैंड-अलोन नहीं है और ऑल-हेडर नहीं है, और यहां तक ​​कि अगर यह था, तो चीजें std::complexकेवल साथ काम करती हैं floatऔर double
जेड ब्राउन

1

MATLAB के लिए मल्टीप्रेशर कंप्यूटिंग टूलबॉक्स में विरल मैट्रिस के लिए समर्थन है और विशेष रूप से चौगुनी सटीकता के साथ गणना के लिए अनुकूलित है।

यहाँ क्वाड-सटीक विरल सॉल्वर्स के लिए समय का विवरण है: स्पार्स मैट्रिसेस के लिए प्रत्यक्ष सॉल्वर

(मैं टूलबॉक्स का लेखक हूं)।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.