আপনার প্রশ্নে বেশ কয়েকটি সমস্যা রয়েছে।
কোনও ম্যাট্রিক্সের সংখ্যার র্যাঙ্ক গণনা করার জন্য গাউসিয়ান এলিমিনেশন (এলইউ ফ্যাক্টেরাইজেশন) ব্যবহার করবেন না। ভাসমান-পয়েন্ট গাণিতিক ক্ষেত্রে এই উদ্দেশ্যে LU ফ্যাক্টেরাইজেশন অবিশ্বাস্য। পরিবর্তে, একটি র্যাঙ্ক-প্রকাশকারী কিউআর পচন ব্যবহার করুন (যেমন LAPACK এ xGEQPX
বা xGEPQY
যেখানে এক্স, সি, ডি, এস, বা জেড, যদিও সেই রুটিনগুলি ট্র্যাক করা কঠিন; সম্পর্কিত প্রশ্নে জেডব্রাউনের উত্তর দেখুন ), বা এসভিডি ব্যবহার করুন (একক মানের পচন যেমন, xGESDD
বা xGESVD
যেখানে x আবার সি, ডি, এস, বা জেড)) সংখ্যাগত র্যাঙ্ক নির্ধারণের জন্য এসভিডি একটি আরও নির্ভুল, নির্ভরযোগ্য অ্যালগরিদম তবে এর জন্য আরও ভাসমান-পয়েন্ট অপারেশন প্রয়োজন।
যাইহোক, লিনিয়ার সিস্টেমটি সমাধান করার জন্য, এলইউ ফ্যাক্টরিজেশন (আংশিক পাইভোটিং সহ, যা ল্যাপাকের মানক বাস্তবায়ন) বাস্তবে অত্যন্ত নির্ভরযোগ্য। কিছু প্যাথলজিকাল কেস রয়েছে যার জন্য আংশিক পাইভটিংয়ের সাথে এলইউ অনুকরণ অস্থিতিশীল ( সংখ্যার লিনিয়ার বীজগণিতের 22 টি বক্তৃতা দেখুন)ট্র্যাফেন এবং বাউ বিস্তারিতভাবে লিখেছেন)। লিনিয়ার সিস্টেমগুলি সমাধান করার জন্য কিউআর ফ্যাক্টেরাইজেশন একটি আরও স্থিতিশীল সংখ্যাসূচক অ্যালগরিদম, সম্ভবত এটি কারণ এ কারণেই আপনাকে সুনির্দিষ্ট ফলাফল দেয়। তবে স্কয়ার ম্যাট্রিক্সের জন্য 2 এর ফ্যাক্টর দ্বারা এটি LU ফ্যাক্টেরাইজেশনের চেয়ে বেশি ভাসমান-পয়েন্ট অপারেশনগুলির প্রয়োজন (আমি বিশ্বাস করি; জ্যাকপলসন আমাকে এটিকে সংশোধন করতে পারেন)। আয়তক্ষেত্রাকার সিস্টেমগুলির জন্য, কিউআর ফ্যাক্টেরাইজেশন একটি ভাল পছন্দ কারণ এটি ওভারডেটরাইমিনেড লিনিয়ার সিস্টেমগুলির জন্য সর্বনিম্ন-স্কোয়ার সমাধান প্রদান করবে। রৈখিক সিস্টেমগুলি সমাধান করতে এসভিডিও ব্যবহার করা যেতে পারে তবে এটি কিউআর ফ্যাক্টেরাইজেশনের চেয়ে ব্যয়বহুল হবে।
জান্নে সঠিক যে numpy.linalg.svd xGESDD
LAPACK এর চারপাশে একটি মোড়ক । একবচনীয় মান পচন দুটি পর্যায়ে এগিয়ে যায়। প্রথমত, পচে যাওয়া ম্যাট্রিক্সটি দ্বিপক্ষীয় আকারে হ্রাস করা হয়েছে। ল্যাপাক-এ বিডিজোনাল ফর্মটি হ্রাস করার জন্য ব্যবহৃত অ্যালগরিদম সম্ভবত লসন-হ্যানসন-চ্যান অ্যালগোরিদম এবং এটি এক পর্যায়ে কিউআর ফ্যাক্টেরাইজেশন ব্যবহার করে। ট্র্যাফেন এবং বাউ দ্বারা সংখ্যার লিনিয়ার বীজগণিতের 31 টি বক্তৃতা এই প্রক্রিয়াটির একটি সংক্ষিপ্তসার দেয়। তারপরে, xGESDD
দ্বিখণ্ডিত ম্যাট্রিক্স থেকে একক মানগুলি এবং বাম এবং ডান একক ভেক্টর গণনা করতে একটি বিভাজন এবং বিজয়ী অ্যালগরিদম ব্যবহার করে। এই পদক্ষেপে পটভূমি পেতে, আপনাকে গোলুব এবং ভ্যান লোন দ্বারা ম্যাট্রিক্স গণনা বা জিম ডেম্মেল দ্বারা প্রয়োগিত সংখ্যাসূচক লিনিয়ার বীজগণিতের পরামর্শ নেওয়া দরকার ।
অবশেষে, আপনার একক মানগুলি ইগেনভ্যালুগুলির সাথে বিভ্রান্ত করা উচিত নয় । এই দুটি সেট পরিমাণের এক নয়। এসভিডি ম্যাট্রিক্সের একক মানগুলি গণনা করে। ম্যাটল্যাবের সাথে ক্লিভ মোলারের সংখ্যাসূচক কম্পিউটিং একক মান এবং ইগেনভ্যালুগুলির মধ্যে পার্থক্যগুলির একটি সুন্দর ওভারভিউ দেয় । সাধারণভাবে, সেখানে একবচন এবং তার eigenvalues, একজন প্রদত্ত ম্যাট্রিক্স মান মধ্যে কোন সুস্পষ্ট সম্পর্কের ক্ষেত্রে ছাড়া স্বাভাবিক ম্যাট্রিক্স, যেখানে একবচন মান eigenvalues পরম মান আছে।
dgesdd
আসল মূল্যবান এসভিডিগুলির জন্য লম্পট ল্যাপ্যাক রুটিন ব্যবহার করে । সুতরাং আপনার আসল প্রশ্নটি সম্ভবত "কীভাবে ল্যাপাক ডিজেডড কাজ করে?", এবং এটি স্ট্যাকওভারফ্লোয়ের পক্ষে খুব সুন্দর বিষয়।