चोलेस्की अपघटन

From alpha
Jump to navigation Jump to search

रैखिक बीजगणित में, चोलेस्की अपघटन या चोलेस्की गुणनखंडन (उच्चारण)। /ʃəˈlɛski/ shə-LES-kee) एक हर्मिटियन मैट्रिक्स का एक मैट्रिक्स अपघटन है, निचले त्रिकोणीय मैट्रिक्स और इसके संयुग्मित ट्रांसपोज़ के उत्पाद में सकारात्मक-निश्चित मैट्रिक्स, जो कुशल संख्यात्मक समाधानों के लिए उपयोगी है, उदाहरण के लिए, मोंटे कार्लो सिमुलेशन। वास्तविक मैट्रिक्स के लिए इसकी खोज आंद्रे-लुई चोल्स्की ने की थी और इसे मरणोपरांत 1924 में प्रकाशित किया गया था।[1] जब यह लागू होता है, तो चोलेस्की अपघटन रैखिक समीकरणों की प्रणाली को हल करने के लिए एलयू अपघटन से लगभग दोगुना कुशल होता है।[2]


कथन

हर्मिटियन मैट्रिक्स सकारात्मक-निश्चित मैट्रिक्स ए का चोल्स्की अपघटन, फॉर्म का एक अपघटन है

जहां एल वास्तविक और सकारात्मक विकर्ण प्रविष्टियों के साथ एक निचला त्रिकोणीय मैट्रिक्स है, और एल * एल के संयुग्मित स्थानान्तरण को दर्शाता है। प्रत्येक हर्मिटियन सकारात्मक-निश्चित मैट्रिक्स (और इस प्रकार प्रत्येक वास्तविक-मूल्य सममित सकारात्मक-निश्चित मैट्रिक्स) में एक अद्वितीय चोल्स्की अपघटन होता है।[3] उलटा महत्वहीन है: यदि ए को कुछ उलटे एल, निचले त्रिकोणीय या अन्यथा के लिए एलएल * के रूप में लिखा जा सकता है, तो ए हर्मिटियन और सकारात्मक निश्चित है।

जब A एक वास्तविक मैट्रिक्स है (इसलिए सममित सकारात्मक-निश्चित), तो गुणनखंडन लिखा जा सकता है

जहां L सकारात्मक विकर्ण प्रविष्टियों वाला एक वास्तविक निचला त्रिकोणीय मैट्रिक्स है।[4][5][6]


सकारात्मक अर्धनिश्चित आव्यूह

यदि हर्मिटियन मैट्रिक्स ए सकारात्मक निश्चित के बजाय केवल सकारात्मक अर्धनिश्चित है, तो इसमें अभी भी फॉर्म का अपघटन होता है A = LL* जहां L की विकर्ण प्रविष्टियों को शून्य होने की अनुमति है।[7] उदाहरण के लिए, अपघटन को अद्वितीय होने की आवश्यकता नहीं है:

हालाँकि, यदि A की रैंक r है, तो बिल्कुल r सकारात्मक विकर्ण तत्वों और n-r कॉलम के साथ एक अद्वितीय निचला त्रिकोणीय L होता है जिसमें सभी शून्य होते हैं।[8] वैकल्पिक रूप से, जब एक धुरी विकल्प तय हो जाता है तो अपघटन को अद्वितीय बनाया जा सकता है। औपचारिक रूप से, यदि A एक है n × n रैंक आर का सकारात्मक अर्धनिश्चित मैट्रिक्स, तो कम से कम एक क्रमपरिवर्तन मैट्रिक्स 'पी' ऐसा है P A PT रूप का एक अद्वितीय अपघटन है P A PT = L L* साथ , जहां एल1 एक r × r सकारात्मक विकर्ण के साथ निचला त्रिकोणीय मैट्रिक्स।[9]


एलडीएल अपघटन

शास्त्रीय चोलेस्की अपघटन का एक निकट से संबंधित संस्करण एलडीएल अपघटन है,

जहां L एक इकाईत्रिकोणीय मैट्रिक्स है|निचली इकाई त्रिकोणीय (एकत्रिकोणीय) मैट्रिक्स है, और D एक विकर्ण मैट्रिक्स मैट्रिक्स है। अर्थात्, अपघटन में एक अतिरिक्त विकर्ण मैट्रिक्स डी को पेश करने की कीमत पर एल के विकर्ण तत्वों को 1 होना आवश्यक है। मुख्य लाभ यह है कि एलडीएल अपघटन की गणना की जा सकती है और अनिवार्य रूप से समान एल्गोरिदम के साथ उपयोग किया जा सकता है, लेकिन वर्गमूल निकालने से बचा जाता है।[10] इस कारण से, एलडीएल अपघटन को अक्सर वर्ग-मूल-मुक्त चोलेस्की अपघटन कहा जाता है। वास्तविक आव्यूहों के लिए, गुणनखंडन का रूप होता है A = LDLT और इसे अक्सर एलडीएलटी अपघटन (या एलडीएल) के रूप में जाना जाता हैटीअपघटन, या एलडीएल')। यह एक मैट्रिक्स#वास्तविक सममित मैट्रिक्स के eigendecomposition की याद दिलाता है, A = QΛQT, लेकिन व्यवहार में यह काफी भिन्न है क्योंकि Λ और D समान आव्यूह नहीं हैं।

