একটি ছোট র‌্যাঙ্কের তির্যক আপডেট সহ একটি সিস্টেম সমাধান করা


9

ধরুন আমার কাছে মূল বড়, বিচ্ছিন্ন রৈখিক সিস্টেম রয়েছে: Ax0=b0। এখন, আমি নাA1 যেহেতু এ ফ্যাক্টর বা কোনও ধরণের পচনকে খুব বড় A, তবে ধরুন আমার কাছে সমাধান আছে x0 একটি পুনরাবৃত্তি সমাধান সঙ্গে পাওয়া যায়।

এখন, আমি এ এর ​​তির্যক একটি ছোট র‌্যাঙ্ক আপডেট প্রয়োগ করতে চাই (কয়েকটি তির্যক এন্ট্রি পরিবর্তন করুন): (A+D)x1=b0 কোথায় Dএটি একটি তির্যক ম্যাট্রিক্স যার বেশিরভাগ 0 টি এর তিরুনি এবং কয়েকটি ননজারো মানগুলিতে থাকে। যদি আমার থাকতA1বিপরীতে আপডেট প্রয়োগ করার জন্য আমি উডবারি সূত্রে সুবিধা নিতে সক্ষম হব। তবে আমার কাছে এটি উপলব্ধ নেই not পুরো সিস্টেমটিকে আবার পুরোপুরি সমাধান করার মধ্যে আমি কী করতে পারি এমন কিছু আছে? কিছু উপায় আছে যে আমি একটি পূর্বশর্ত নিয়ে আসতে পারি?M যেটি সহজ - সহজেই বিপরীত করা সহজ, যেমন MA1A0, যাতে আমার কাছে থাকলে সবই করতে হবে x0 প্রয়োগ করা হয় M1 এবং একটি পুনরাবৃত্তি পদ্ধতি একটি দম্পতি / কয়েকটি পুনরাবৃত্তিতে রূপান্তর করতে পারে?


আপনি কি একটি ভাল পূর্বশর্ত দিয়ে শুরু করছেন? Aএবং এটি আপডেট কিভাবে জানতে চান? আপডেট কি র‌্যাঙ্ক? (একটি পদ1000 আকারের ম্যাট্রিক্সের তুলনায় আপডেটটি "ছোট" 109তবে পুনরাবৃত্তির গণনার দিক থেকে ছোট নয়))
জেড ব্রাউন

A আকার প্রায় হয় 106 প্রতি 107, এবং আপডেটটি <1000 (সম্ভবত <100) উপাদানসমূহ। আমি এ এর ​​জন্য একটি তির্যক ধরণের পূর্বশর্ত ব্যবহার করছি যা সত্যই ভাল কাজ করে, তাই আপডেট করা তুচ্ছ হবে, তবে আমি ভাবছিলাম যে নতুন সিস্টেমটিকে স্ক্র্যাচ থেকে সমাধান করার পরিবর্তে আমি আরও কিছু করতে পারি কিনা।
কস্টিস

2
একটি সিস্টেমের সমাধান আপনাকে এ সম্পর্কে খুব বেশি কিছু বলে না। আপনি যদি একই সিস্টেমে একাধিকবার সমাধান করেন তবে সেই ভেক্টরগুলির (এবং / অথবা সম্পর্কিত ক্রাইলোভ স্পেস) বিপরীত মানচিত্র আপনাকে কিছু তথ্য দেয় যা রূপান্তরকে ত্বরান্বিত করতে ব্যবহার করা যেতে পারে। আপনি প্রতিটি ক্ষেত্রে কতগুলি সিস্টেম সমাধান করছেন?
জেদ ব্রাউন

বর্তমানে আমি কেবল একটি আরএইচএসের জন্য সমাধান করছি (b ভেক্টর) প্রতিটি সাথে A পরিবর্তন করার আগে ম্যাট্রিক্স A
কস্টিস

উত্তর:


