একটি প্রতিসম ধনাত্মক সুনির্দিষ্ট ম্যাট্রিক্সের তির্যক আপডেট


19

একজন হ'ল একটি প্রতিসম ধনাত্মক সুনির্দিষ্ট (এসপিডি) স্পার্স ম্যাট্রিক্স। একটি বিচ্ছিন্ন তির্যক ম্যাট্রিক্স। বড় ( > 10000) এবং ননজারের সংখ্যা সাধারণত 100 ~ 1000 হয়।জি এন এন জিএন×এনজিএনএনজি

একজন হিসাবে cholesky আকারে factorized হয়েছে ।এলডিএলটি

কিভাবে আপডেট করতে এবং ডি দক্ষতার যখন একজন হয়ে প্রথম সারির জি ?ডি + জিএলডিএকজনএকজন+ +জি


জি এর কি কেবল ইতিবাচক উপাদান রয়েছে? যদি তা হয় তবে এখানে একটি তুচ্ছ ওপরের সীমানা: তির্যক আপডেটটি এক র‌্যাঙ্কের আপডেটের সমষ্টি হিসাবে দেখুন। র‌্যান্ড-ওয়ান আপডেটের এলডিএল factor টি ফ্যাক্টেরাইজেশন গণনা করার জন্য ও (এন ^ 2) পদ্ধতি রয়েছে (গুগল অনুসন্ধান উদাহরণ সরবরাহ করে)। তারপরে আপনার তির্যক আপডেটটি ও (rn ^ 2) এ চলবে যেখানে জি-এর শূন্য-বিহীন তির্যক সংখ্যার সংখ্যা। O (rn ^ 2) এর নীচে ক্রম হ্রাস করুন।

3
আমি সম্মত- আমি বিশ্বাস করি না যে কোলেস্কি ফ্যাক্টরীকরণের জন্য তির্যক আপডেটগুলি দ্রুত করার জন্য দ্রুততর কোনও উপায় আছে, তবে কেবলমাত্র হে(মি2) সময়ে আপডেট করা যেতে পারে এবং আপনাকে কেবল একটি কাজ করতে হবে জি এর তির্যক প্রতিটি ননজারো জি
ব্রায়ান বোর্চারস

10
জন্য এন~104 এবং এনএনz- র(জি) শত শত, এটা refactoring বীট হার্ড থাকব একজন । আকার যদি একজন অনেক বড় হয়ে যায় এবং জি খুব বিক্ষিপ্ত, এটা মিটান পারে। যে কোনও ক্ষেত্রে, সম্ভাব্য আপডেটগুলি এবং আনুমানিকতাগুলি গভীরতার সাথে আচ্ছাদিত হয় তির্যক প্লাস স্থিরীকৃত প্রতিসাম্য রৈখিক সিস্টেমগুলি পূর্বগঠনের পরে চতুর্ভুজ সময়ে সমাধান করা যেতে পারে?
জেদ ব্রাউন

5
জেড, আমি মনে করি আপনার এখানে একটি উত্তরের জন্য আপনার মন্তব্য প্রচার করা উচিত।
মাইকেল গ্রান্ট

উত্তর:


3

CHOLMOD স্যুটস্পার্স প্যাকেজের সর্বশেষ সংস্করণ (বিটা ৪.৪.৫) একটি ম্যাটল্যাব (এবং সি) এপিআই ব্যবহার করে এলডিএলটি dec টি পচন জন্য একটি প্রতিসম সারি / কলাম (র‌্যাঙ্ক 2 আপডেট) সংশোধন করে। আমি আমার প্রকল্পের একটিতে এটি সফলভাবে ব্যবহার করেছি।

আপনি এটিকে ফ্যাক্টরীকরণের জন্য এনএনz- র(জি) আপডেট করতে ব্যবহার করতে পারেন । এটি এই কাগজের উপর ভিত্তি করে ।

সুতরাং জটিলতাটি হে(এনএনz- র(জি)*এনএনz- র(এল)) । কোথায় এনএনz- র(এল) যখন একটি ব্যবহার উল্লেখযোগ্যভাবে কমে যাবে ভরাট বিন্যাস হ্রাস একটি বিক্ষিপ্ত জন্য একজন

প্যাকেজটি এখান থেকে ডাউনলোড করা যায়

নীচে প্যাকেজ মালিকের দেওয়া কয়েকটি নোট রয়েছে (অধ্যাপক টিম ডেভিস):

এপিআই:

LD = ldlrowmod (LD, k) সারি / কলাম কে মুছে ফেলবে, A (:, k) এবং A (k, :) কে পরিচয়ের কলথ সারি / কুল স্থাপন করে।

এলডি = এলডি্ল্রোমোড (এলডি, কে, সি) এর কাঠের সারি / কর্নের পরিবর্তে (যা অবশ্যই কাঠের সারি / পরিচয়ের কোল হতে হবে) বিচ্ছিন্ন কলাম সি দিয়ে প্রতিস্থাপন করে

জটিলতা:

সারি যোগ করুন / মুছুন লাগে সর্বাধিক সময়, তাই যদি হল , তারপর সময় সবচেয়ে হয় ।হে(এনএনz- র(এল))এনএনz- র(এল)হে(এন)হে(এন)

ক্রম হ্রাস পূরণ করুন:

কদাচ এটি একটি ভাল ধারণা, একটি ব্যবহারকারীর ম্যাট্রিক্স উত্পাদক করার জন্য হিসাবে = উ পরিবর্তে, আমরা পরস্পর বিনিময় করা = যাতে অতি কম nonzeros হয়েছে।এলডিএলটিএলডিএলটিপিএকজনপিটিএল

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.