एलडीएल अपघटन फॉर्म एलएल* के शास्त्रीय चोल्स्की अपघटन से निम्नानुसार संबंधित है:

इसके विपरीत, शास्त्रीय चोल्स्की अपघटन को देखते हुए एक सकारात्मक निश्चित मैट्रिक्स का, यदि S एक विकर्ण मैट्रिक्स है जिसमें मुख्य विकर्ण शामिल है , तो A को इस प्रकार विघटित किया जा सकता है कहाँ

(यह विकर्ण तत्व 1 बनाने के लिए प्रत्येक कॉलम को पुनः मापता है),

यदि A सकारात्मक निश्चित है तो D के सभी विकर्ण तत्व सकारात्मक हैं। सकारात्मक अर्धनिश्चित ए के लिए, ए अपघटन वहां मौजूद है जहां विकर्ण डी पर गैर-शून्य तत्वों की संख्या बिल्कुल ए की रैंक है।[11] कुछ अनिश्चित आव्यूह जिनके लिए कोई चोलेस्की अपघटन मौजूद नहीं है, उनमें डी में नकारात्मक प्रविष्टियों के साथ एलडीएल अपघटन होता है: यह पर्याप्त है कि पहला एन-1 माइनर (रैखिक बीजगणित)#ए के अन्य अनुप्रयोग गैर-एकवचन हैं।[12]


उदाहरण

यहाँ एक सममित वास्तविक मैट्रिक्स का चोलेस्की अपघटन है:

और यहाँ इसका एलडीएल हैटी अपघटन:


अनुप्रयोग

चोलेस्की अपघटन का उपयोग मुख्य रूप से रैखिक समीकरणों की प्रणाली के संख्यात्मक समाधान के लिए किया जाता है . यदि A सममित और धनात्मक निश्चित है, तो हम हल कर सकते हैं सबसे पहले चोल्स्की अपघटन की गणना करके , फिर हल करना y के लिए अग्र प्रतिस्थापन द्वारा, और अंत में हल करके x के लिए पश्च प्रतिस्थापन द्वारा।

में वर्गमूल लेने से बचने का एक वैकल्पिक तरीका अपघटन एलडीएल अपघटन की गणना करना है , फिर हल करना y के लिए, और अंत में हल करना .

रैखिक प्रणालियों के लिए जिन्हें सममित रूप में रखा जा सकता है, बेहतर दक्षता और संख्यात्मक स्थिरता के लिए चोल्स्की अपघटन (या इसका एलडीएल संस्करण) पसंद की विधि है। एलयू अपघटन की तुलना में, यह लगभग दोगुना कुशल है।[2]


रैखिक न्यूनतम वर्ग

ए सममित और सकारात्मक निश्चित के साथ फॉर्म एक्स = बी की प्रणालियाँ अनुप्रयोगों में अक्सर सामने आती हैं। उदाहरण के लिए, रैखिक न्यूनतम वर्ग (गणित) समस्याओं में सामान्य समीकरण इसी रूप के होते हैं। ऐसा भी हो सकता है कि मैट्रिक्स ए एक ऊर्जा कार्यात्मकता से आता है, जो भौतिक विचारों से सकारात्मक होना चाहिए; आंशिक अवकल समीकरणों के संख्यात्मक समाधान में ऐसा अक्सर होता है।

गैर-रेखीय अनुकूलन

न्यूटन की विधि के वेरिएंट का उपयोग करके गैर-रेखीय बहु-भिन्न कार्यों को उनके मापदंडों पर कम किया जा सकता है, जिन्हें अर्ध-न्यूटन विधियां कहा जाता है। पुनरावृत्ति k पर, खोज एक दिशा में आगे बढ़ती है हल करके परिभाषित किया गया है के लिए , कहाँ कदम की दिशा है, ढाल है, और प्रत्येक पुनरावृत्ति पर रैंक-1 अपडेट को दोहराकर गठित हेस्सियन मैट्रिक्स का एक अनुमान है। दो प्रसिद्ध अद्यतन फ़ार्मुलों को डेविडन-फ्लेचर-पॉवेल (DFP) और BFGS विधि | ब्रॉयडेन-फ़्लेचर-गोल्डफ़ार्ब-शैनो (BFGS) कहा जाता है। राउंड-ऑफ त्रुटि के माध्यम से सकारात्मक-निश्चित स्थिति के नुकसान से बचा जा सकता है यदि हेसियन के व्युत्क्रम के सन्निकटन को अद्यतन करने के बजाय, कोई हेसियन मैट्रिक्स के सन्निकटन के चोल्स्की अपघटन को अद्यतन करता है। .[13]