4
  1. দুটি ম্যাট্রিকের কলামে সংরক্ষণ করুন B এবং C সমস্ত ভেক্টর bj আপনি পূর্ববর্তী পুনরাবৃত্তি এবং ফলাফলগুলিতে ম্যাট্রিক্স প্রয়োগ করেছেন cj=Abj

  2. প্রতিটি নতুন সিস্টেমের জন্য (A+D)x=b (অথবা Ax=b, যা বিশেষ ক্ষেত্রে D=0), প্রায় ওভারডিটারিমাইনেড লিনিয়ার সিস্টেমটি সমাধান করুন (C+DB)ybউদাহরণস্বরূপ, সারিগুলির একটি উপসেট নির্বাচন করে (সম্ভবত সমস্ত) এবং একটি ঘন ন্যূনতম স্কোয়ার পদ্ধতি ব্যবহার করে। নোট করুন যে শুধুমাত্র নির্বাচিত অংশC+DBএকত্রিত করা প্রয়োজন; সুতরাং এটি একটি দ্রুত অপারেশন!

  3. রাখুন x0=By। এটি সমাধানের জন্য পুনরাবৃত্তিটি শুরু করার সাথে একটি ভাল প্রাথমিক অনুমান ima(A+D)x=b। যদি আরও সিস্টেমগুলি প্রক্রিয়া করা হয় তবে ম্যাট্রিকগুলি প্রসারিত করতে এই নতুন পুনরাবৃত্তিতে ম্যাট্রিক্স ভেক্টর পণ্যগুলি ব্যবহার করুনB এবং C ফলাফল সাবসিস্টেম উপর।

যদি ম্যাট্রিক হয় B এবং C মূল স্মৃতিতে সঞ্চয় না Bডিস্কে এবং আগে থেকে সারিগুলির সাবসেটটি নির্বাচন করুন। এটি আপনাকে এর প্রাসঙ্গিক অংশটি মূলতে রাখতে দেয়B এবং C সর্বনিম্ন স্কোয়ার সিস্টেম গঠন করার প্রয়োজন এবং পরবর্তীটি x0 এক পাস দিয়ে গণনা করা যেতে পারে B কোর মেমোরির সামান্য ব্যবহার সহ।

সারিগুলি এমনভাবে নির্বাচন করা উচিত যাতে তারা প্রায় সম্পূর্ণ সমস্যার মোটা বিচক্ষণতার সাথে মিলে যায়। প্রত্যাশিত ম্যাট্রিক্স ভেক্টর গুণমানগুলির সংখ্যার চেয়ে পাঁচগুণ বেশি সারি নেওয়া যথেষ্ট হওয়া উচিত।

সম্পাদনা: কেন এটি কাজ করে? নির্মাণ দ্বারা, ম্যাট্রিক্সB এবং C দ্বারা সম্পর্কিত হয় C=AB। যদি কলামগুলির দ্বারা প্রসারিত স্পেস থাকেB সঠিক সমাধান ভেক্টর রয়েছে x (একটি বিরল তবে সাধারণ পরিস্থিতি) তখন x ফর্ম আছে x=By কিছুর জন্য y। সংশোধন সমীকরণ এ এটি প্রতিস্থাপনx সমীকরণ দেয় (C+DB)y=b। সুতরাং এই ক্ষেত্রে, উপরের প্রক্রিয়াটি সূচনা পয়েন্ট হিসাবে দেয়x0=By=x, যা সঠিক সমাধান।

সাধারণভাবে, কেউ আশা করতে পারে না x এর কলাম স্পেসে থাকা B, তবে উত্পন্ন প্রারম্ভিক বিন্দুটি নিকটতম এই ক্লৌমন স্থানের পয়েন্ট হবে x, নির্বাচিত সারিগুলির দ্বারা নির্ধারিত একটি মেট্রিকে। সুতরাং এটি সম্ভবত একটি বোধগম্যতা হতে পারে। যেহেতু আরও সিস্টেমগুলি প্রক্রিয়া করা হচ্ছে, কলামের স্থানটি বৃদ্ধি পাবে এবং আনুমানিক পরিমাণে অনেক উন্নতি ঘটতে পারে, যার ফলে কম এবং কম পুনরাবৃত্তিতে রূপান্তরিত হওয়ার আশা করা যায়।

