मैट्रिक्स मार्केट समानांतर में पढ़ने के लिए एक भयानक प्रारूप है, इसलिए बेहतर समानांतर प्रारूप के लिए प्रीप्रोसेस करना बेहतर है। आपका मैट्रिक्स आकार बेहद छोटा है इसलिए प्रदर्शन कोई समस्या नहीं है, लेकिन सबसे आसान और सबसे सामान्य बात है कि पेट्सन बाइनरी प्रारूप में मैट्रिक्स मार्केट फ़ाइल लिखने के लिए पायथन या मैटलैब / ऑक्टेव का उपयोग करें, जिसे समानांतर उपयोग करके कुशलतापूर्वक पढ़ा जा सकता है MatLoad()
। उदाहरण के लिए, आप प्रीप्रोसेसिंग के लिए इस पायथन कोड का उपयोग कर सकते हैं ( $PETSC_DIR/bin/pythonscripts
अपने में जोड़ें PYTHONPATH
)
import scipy.io, PetscBinaryIO
A = scipy.io.mmread('thematrix.mtx')
PetscBinaryIO.PetscBinaryIO().writeMatSciPy(open('petscmatrix','w'), A)
आप इस समय फ़ाइल में वेक्टर भी लिख सकते हैं। यदि आप केवल सिस्टम को पढ़ना और हल करना चाहते हैं, तो आप src/ksp/ksp/examples/tutorials/ex10.c
( -f petscmatrix
आपके द्वारा लिखी गई बाइनरी फ़ाइल पढ़ने के विकल्प के साथ) का उपयोग कर सकते हैं ।
एक वास्तविक एप्लिकेशन में, आपको एक वर्कफ़्लो से बचना चाहिए जिसमें किसी भी प्रारूप में डिस्क पर फाइलें लिखना शामिल है। समस्या के डोमेन-विघटित प्रतिनिधित्व का उपयोग करके मैट्रिक्स को समानांतर में इकट्ठा करना बहुत बेहतर है। पेट्सक में अधिकांश उदाहरण इस तरह लिखे गए हैं।