मोंटे कार्लो सिमुलेशन

चॉलेस्की अपघटन का उपयोग आमतौर मोंटे कार्लो विधि पद्धति में कई सहसंबद्ध चर वाले सिस्टम के अनुकरण के लिए किया जाता है। सहप्रसरण मैट्रिक्स को निम्न-त्रिकोणीय एल देने के लिए विघटित किया जाता है। इसे असंबद्ध नमूनों के एक वेक्टर पर लागू करने से आप मॉडल किए जा रहे सिस्टम के सहप्रसरण गुणों के साथ एक नमूना वेक्टर लू उत्पन्न करते हैं।[14] निम्नलिखित सरलीकृत उदाहरण चोलेस्की अपघटन से प्राप्त अर्थव्यवस्था को दर्शाता है: मान लीजिए कि लक्ष्य दो सहसंबद्ध सामान्य चर उत्पन्न करना है और दिए गए सहसंबंध गुणांक के साथ . इसे पूरा करने के लिए, पहले दो असंबद्ध गॉसियन यादृच्छिक चर उत्पन्न करना आवश्यक है और , जो बॉक्स-मुलर ट्रांसफ़ॉर्म का उपयोग करके किया जा सकता है। आवश्यक सहसंबंध गुणांक दिया गया है , सहसंबद्ध सामान्य चर परिवर्तनों के माध्यम से प्राप्त किए जा सकते हैं और .

कलमैन फ़िल्टर

तथाकथित सिग्मा बिंदुओं का एक सेट चुनने के लिए असुगंधित कलमैन फ़िल्टर आमतौर पर चोल्स्की अपघटन का उपयोग करते हैं। कलमन फिल्टर एक सिस्टम की औसत स्थिति को एन लंबाई के वेक्टर एक्स और एन × एन मैट्रिक्स पी के रूप में सहप्रसरण के रूप में ट्रैक करता है। मैट्रिक्स पी हमेशा सकारात्मक अर्ध-निश्चित होता है और इसे एलएल में विघटित किया जा सकता है।टी. L के स्तंभों को माध्य x से जोड़कर 2N वैक्टर का एक सेट बनाया जा सकता है, जिन्हें सिग्मा पॉइंट कहा जाता है। ये सिग्मा बिंदु सिस्टम स्थिति के माध्य और सहप्रसरण को पूरी तरह से पकड़ लेते हैं।

मैट्रिक्स व्युत्क्रम

हर्मिटियन मैट्रिक्स के स्पष्ट व्युत्क्रम मैट्रिक्स की गणना चोल्स्की अपघटन द्वारा, रैखिक प्रणालियों को हल करने के समान तरीके से की जा सकती है, का उपयोग करके संचालन ( गुणन).[10]संपूर्ण व्युत्क्रम को उसी स्थान पर कुशलतापूर्वक निष्पादित किया जा सकता है।

एक गैर-हर्मिटियन मैट्रिक्स बी को निम्नलिखित पहचान का उपयोग करके उलटा भी किया जा सकता है, जहां बीबी * हमेशा हर्मिटियन होगा:


गणना

चोल्स्की अपघटन की गणना के लिए विभिन्न विधियाँ हैं। आमतौर पर उपयोग किए जाने वाले एल्गोरिदम की कम्प्यूटेशनल जटिलता O(n) है3) सामान्यतः।[citation needed] नीचे वर्णित सभी एल्गोरिदम में लगभग (1/3)एन शामिल है3 फ्लॉप (एनवास्तविक स्वादों के लिए 3/6 गुणन और समान संख्या में जोड़) और (4/3)एनजटिल स्वादों के लिए 3 फ्लॉप,[15] जहां n मैट्रिक्स 'ए' का आकार है। इसलिए, उनके पास LU अपघटन की आधी लागत है, जो 2n का उपयोग करता है3/3 फ्लॉप (देखें ट्रेफेथेन और बाउ 1997)।

नीचे दिया गया कौन सा एल्गोरिदम तेज़ है यह कार्यान्वयन के विवरण पर निर्भर करता है। आम तौर पर, पहला एल्गोरिदम थोड़ा धीमा होगा क्योंकि यह कम नियमित तरीके से डेटा तक पहुंचता है।

चोलेस्की एल्गोरिथ्म

चोलेस्की एल्गोरिदम, जिसका उपयोग अपघटन मैट्रिक्स एल की गणना करने के लिए किया जाता है, गॉसियन उन्मूलन का एक संशोधित संस्करण है।

पुनरावर्ती एल्गोरिदम i := 1 और से शुरू होता है

(1) := ए.

चरण i पर, मैट्रिक्स ए(i) का निम्नलिखित रूप है:

जहां मैंi−1 आयाम i - 1 के पहचान मैट्रिक्स को दर्शाता है।

यदि अब हम मैट्रिक्स 'एल' को परिभाषित करते हैंi द्वारा

(ध्यान दें कि एi,i > 0 चूंकि ए(i)सकारात्मक निश्चित है), तो हम 'ए' लिख सकते हैं(i)जैसे

