मुझे पता है कि आर में पैकेज हैं जो स्पार्स मैट्रिस को कुशलतापूर्वक स्टोर करने के लिए हैं। क्या कम रैंक मैट्रिक्स को कुशलतापूर्वक स्टोर करने का कोई तरीका है? उदाहरण के लिए:कुशलतापूर्वक एक बड़े लेकिन कम रैंक मैट्रिक्स को संग्रहीत करना
A <- matrix(rnorm(1e6), nrow=1e5, ncol=1e1)
B <- A %*% t(A)
अब, B
भी स्मृति में स्टोर करने के लिए बड़ी है, लेकिन यह रैंक में कम है। क्या B
को कुशल तरीके से बनाने और स्टोर करने का कोई तरीका है, जैसे सीपीयू या मेमोरी के लिए व्यापार करने के लिए कुछ मूल पढ़ने के तरीके (rowSums
, colSums
, आदि) फ्लाई पर प्रदर्शन किए जाते हैं?
तो रैंक कम है, इसका मतलब है मैट्रिक्स कई अप्रासंगिक लाइनों, जो दूसरों के रैखिक संयोजन कर रहे हैं शामिल हैं:
दिलचस्प सवाल- इसमें कौन से अनुप्रयोग होंगे? (कम रैंक मैट्रिस आमतौर पर कहां दिखाई देते हैं?) –
@ डेविड रॉबिन्सन: उदाहरण के लिए, उन मैट्रिस का उपयोग कुछ घनत्व मैट्रिक्स (गणना करने के लिए बहुत बड़ा है, या यहां तक कि स्टोर करने के लिए) के अनुमान के रूप में किया जाता है, कुछ [अनुकूलन एल्गोरिदम] में (http://en.wikipedia.org/wiki/Limited-memory_BFGS)। –
यदि आप बी अनुमानित करने के इच्छुक हैं, तो क्या आप निम्न-आयामी अनुमान का उपयोग कर सकते हैं, उदा। एसवीडी का उपयोग करें और एसवीडी के पहले एन आयाम रखें? यह सुनिश्चित नहीं है कि यह वही है जो आप चाहते हैं, लेकिन विचार करने योग्य हो सकता है। –