সম্পাদনা 2: উত্পন্ন উপগ্রহ সম্পর্কে: যদি কোনও ক্র্যলভ পদ্ধতিতে প্রতিটি সিস্টেমকে সমাধান করে তবে ভেক্টররা দ্বিতীয় সিস্টেমের প্রারম্ভিক পয়েন্টটি প্রথম ডান পাশের ক্রিলোভ উপ-স্থানকে বিস্তৃত করতে ব্যবহার করত। এই ক্রাইলোভ উপস্থানে আপনার দ্বিতীয় সিস্টেমের সমাধানের নিকটে কোনও ভেক্টর উপস্থিত থাকাকালীন একটি খুব ভাল অনুমান করতে পারে। সাধারণভাবে, ভেক্টরগুলি এর জন্য সূচনা পয়েন্টটি ব্যবহার করত(k+1)স্ট্যান্ড সিস্টেমের মধ্যে প্রথম জায়গার ক্রেলভ সাবস্পেস যুক্ত একটি স্থান বিস্তৃত হয় k ডান হাত পক্ষ।


ধন্যবাদ, অধ্যাপক নিউমায়ার আমি এই চেষ্টা হবে। এটি কীভাবে কাজ করে সে সম্পর্কে আপনি একটি সংক্ষিপ্ত ব্যাখ্যা দিতে পারেন?
কস্টিস

এছাড়াও, যদি আমি অনেকগুলি বিভিন্ন আরএইচএস ভেক্টরগুলির জন্য একই সিস্টেমটি সমাধান করতে চাই? অর্থাতAx0=b0, Ax1=b1, Ax2=b2, ইত্যাদি কি এমন কোনও তথ্য আছে যা আমি পরবর্তীগুলি সমাধান করে পরবর্তীগুলিকে দ্রুততর করতে পারি?
কস্টিস

@ কাস্টিস: একই ম্যাট্রিক্সের সাথে একটি সমাধান কেবল বিশেষ ক্ষেত্রে D=0সাধারণ সমস্যা। আপনার প্রথম প্রশ্নের জন্য সম্পাদনা দেখুন।
আর্নল্ড নিউমায়ার

@ কাস্টিস: আমি দ্বিতীয় ধাপে আরও কিছু বিশদ যুক্ত করেছি - আপনি যদি আবেদনটি লিখে থাকেন তবে দয়া করে আমাকে একটি প্রিপ্রিন্ট প্রেরণ করুন।
আর্নল্ড নিউমায়ার

ব্যাখ্যার জন্য ধন্যবাদ! কেন আমি কেবল মাত্রাতিরিক্ত সিস্টেমকে সমাধান করতে পারি না?(C+DB)ybকিউআর ফ্যাক্টরীকরণ ভিত্তিক পদ্ধতির ব্যবহার করে এবং কেবল একটি উপসেটের পরিবর্তে সমস্ত সারি ব্যবহার করে? আমার ধারণা, সি এবং বি কলামের সংখ্যা বাড়ার সাথে সাথে ক্রিয়াকলাপটি আরও দ্রুত চালিত করতে কিছু সারি থেকে মুক্তি পেতে হতে পারে। অবশ্যই, আমি সিস্টেমের একটি বিবরণ লিখব এবং এটি আপনাকে ইমেল করব। আমি আসলেই মনে করি যে কোনও অ্যাপ্লিকেশন-নির্দিষ্ট স্কিম নিয়ে আসা সম্ভব যা সর্বাধিক সাধারণ মামলার চেয়ে ভাল কাজ করতে পারে। ধন্যবাদ!
কস্টিস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.