कहाँ

ध्यान दें कि बीi बी*i एक बाहरी उत्पाद है, इसलिए इस एल्गोरिदम को (गोलब और वैन लोन) में बाहरी-उत्पाद संस्करण कहा जाता है।

हम इसे i से 1 से n तक दोहराते हैं। n चरणों के बाद, हमें 'A' मिलता है(n+1) = 'मैं'। इसलिए, हम जिस निचले त्रिकोणीय मैट्रिक्स L की तलाश कर रहे हैं उसकी गणना इस प्रकार की जाती है


चॉलेस्की-बानाचीविक्ज़ और चॉलेस्की-क्राउट एल्गोरिदम

5×5 मैट्रिक्स पर इन-प्लेस चोल्स्की-बानाचीविक्ज़ एल्गोरिदम के लिए एक्सेस पैटर्न (सफ़ेद) और लेखन पैटर्न (पीला)

यदि हम समीकरण लिखते हैं

हमें निम्नलिखित प्राप्त होता है:

और इसलिए एल की प्रविष्टियों के लिए निम्नलिखित सूत्र:

जटिल और वास्तविक मैट्रिक्स के लिए, विकर्ण और संबंधित ऑफ-विकर्ण तत्वों के अप्रासंगिक मनमाने ढंग से संकेत परिवर्तन की अनुमति है। यदि A वास्तविक और सकारात्मक-निश्चित है तो वर्गमूल के अंतर्गत अभिव्यक्ति हमेशा सकारात्मक होती है।

जटिल हर्मिटियन मैट्रिक्स के लिए, निम्नलिखित सूत्र लागू होता है:

इसलिए यदि हम बाईं और ऊपर की प्रविष्टियों को जानते हैं तो हम (i, j) प्रविष्टि की गणना कर सकते हैं। गणना आमतौर पर निम्नलिखित में से किसी एक क्रम में व्यवस्थित की जाती है:

  • 'चोलेस्की-बानाचीविक्ज़ एल्गोरिदम' मैट्रिक्स एल के ऊपरी बाएं कोने से शुरू होता है और पंक्ति दर पंक्ति मैट्रिक्स की गणना करने के लिए आगे बढ़ता है।
for (i = 0; i < dimensionSize; i++) {
    for (j = 0; j <= i; j++) {
        float sum = 0;
        for (k = 0; k < j; k++)
            sum += L[i][k] * L[j][k];

        if (i == j)
            L[i][j] = sqrt(A[i][i] - sum);
        else
            L[i][j] = (1.0 / L[j][j] * (A[i][j] - sum));
    }
}

उपरोक्त एल्गोरिदम को फोरट्रान जैसी वेक्टरकृत प्रोग्रामिंग भाषाओं में एक डॉट उत्पाद और मैट्रिक्स गुणन के संयोजन के रूप में संक्षेप में व्यक्त किया जा सकता है,

do i = 1, size(A,1)
    L(i,i) = sqrt(A(i,i) - dot_product(L(i,1:i-1), L(i,1:i-1)))
    L(i+1:,i) = (A(i+1:,i) - matmul(conjg(L(i,1:i-1)), L(i+1:,1:i-1))) / L(i,i)
end do

कहाँ conjg तत्वों के जटिल संयुग्मन को संदर्भित करता है।

  • चॉलेस्की-क्राउट एल्गोरिदम मैट्रिक्स एल के ऊपरी बाएं कोने से शुरू होता है और कॉलम द्वारा मैट्रिक्स कॉलम की गणना करने के लिए आगे बढ़ता है।
    for (j = 0; j < dimensionSize; j++) {
        float sum = 0;
        for (k = 0; k < j; k++) {
            sum += L[j][k] * L[j][k];
        }
        L[j][j] = sqrt(A[j][j] - sum);
    
        for (i = j + 1; i < dimensionSize; i++) {
            sum = 0;
            for (k = 0; k < j; k++) {
                sum += L[i][k] * L[j][k];
            }
            L[i][j] = (1.0 / L[j][j] * (A[i][j] - sum));
        }
    }
    

उपरोक्त एल्गोरिदम को फोरट्रान जैसी वेक्टरकृत प्रोग्रामिंग भाषाओं में एक डॉट उत्पाद और मैट्रिक्स गुणन के संयोजन के रूप में संक्षेप में व्यक्त किया जा सकता है,

do i = 1, size(A,1)
    L(i,i) = sqrt(A(i,i) - dot_product(L(1:i-1,i), L(1:i-1,i)))
    L(i,i+1:) = (A(i,i+1:) - matmul(conjg(L(1:i-1,i)), L(1:i-1,i+1:))) / L(i,i)
end do

कहाँ conjg तत्वों के जटिल संयुग्मन को संदर्भित करता है।

यदि वांछित हो तो पहुंच का कोई भी पैटर्न संपूर्ण गणना को उसी स्थान पर निष्पादित करने की अनुमति देता है।

गणना की स्थिरता

