2010-07-21 15 views
8

मैं एक विशाल मैट्रिक्स के Moore–Penrose pseudoinverse की गणना करना चाहता हूं। आदर्श रूप में, मैं इसे एक मैट्रिक्स पर करना चाहता हूं जिसमें 23 मिलियन पंक्तियां और 1000 कॉलम हैं, लेकिन यदि आवश्यक हो तो मैं अपने प्रयोग के एक भाग पर केवल पंक्तियों की संख्या को 4 मिलियन तक कम कर सकता हूं।बड़े पैमाने पर छद्म संकेत

जाहिर है, स्मृति में मैट्रिक्स लोड करना और उस पर चल रहा एसवीडी काम नहीं करेगा। Wikipedia अंक Krylov subspace तरीकों को और उल्लेख Arnoldi, Lanczos, Conjugate gradient, GMRES (सामान्यीकृत न्यूनतम अवशिष्ट), BiCGSTAB (biconjugate ढाल स्थिर), QMR (अर्ध न्यूनतम अवशिष्ट), TFQMR (स्थानांतरित मुक्त QMR), और MINRES (न्यूनतम अवशिष्ट) तरीके सबसे अच्छा क्रिलोव सबस्पेस विधियों में से एक के रूप में। लेकिन मुझे नहीं पता कि यहां से कहाँ जाना है। इस तरह के एक विशाल मैट्रिक्स के छद्म संकेतों की गणना भी व्यवहार्य है? यदि हां, तो कौन से एल्गोरिदम या सॉफ़्टवेयर लाइब्रेरी का उपयोग कर रहे हैं? मेरे पास एक बड़ा कंप्यूटिंग क्लस्टर उपलब्ध है, इसलिए समानांतर दृष्टिकोण का स्वागत है।

This answer आर पैकेज biglm पर अंक। क्या इससे काम हो जायेगा? क्या किसी ने इसका इस्तेमाल किया है? मैं आमतौर पर पायथन में काम करता हूं, लेकिन इस विशेष कार्य के लिए अन्य भाषाओं और उपकरणों का उपयोग करने से कोई फर्क नहीं पड़ता।

+0

क्या मैट्रिक्स में कोई विशेष ब्लॉक संरचना है? – Joel

+0

@ जोएल: नहीं, लगभग सभी तत्व nonzero हैं। –

+0

क्या अंतिम उत्पाद छद्म है या आप इसके साथ कुछ कंप्यूटिंग कर रहे हैं? – user382751

उत्तर

2

आप ब्लॉक पुनरावृत्त एल्गोरिदम का उपयोग करके बेहतर हो सकते हैं जो छद्म संकेत के माध्यम से कम से कम वर्ग समाधान की गणना करने से सीधे कम से कम वर्ग समाधान में परिवर्तित हो जाता है। चार्ली बायर्न द्वारा "Applied Iterative Methods" देखें। ये एल्गोरिदम क्रिलोव सबस्पेस विधियों से निकटता से संबंधित हैं, लेकिन आसान गणना के लिए ट्यून किए गए हैं। आप अपनी किताबों के preprint of another के अध्याय 3 को देखकर एक परिचय प्राप्त कर सकते हैं।