CHOLMOD SuiteSparse पैकेज (बीटा 4.4.5) का नवीनतम संस्करण मैटलैब (और C) API का उपयोग करते हुए एल डी एलटी अपघटन के लिए एक सममित पंक्ति / स्तंभ (रैंक 2 अपडेट) को संशोधित करने का समर्थन करता है। मैंने इसे अपने एक प्रोजेक्ट में सफलतापूर्वक इस्तेमाल किया।
आप इसका उपयोग n n z( जी ) के कारकीकरण में अद्यतन करने के लिए कर सकते हैं। यह इस पेपर पर आधारित है ।
इसलिए, जटिलता हो जाएगा हे( n n z)( जी ) ∗ n n z( एल) ) । जहाँ n n z( L ) को विरल A के लिए भरण कम करने वाले भरण का उपयोग करते समय काफी कम किया जा सकता हैए
पैकेज को यहां से डाउनलोड किया जा सकता है
पैकेज मालिक द्वारा दिए गए कुछ नोट नीचे दिए गए हैं (प्रो। टिम डेविस):
एपीआई:
LD = ldlrowmod (LD, k) A (:, k) और A (k, :) से kth row / col की पहचान को सेट करके पंक्ति / स्तंभ k को हटाता है।
LD = ldlrowmod (LD, k, C) स्पार कॉलम C के साथ A की kth row / col (जो kth row / पहचान का क्षेत्र होना चाहिए) की जगह लेती है।
जटिलता:
पंक्ति जोड़ना / हटाना ज्यादा से ज्यादा लेता है ओ ( n n z)( L ) ) समय है, इसलिए यदि n n z( L ) है ओ ( एन ) , तो समय ज्यादा से ज्यादा है ओ ( एन ) ।
भरण कम करने की अनुमति:
शायद ही यह किसी उपयोगकर्ता के मैट्रिक्स को फैक्टर करने के लिए एक अच्छा विचार है, जैसा कि एल डी एलटी = ए। बल्कि, हम एल डी एलटी = पीA Pटी अनुमति देते हैं ताकि एल में काफी कम नॉनजर हो।