मान लीजिए कि हम रैखिक समीकरणों की एक स्थिति संख्या|सुव्यवस्थित प्रणाली को हल करना चाहते हैं। यदि LU अपघटन का उपयोग किया जाता है, तो एल्गोरिथ्म अस्थिर है जब तक कि हम किसी प्रकार की धुरी रणनीति का उपयोग नहीं करते हैं। बाद वाले मामले में, त्रुटि मैट्रिक्स के तथाकथित विकास कारक पर निर्भर करती है, जो आमतौर पर (लेकिन हमेशा नहीं) छोटा होता है।

अब, मान लीजिए कि चोल्स्की अपघटन लागू है। जैसा कि ऊपर बताया गया है, एल्गोरिदम दोगुना तेज़ होगा। इसके अलावा, कोई धुरी तत्व आवश्यक नहीं है, और त्रुटि हमेशा छोटी होगी। विशेष रूप से, यदि हम Ax = b को हल करना चाहते हैं, और y गणना किए गए समाधान को दर्शाता है, तो y परेशान प्रणाली (A + E)y = b को हल करता है, जहां

यहाँ ||·||2 मैट्रिक्स मानदंड है|मैट्रिक्स 2-मानदंड, सीnn के आधार पर एक छोटा स्थिरांक है, और ε इकाई राउंड-ऑफ को दर्शाता है।

चोल्स्की अपघटन के संबंध में एक चिंता का विषय वर्गमूलों का उपयोग है। यदि गुणनखंडित किया जा रहा मैट्रिक्स आवश्यकतानुसार सकारात्मक निश्चित है, तो सटीक अंकगणित में वर्गमूल के नीचे की संख्याएँ हमेशा सकारात्मक होती हैं। दुर्भाग्य से, राउंड-ऑफ़ त्रुटियों के कारण संख्याएँ नकारात्मक हो सकती हैं, ऐसी स्थिति में एल्गोरिथम जारी नहीं रह सकता है। हालाँकि, यह तभी हो सकता है जब मैट्रिक्स बहुत खराब स्थिति में हो। इसे संबोधित करने का एक तरीका सकारात्मक-निश्चितता को बढ़ावा देने के प्रयास में विघटित होने वाले मैट्रिक्स में एक विकर्ण सुधार मैट्रिक्स जोड़ना है।[16] हालाँकि इससे अपघटन की सटीकता कम हो सकती है, यह अन्य कारणों से बहुत अनुकूल हो सकता है; उदाहरण के लिए, अनुकूलन में न्यूटन की विधि का प्रदर्शन करते समय, एक विकर्ण मैट्रिक्स जोड़ने से इष्टतम से दूर होने पर स्थिरता में सुधार हो सकता है।

एलडीएल अपघटन

एक वैकल्पिक रूप, जब A सममित हो तो वर्गमूल लेने की आवश्यकता को समाप्त करना, सममित अनिश्चित गुणनखंडन है[17]

निम्नलिखित पुनरावर्ती संबंध डी और एल की प्रविष्टियों के लिए लागू होते हैं:

यह तब तक काम करता है जब तक डी में उत्पन्न विकर्ण तत्व गैर-शून्य रहते हैं। तब अपघटन अद्वितीय होता है। यदि A वास्तविक है तो D और L वास्तविक हैं।

जटिल हर्मिटियन मैट्रिक्स ए के लिए, निम्नलिखित सूत्र लागू होता है:

फिर, पहुंच का पैटर्न यदि वांछित हो तो संपूर्ण गणना को उसी स्थान पर निष्पादित करने की अनुमति देता है।

ब्लॉक वैरिएंट

जब अनिश्चित मैट्रिक्स पर उपयोग किया जाता है, तो एलडीएल* फ़ैक्टराइज़ेशन को सावधानीपूर्वक धुरीकरण के बिना अस्थिर माना जाता है;[18] विशेष रूप से, गुणनखंडन के तत्व मनमाने ढंग से बढ़ सकते हैं। एक संभावित सुधार ब्लॉक उप-मैट्रिस पर गुणनखंडन करना है, आमतौर पर 2 × 2:[19]

जहां उपरोक्त आव्यूहों में प्रत्येक तत्व एक वर्ग उपमैट्रिक्स है। इससे, ये अनुरूप पुनरावर्ती संबंध अनुसरण करते हैं:

इसमें मैट्रिक्स उत्पाद और स्पष्ट उलटा शामिल है, इस प्रकार व्यावहारिक ब्लॉक आकार सीमित है।

अपघटन को अद्यतन करना

एक कार्य जो व्यवहार में अक्सर उठता है वह यह है कि किसी को चोलेस्की अपघटन को अद्यतन करने की आवश्यकता होती है। अधिक विवरण में, कोई पहले ही चोल्स्की अपघटन की गणना कर चुका है कुछ मैट्रिक्स का , फिर कोई मैट्रिक्स बदलता है किसी अन्य मैट्रिक्स में, मान लीजिए , और कोई अद्यतन मैट्रिक्स के चोल्स्की अपघटन की गणना करना चाहता है: . अब सवाल यह है कि क्या कोई चॉलेस्की अपघटन का उपयोग कर सकता है इसकी गणना पहले चोलेस्की अपघटन की गणना करने के लिए की गई थी .

