उदाहरण के लिए, MATLAB किसी दिए गए मैट्रिक्स के SVD की गणना कैसे करता है? मुझे लगता है कि उत्तर में संभवत: eigenvectors और eigenvalues की गणना शामिल है A*A'
। अगर ऐसा है, तो मैं यह भी जानना चाहूंगा कि यह उन लोगों की गणना कैसे करता है?
उदाहरण के लिए, MATLAB किसी दिए गए मैट्रिक्स के SVD की गणना कैसे करता है? मुझे लगता है कि उत्तर में संभवत: eigenvectors और eigenvalues की गणना शामिल है A*A'
। अगर ऐसा है, तो मैं यह भी जानना चाहूंगा कि यह उन लोगों की गणना कैसे करता है?
जवाबों:
देख
जीएच गोलूब और सी। रिंसच। विलक्षण मूल्य अपघटन और कम से कम वर्ग समाधान। न्यूमेरिस गणित 14: 403-420, 1970।
यह सामग्री संख्यात्मक रेखीय बीजगणित पर कई पाठ्य पुस्तकों में चर्चा की गई है।
अपने उत्तर में (अब शास्त्रीय) गोलूब-रिंसच पेपर ब्रायन नोटों के अलावा (मैंने कागज के हैंडबुक संस्करण से जोड़ा है ), साथ ही साथ (अब शास्त्रीय) गोलूब-कहन के पूर्ववर्ती कागज , एक संख्या हुई है तब से एसवीडी की गणना में महत्वपूर्ण घटनाक्रम। सबसे पहले, मुझे यह संक्षेप करना होगा कि सामान्य विधि कैसे काम करती है।
मैट्रिक्स के एसवीडी की गणना करने का विचार गुणात्मक रूप से सममित मैट्रिक्स के ईगेंडेकोम्पोजिशन की गणना के लिए उपयोग की जाने वाली विधि के समान है (और, जैसा कि ओपी में उल्लेख किया गया है, उनके बीच अंतरंग संबंध है)। विशेष रूप से, एक दो चरणों में आगे बढ़ता है: एक द्विदिश मैट्रिक्स का परिवर्तन , और फिर एक द्विदिश मैट्रिक्स का SVD खोजना। यह पूरी तरह से पहले सममित मैट्रिक्स को ट्रिडिएगोनल रूप में कम करने की प्रक्रिया के अनुरूप है, और फिर परिणामी ट्रिडिएगोनल के एगेंडेकम्पोजीशन की गणना करता है।
द्विदिशीय मैट्रिक्स के एसवीडी की गणना के लिए, जिम डेमेल और वेलवेल कहन द्वारा एक विशेष रूप से दिलचस्प सफलता कागज़ था , जिसने प्रदर्शित किया कि कोई भी द्विदिशीय मैट्रिक्स के छोटे विलक्षण मानों की गणना अच्छी सटीकता के साथ कर सकता है, जो शुरू में प्रस्तावित विधि को संशोधित करके। गोलब-Reinsch। इसके बाद dqd एल्गोरिथ्म की खोज (फिर से?) की गई , जो कि रुटिसहॉसर के पुराने भागफल-अंतर एल्गोरिथ्म का वंशज है। (बेर्स्फोर्ड पैलेट यहाँ एक अच्छी चर्चा देता है।) यदि स्मृति कार्य करती है, तो यह अब LAPACK द्वारा आंतरिक रूप से उपयोग की जाने वाली पसंदीदा विधि है। इसके अलावा, सममित eigenproblems के समाधान में विकास के SVD संस्करणों को प्राप्त करना हमेशा संभव रहा है; उदाहरण के लिए, डिवाइड-एंड-कॉनवेयर का एक SVD संस्करण है, साथ ही पुराने जैकोबी एल्गोरिथ्म का एक SVD संस्करण भी है (जो कुछ परिस्थितियों में अधिक सटीक हो सकता है)।
द्वि-विकेन्द्रीकरण के लिए, बारलो के पेपर में एक बेहतर विधि की रूपरेखा तैयार की गई थी , जिसमें गोलब और रिंक्श की मूल प्रक्रिया की तुलना में थोड़ा अधिक काम करने की आवश्यकता होती है, लेकिन अधिक सटीक द्वि-पक्षीय परिपक्वता प्राप्त होती है।