एसवीडी की गणना के पीछे मुख्य कार्य-घोड़ा क्यूआर एल्गोरिदम है । कहा गया है कि जेनेरिक -by- N मैट्रिक्स A के एकवचन मान के अपघटन की गणना करने के लिए कई अलग-अलग एल्गोरिदम हैं । यहां उपलब्ध समस्या पर इंटेल के MKL के प्रलेखन से एक महान योजनाबद्ध निम्नलिखित है:MNA
जैसा कि आप अपने उपयोग के मामले के आधार पर देखते हैं कि अलग-अलग दृष्टिकोण हैं (नियमित नामकरण परंपराएं यहां पाई जा सकती हैं )। ऐसा इसलिए है, उदाहरण के लिए, मैट्रिक्स के रूप हैं जहां एक हाउसहोल्डर की कमी जीवंस रोटेशन (क्यूआर प्राप्त करने के दो "स्पष्ट" तरीके) से अधिक महंगी हो सकती है । इस मामले पर एक मानक संदर्भ गोलूब और वैन लोन की मैट्रिक्स संगणना है (मैं कम से कम 3 संस्करण का उपयोग करने का सुझाव दूंगा)। मैंने भी Å पाया है। Björck के न्यूमेरिकल मेथड्स फॉर लीस्ट स्क्वेयर प्रॉब्लम उस मामले पर बहुत अच्छे रिसोर्स हैं; जबकि SVD पुस्तक का प्राथमिक फोकस नहीं है जो इसे उपयोग को संदर्भित करने में मदद करता है।
अगर मुझे आपको मामले में एक सामान्य सलाह देनी है तो अपने स्वयं के एसवीडी एल्गोरिदम को लिखने की कोशिश न करें जब तक कि आपने न्यूमेरिकल रैखिक बीजगणित पर पहले से ही कुछ कक्षाएं नहीं ली हैं और आप जानते हैं कि आप क्या कर रहे हैं। मुझे पता है कि यह जवाबी सहज ज्ञान युक्त है, लेकिन वास्तव में, एक टन सामान के रूप में है जो गलत हो सकता है और आप (सबसे अच्छा) उप-इष्टतम कार्यान्वयन (यदि गलत नहीं है) के साथ समाप्त हो रहे हैं। इस मामले पर कुछ बहुत अच्छा मुक्त सुइट्स (जैसे। Eigen , वर्मी और Trilinos कुछ नाम हैं।)