रैंक-एक अद्यतन

विशिष्ट मामला, जहां अद्यतन मैट्रिक्स मैट्रिक्स से संबंधित है द्वारा , रैंक-वन अपडेट के रूप में जाना जाता है।

यहाँ एक समारोह है[20] मैटलैब सिंटैक्स में लिखा गया है जो रैंक-वन अपडेट का एहसास कराता है:

function [L] = cholupdate(L, x)
    n = length(x);
    for k = 1:n
        r = sqrt(L(k, k)^2 + x(k)^2);
        c = r / L(k, k);
        s = x(k) / L(k, k);
        L(k, k) = r;
        if k < n
            L((k+1):n, k) = (L((k+1):n, k) + s * x((k+1):n)) / c;
            x((k+1):n) = c * x((k+1):n) - s * L((k+1):n, k);
        end
    end
end

रैंक-एन अपडेट वह है जहां मैट्रिक्स के लिए एक अपघटन को इस प्रकार अद्यतन करता है . इसे प्रत्येक कॉलम के लिए क्रमिक रूप से रैंक-एक अपडेट करके प्राप्त किया जा सकता है .

रैंक-एक डाउनडेट

रैंक-वन डाउनडेट रैंक-वन अपडेट के समान है, सिवाय इसके कि जोड़ को घटाव द्वारा प्रतिस्थापित किया जाता है: . यह केवल तभी काम करता है जब नया मैट्रिक्स हो अभी भी सकारात्मक निश्चित है.

ऊपर दिखाए गए रैंक-वन अपडेट के लिए कोड को आसानी से रैंक-वन डाउनडेट करने के लिए अनुकूलित किया जा सकता है: किसी को केवल असाइनमेंट में दो अतिरिक्त को बदलने की आवश्यकता है r और L((k+1):n, k) घटाव द्वारा.

पंक्तियों और स्तंभों को जोड़ना और हटाना

यदि हमारे पास एक सममित और सकारात्मक निश्चित मैट्रिक्स है ब्लॉक रूप में दर्शाया गया है

और इसका ऊपरी चोलेस्की कारक

फिर एक नए मैट्रिक्स के लिए , जो वैसा ही है लेकिन नई पंक्तियों और स्तंभों के सम्मिलन के साथ,

हम चॉलेस्की गुणनखंड को खोजने में रुचि रखते हैं , जिसे हम कहते हैं , संपूर्ण अपघटन की सीधे गणना किए बिना।

लिखना के समाधान के लिए , जो त्रिकोणीय मैट्रिक्स के लिए आसानी से पाया जा सकता है, और चोलेस्की अपघटन के लिए , निम्नलिखित संबंध पाए जा सकते हैं:

यदि हम पंक्ति और स्तंभ आयामों को उचित रूप से (शून्य सहित) सेट करते हैं, तो इन सूत्रों का उपयोग किसी भी स्थिति में पंक्तियों या स्तंभों के सम्मिलन के बाद चॉलेस्की कारक को निर्धारित करने के लिए किया जा सकता है। उलटी समस्या, जब हमारे पास है

ज्ञात चोलेस्की अपघटन के साथ

और चोलेस्की कारक का निर्धारण करना चाहते हैं

मैट्रिक्स का पंक्तियों और स्तंभों को हटाकर,

निम्नलिखित नियम उत्पन्न करता है:

ध्यान दें कि ऊपर दिए गए समीकरणों में एक नए मैट्रिक्स के चोल्स्की अपघटन को ढूंढना शामिल है, सभी फॉर्म के हैं , जो उन्हें पिछले अनुभाग में विस्तृत अद्यतन और डाउनडेट प्रक्रियाओं का उपयोग करके कुशलतापूर्वक गणना करने की अनुमति देता है।[21]


सकारात्मक अर्ध-निश्चित मैट्रिक्स के लिए प्रमाण

सीमित तर्क द्वारा प्रमाण

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

अगर एक सकारात्मक-निश्चित मैट्रिक्स|सकारात्मक अर्ध-निश्चित मैट्रिक्स, फिर अनुक्रम सकारात्मक-निश्चित मैट्रिक्स से युक्त है। (यह, उदाहरण के लिए, बहुपद कार्यात्मक कलन के लिए वर्णक्रमीय मानचित्रण प्रमेय का तत्काल परिणाम है।) इसके अलावा,

ऑपरेटर मानक में. सकारात्मक निश्चित मामले से, प्रत्येक चॉलेस्की अपघटन है . ऑपरेटर मानदंड की संपत्ति के अनुसार,
 h> इसलिए धारण करता है  ऑपरेटर मानदंड से सुसज्जित एक C* बीजगणित है। इसलिए  ऑपरेटरों के बनच स्थान में एक घिरा हुआ सेट है, इसलिए अपेक्षाकृत कॉम्पैक्ट है (क्योंकि अंतर्निहित वेक्टर स्पेस परिमित-आयामी है)।

नतीजतन, इसका एक अभिसारी परिणाम है, जिसे इसके द्वारा भी दर्शाया जाता है , सीमा के साथ . यह आसानी से जांचा जा सकता है कि यह वांछित गुण हैं, अर्थात , और गैर-नकारात्मक विकर्ण प्रविष्टियों के साथ निचला त्रिकोणीय है: सभी के लिए और ,

इसलिए, . क्योंकि अंतर्निहित वेक्टर स्थान परिमित-आयामी है, ऑपरेटरों के स्थान पर सभी टोपोलॉजी समतुल्य हैं। इसलिए आदत है सामान्य अर्थ में आदत है प्रवेशवार. इसका तात्पर्य यह है कि, प्रत्येक के बाद से गैर-नकारात्मक विकर्ण प्रविष्टियों के साथ निचला त्रिकोणीय है, ई आल्सो।

क्यूआर अपघटन द्वारा प्रमाण

होने देना एक सकारात्मक-निश्चित मैट्रिक्स बनें|सकारात्मक अर्ध-निश्चित हर्मिटियन मैट्रिक्स। फिर इसे मैट्रिक्स के वर्गमूल के उत्पाद के रूप में लिखा जा सकता है, . अब क्यूआर अपघटन को लागू किया जा सकता है , जिसके परिणामस्वरूप , कहाँ एकात्मक है और ऊपरी त्रिकोणीय है. अपघटन को मूल समानता में सम्मिलित करने से परिणाम प्राप्त होते हैं . सेटिंग प्रमाण पूरा करता है.

सामान्यीकरण

चोल्स्की गुणनखंडन को सामान्यीकृत किया जा सकता है[citation needed] से (आवश्यक रूप से परिमित नहीं) ऑपरेटर प्रविष्टियों के साथ मैट्रिक्स। होने देना हिल्बर्ट स्थानों का एक क्रम बनें। ऑपरेटर मैट्रिक्स पर विचार करें

प्रत्यक्ष योग पर कार्य करना

जहां प्रत्येक

एक परिबद्ध संचालिका है. यदि A इस अर्थ में धनात्मक (अर्धनिश्चित) है कि सभी परिमित k के लिए और किसी के लिए भी

अपने पास , तो एक निचला त्रिकोणीय ऑपरेटर मैट्रिक्स L मौजूद है जैसे कि A = LL*। कोई व्यक्ति L की विकर्ण प्रविष्टियों को भी सकारात्मक मान सकता है।

प्रोग्रामिंग पुस्तकालयों में कार्यान्वयन

  • सी प्रोग्रामिंग भाषा: जीएनयू वैज्ञानिक पुस्तकालय चोलेस्की अपघटन के कई कार्यान्वयन प्रदान करता है।
  • मैक्सिमा (सॉफ्टवेयर) कंप्यूटर बीजगणित प्रणाली: फ़ंक्शन cholesky चोल्स्की अपघटन की गणना करता है।
  • जीएनयू ऑक्टेव संख्यात्मक संगणना प्रणाली चोल्स्की अपघटन की गणना, अद्यतन और लागू करने के लिए कई कार्य प्रदान करती है।
  • LAPACK लाइब्रेरी चोलेस्की अपघटन का उच्च प्रदर्शन कार्यान्वयन प्रदान करती है जिसे फोरट्रान, सी (प्रोग्रामिंग भाषा) और अधिकांश भाषाओं से एक्सेस किया जा सकता है।
  • पायथन (प्रोग्रामिंग भाषा) में, फ़ंक्शन cholesky से numpy.linalg मॉड्यूल चॉलेस्की अपघटन करता है।
  • मतलब में, chol फ़ंक्शन चोल्स्की अपघटन देता है। ध्यान दें कि chol डिफ़ॉल्ट रूप से इनपुट मैट्रिक्स के ऊपरी त्रिकोणीय कारक का उपयोग करता है, अर्थात यह गणना करता है कहाँ ऊपरी त्रिकोणीय है. इसके बजाय निचले त्रिकोणीय कारक का उपयोग करने के लिए एक ध्वज पारित किया जा सकता है।
  • आर (प्रोग्रामिंग भाषा) में, द chol फ़ंक्शन चोल्स्की अपघटन देता है।
  • जूलिया (प्रोग्रामिंग भाषा) में, cholesky से कार्य करें LinearAlgebra मानक पुस्तकालय चोल्स्की अपघटन देता है।
  • गणित में, फ़ंक्शनCholeskyDecompositionमैट्रिक्स पर लागू किया जा सकता है।
  • C++ में, एकाधिक रैखिक बीजगणित पुस्तकालय इस अपघटन का समर्थन करते हैं:
    • आर्माडिलो (C++ लाइब्रेरी) कमांड की आपूर्ति करता है chol चोलेस्की अपघटन करने के लिए।
    • Eigen (C++ लाइब्रेरी) विरल और सघन मैट्रिक्स दोनों के लिए चॉलेस्की गुणनखंड प्रदान करता है।
    • जड़ पैकेज में, TDecompChol क्लास उपलब्ध है.

यह भी देखें

टिप्पणियाँ

  1. Benoit (1924). "Note sur une méthode de résolution des équations normales provenant de l'application de la méthode des moindres carrés à un système d'équations linéaires en nombre inférieur à celui des inconnues (Procédé du Commandant Cholesky)". Bulletin Géodésique (in français). 2: 66–67. doi:10.1007/BF03031308.
  2. 2.0 2.1 Press, William H.; Saul A. Teukolsky; William T. Vetterling; Brian P. Flannery (1992). Numerical Recipes in C: The Art of Scientific Computing (second ed.). Cambridge University England EPress. p. 994. ISBN 0-521-43108-5. Retrieved 2009-01-28.
  3. Golub & Van Loan (1996, p. 143), Horn & Johnson (1985, p. 407), Trefethen & Bau (1997, p. 174).
  4. Horn & Johnson (1985, p. 407).
  5. "मैट्रिक्स - एक जटिल सममित मैट्रिक्स का विकर्णीकरण". MathOverflow. Retrieved 2020-01-25.
  6. Schabauer, Hannes; Pacher, Christoph; Sunderland, Andrew G.; Gansterer, Wilfried N. (2010-05-01). "सामान्यीकृत जटिल सममित आइगेनवैल्यू समस्याओं के लिए एक समानांतर सॉल्वर की ओर". Procedia Computer Science. ICCS 2010. 1 (1): 437–445. doi:10.1016/j.procs.2010.04.047. ISSN 1877-0509.
  7. Golub & Van Loan (1996, p. 147).
  8. Gentle, James E. (1998). Numerical Linear Algebra for Applications in Statistics. Springer. p. 94. ISBN 978-1-4612-0623-1.
  9. Higham, Nicholas J. (1990). "Analysis of the Cholesky Decomposition of a Semi-definite Matrix". In Cox, M. G.; Hammarling, S. J. (eds.). विश्वसनीय संख्यात्मक संगणना. Oxford, UK: Oxford University Press. pp. 161–185. ISBN 978-0-19-853564-5.
  10. 10.0 10.1 Krishnamoorthy, Aravindh; Menon, Deepak (2011). "चॉलेस्की अपघटन का उपयोग करके मैट्रिक्स उलटा". 1111: 4144. arXiv:1111.4144. Bibcode:2011arXiv1111.4144K. {{cite journal}}: Cite journal requires |journal= (help)
  11. So, Anthony Man-Cho (2007). A Semidefinite Programming Approach to the Graph Realization Problem: Theory, Applications and Extensions (PDF) (PhD). Theorem 2.2.6.
  12. Golub & Van Loan (1996, Theorem 4.1.3)
  13. Arora, J.S. Introduction to Optimum Design (2004), p. 327. https://books.google.com/books?id=9FbwVe577xwC&pg=PA327
  14. Matlab randn documentation. mathworks.com.
  15. ?potrf Intel® Math Kernel Library [1]
  16. Fang, Haw-ren; O'Leary, Dianne P. (8 August 2006). "Modified Cholesky Algorithms: A Catalog with New Approaches" (PDF). {{cite journal}}: Cite journal requires |journal= (help)
  17. Watkins, D. (1991). मैट्रिक्स संगणना के मूल सिद्धांत. New York: Wiley. p. 84. ISBN 0-471-61414-9.
  18. Nocedal, Jorge (2000). संख्यात्मक अनुकूलन. Springer.
  19. Fang, Haw-ren (24 August 2007). "सममित अनिश्चित मैट्रिक्स के लिए ब्लॉक एलडीएलटी फैक्टराइजेशन का विश्लेषण". {{cite journal}}: Cite journal requires |journal= (help)
  20. Based on: Stewart, G. W. (1998). Basic decompositions. Philadelphia: Soc. for Industrial and Applied Mathematics. ISBN 0-89871-414-1.
  21. Osborne, M. (2010), Appendix B.


संदर्भ


बाहरी संबंध

विज्ञान का इतिहास

  • रैखिक समीकरणों की प्रणालियों के संख्यात्मक रिज़ॉल्यूशन पर, चोलेस्की की 1910 की पांडुलिपि, ऑनलाइन और BibNum पर विश्लेषित की गई है। (in French and English) [for English, click 'A télécharger']


जानकारी

कंप्यूटर कोड

सिमुलेशन में मैट्रिक्स का उपयोग

ऑनलाइन कैलकुलेटर


श्रेणी:संचालक सिद्धांत श्रेणी:मैट्रिक्स अपघटन श्रेणी:संख्यात्मक रैखिक बीजगणित श्रेणी: उदाहरण MATLAB/ऑक्टेव कोड वाले लेख