রৈখিক সমীকরণের সমাধানটির সমাধানটি কেবলমাত্র প্রথম কয়েকটি ভেরিয়েবলের জন্য সমাধান করা যেতে পারে?


15

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


2
যদি না আপনার জোর করে ফাংশনটি প্রথম এন ভেরিয়েবলের মধ্যেও সীমাবদ্ধ থাকে। যদি এটি হয় তবে আপনি শুরের পরিপূরকটি তৈরি করতে পারেন, যদিও এটি সম্ভবত ঘন। যদি আপনার আসল অপারেটরটি বিরল হয়, তবে এটির পক্ষে এটি উপযুক্ত হবে না।
জ্যাক পলসন

1
আমি মনে করি আপনি ম্যাট্রিক্সের নীচের ডান কোণ থেকে শুরু করে গাউসিয়ান নির্মূল ব্যবহার করতে পারেন। আপনি যদি প্রথম কয়েকটি উপাদানগুলির যত্ন নেন এবং অর্ধেক পথ বন্ধ করে দেন তবে এটি নিয়মিত গাউসিয়ান নির্মূলের চেয়ে দ্রুততর 2x ডলার। আমি জানি না যে এটি পুনরাবৃত্ত পদ্ধতিগুলির সাথে কীভাবে তুলনা করবে।
ড্যান

4
@ অস্কারব: দয়া করে না ক্র্যামারের নিয়মটি ভাসমান পয়েন্ট গণিতগুলিতে একটি নৃশংসতা। আমি এটি গুরুতর গণনার জন্য ব্যবহৃত হচ্ছে শুনিনি এবং এটি গৌড়ীয় নির্মূলের সাথে এখনও প্রতিযোগিতামূলক নয় এমন কল্পিত জটিলতা এড়াতে যথেষ্ট পরিমাণে চিন্তাভাবনা করে takes
জ্যাক পলসন

1
@ পল: বেশিরভাগ মডেল অর্ডার হ্রাস বড় ওডিই বা ডিএই সিস্টেমের প্রসঙ্গে ব্যবহৃত হয়। কখনও কখনও, হ্রাস পদ্ধতিগুলি ওডিই বা ডিএই সিস্টেমগুলি দ্বারা প্রেরণা পায় যা পিডিইগুলির বিবেচনার ফলে উদ্ভূত হয়। খাঁটি বীজগণিত সমীকরণগুলিতে ব্যবহৃত মডেল হ্রাস আমি দেখিনি। (আপনার যদি থাকে তবে দয়া করে আমাকে রেফারেন্সগুলি প্রেরণ করুন, কারণ আমি মডেল হ্রাস পদ্ধতিতে আমার থিসিস করছি এবং এটি দেখতে আগ্রহী) একটি পৃথক-বীজগণিত সমীকরণ সিস্টেমের অধঃপতিত কেস হিসাবে বীজগণিত সমীকরণ।
জেফ অক্সবেরি

1
@ জ্যাকপলসন - আপনার মন্তব্যে উত্তর হিসাবে সংক্ষেপে কিছু মনে করেন? আমি মনে করি এটি সবচেয়ে সঠিক সমাধান এবং আমি মন্তব্যগুলিতে এটি হারিয়ে যেতে চাই না।
আরন আহমদিয়া

উত্তর:


13

অন্যরা যেমন উল্লেখ করেছে যে, সরাসরি সলভারের সাথে এটি করা কঠিন। এটি বলেছিল, পুনরাবৃত্তকারী সমাধানকারীদের সাথে করা এতটা কঠিন নয়। এই লক্ষ্যে, নোট করুন যে বেশিরভাগ পুনরাবৃত্তির সমাধান একরকম বা অন্য কোনও কোনও নিয়মের সাথে ত্রুটিটিকে হ্রাস করে। প্রায়শই, এই আদর্শটি হয় ম্যাট্রিক্স নিজেই দ্বারা উত্সাহিত হয়, তবে কখনও কখনও এটি কেবল l2 ভেক্টর আদর্শও হয়। তবে এটি হওয়ার দরকার নেই: আপনি কোন আদর্শটি ত্রুটি (বা অবশিষ্ট) কমাতে চান তা চয়ন করতে পারেন এবং উদাহরণস্বরূপ, এমন একটি আদর্শ চয়ন করতে পারেন যার মধ্যে আপনি 1 এবং এর সাথে যত্ন নেওয়া উপাদানগুলি ওজন করতে পারেন 1e-12 সহ অন্য সমস্ত, উদাহরণস্বরূপ (1e-24)N i = 6 x 2 i এবং সংশ্লিষ্ট স্কেলারের পণ্য। তারপরে এই আদর্শ এবং স্কেলার পণ্যটির প্রতি শ্রদ্ধার সাথে পুনরাবৃত্তকারী দ্রাবকের সমস্ত পদক্ষেপগুলি লিখুন এবং আপনি একটি পুনরাবৃত্তীয় দ্রাবক পান যা অন্যদের তুলনায় আপনার যত্নশীল ভেক্টর উপাদানগুলির জন্য উল্লেখযোগ্যভাবে বেশি মনোযোগ দেয়।||এক্স||2=Σআমি=15এক্সআমি2+ +Σআমি=6এনএক্সআমি2

অবশ্যই প্রশ্নটি হল যে আদর্শ / স্কেলার পণ্য যা আপনার সমস্ত উপাদানকে সমানভাবে ওজন করে তার চেয়ে কম পুনরাবৃত্তির প্রয়োজন আপনার। তবে প্রকৃতপক্ষে এটি হওয়া উচিত: আসুন আমরা আপনাকে পাঁচটি প্রথম ভেক্টর উপাদানগুলিরই যত্নশীল বলি। তারপরে 1e12 এর একটি ফ্যাক্টর দ্বারা ত্রুটি হ্রাস করতে আপনার কমপক্ষে পাঁচটি পুনরাবৃত্তি হওয়া উচিত কারণ পাঁচটি পুনরাবৃত্তি হ'ল 5x5 সিস্টেমের জন্য যা তাদের বর্ণনা করে for এটি প্রমাণ নয় তবে আমি দৃ pretty়ভাবে নিশ্চিত যে আদর্শের ওজন যদি সহনশীলতার চেয়ে ছোট হয় যা আপনি পুনরাবৃত্তভাবে লিনিয়ার সিস্টেমটি সমাধান করতে চান তবে যদি আদর্শের ওজন (উপরে 1e-12) সহনীয়তার চেয়ে কম হয় তবে ।


2
হুঁ, ভাল পয়েন্ট। আমি প্রকৃত উদাহরণটি দেখতে আগ্রহী হব, কারণ আমি কেবলমাত্র কয়েক ডিগ্রি স্বাধীনতার সমাধানের চেষ্টা করার প্রভাবগুলি সম্পর্কে কিছুটা উদ্বেগ প্রকাশ করছি; যদিও অবশিষ্টটি ছোট হতে পারে তবে ত্রুটির আদর্শ এখনও বেশ বড় (কার্যকরভাবে বেশিরভাগ অপারেটরকে উপেক্ষা করার জন্য করুন)।
জ্যাক পলসন

স্বজ্ঞাতভাবে, এটি কেবল তখনই কাজ করবে বলে মনে হয় যদি খুব ক্ষুদ্র ব্যবস্থার উপাদানগুলি সত্যিকার অর্থে একটি এল 2 (বা আপনার ভুলটি পরিমাপ করার জন্য যে আদর্শটি বোঝে) অর্থে উত্তরের উপর কর্তৃত্ব করে। তা না হলে, আমি মনে করি জ্যাক উদ্বিগ্নতা তুলে ধরে বৈধ, কিন্তু আমি স্পষ্টভাবে এমনকি এই একটি সংখ্যাসূচক প্রমাণ দেখতে আগ্রহী হতে চাই ...
Aron আহমদিয়া

একটিকে নিশ্চিত করতে হবে যে আপনি এমন একটি পদ্ধতি গ্রহণ করেছেন যা ত্রুটি হ্রাস করে , অবশিষ্টগুলি নয়। আমি মনে করি MinErr একটি ভাল সূচনা পয়েন্ট হতে পারে।
ওল্ফগ্যাং ব্যাঙ্গার্থ

@WolfgangBangerth: আমি MINERR সাথে পরিচিত নই: হয় এই প্রধান রেফারেন্স?
জ্যাক পলসন

1
এমনকি এটি যথেষ্ট নয়, কারণ আপনি ভুল হয়ে যাবেন। এই ওজনটিকে সঠিকভাবে ব্যবহার করে আপনি কয়েকটি উপাদান পেতে পারেন না।
ম্যাট নিপলি

17

স্কুর পরিপূরক গঠন

মনে করুন যে আপনি নিজের ম্যাট্রিক্সকে ফর্মটিতে অনুমতি দিয়েছেন এবং ভাগ করেছেন

একজন=(একজন11একজন12একজন21একজন22),

যেমন যে সুদ স্বাধীনতার আপনার ডিগ্রী রয়েছে এবং তুলনায় অনেক ছোট একটি 11 , তারপর এক Schur সম্পূরক গঠন করতে পারেনএকজন22একজন11

এস22: =একজন22-একজন21একজন11-1একজন12,

হয় আংশিক ডানদিকের LU ফ্যাক্টেরাইজেশন বা স্পষ্ট সূত্রের মাধ্যমে, এবং তারপরে নিম্নলিখিত অনুভূতিতে বোঝা যাবে:এস22

এস22এক্স=Y(একজন11একজন12একজন21একজন22)(এক্স)=(0Y),

যেখানে সমাধান 'নীরস' অংশ প্রতিনিধিত্ব করে। সুতরাং, একটি ডান দিকে সরবরাহ করা হয়েছে যা কেবল স্কুর পরিপূরক এস 22 এর স্বাধীনতার ডিগ্রিগুলিতে কেবল ননজারো হয়, স্বাধীনতার সেই ডিগ্রিগুলির সাথে মিল রেখে সমাধানের অংশটি পেতে আমাদের কেবল এস 22 এর বিপরীতে সমাধান প্রয়োজন ।এস22এস22

কাঠামোহীন ঘন ক্ষেত্রে গণনামূলক জটিলতা

সেট উচ্চতা একটি এবং এন উচ্চতা একটি 22 তারপর, কম্পিউটিং জন্য আদর্শ পদ্ধতি এস 22 প্রথম ফ্যাক্টর হয় এল 11 ইউ 11 : = একটি 11 (আসুন এখন জন্য pivoting এড়িয়ে যান) মোটামুটিভাবে মধ্যে 2 / 3 ( এন - এন ) 3 কাজ, তারপর গঠনএনএকজনএনএকজন22এস22এল11ইউ11: =একজন112/3(এন-এন)3

S22:=A22(A21U111)(L111A12)=A22A21A111A12

দুটি ত্রিভুজ ব্যবহার করে প্রতিটি কাজের প্রয়োজন হয় এবং তারপরে এটি 22 আপডেট সম্পাদন করেn(Nn)2A22 কাজের এ ।2n2(Nn)

সুতরাং, মোট কাজ মোটামুটিভাবে হয় । যখন এন খুব, ছোট এন - এন এন তাই খরচ প্রায় হতে দেখা যায়, 2 / 3 এন 3 , যা একটি পূর্ণ গুণকনির্ণয় খরচ হয়।2/3(Nn)3+2n(Nn)2+2n2(Nn)nNnN2/3N3

সুবিধাটি হ'ল, যদি একই সমীকরণের সিস্টেমের সাথে সমাধান করার জন্য ডান-হাতের একটি খুব বড় সংখ্যক অংশ থাকে, তবে সম্ভাব্য পরিমাণে অনেকবার পুনরায় ব্যবহার করা যেতে পারে, যেখানে প্রতিটি সমাধানের জন্য কেবল 2 এন 2 কাজ প্রয়োজন ( 2 এন 2 কাজের পরিবর্তে ) যদি এস 22 ফ্যাক্টর হয়।S222n22N2S22

(সাধারণ) বিরল ক্ষেত্রে গণনা সংক্রান্ত জটিলতা

যদি আপনার স্পার্স সিস্টেমটি কোনও ধরণের সসীম-পার্থক্য বা সসীম-উপাদানগুলির সান্নিধ্য থেকে উদ্ভূত হয়, তবে স্পর্শ-প্রত্যক্ষ সমাধানকারীরা অবশ্যই কাঠামোর কিছুটা কাজে লাগাতে সক্ষম হবেন; 2d সিস্টেমের সাথে সমাধান করা যেতে পারে কাজ এবং হে ( এন লগ এন ) , সঞ্চয় যখন 3d সিস্টেমের সাথে সমাধান করা যেতে পারে হে ( এন 2 ) কাজ এবং হে ( এন 4 / 3 ) স্টোরেজ। ফ্যাক্টার্ড সিস্টেমগুলি তখন স্টোরেজ প্রয়োজনীয়তার মতো একই পরিমাণ কাজের সাথে সমাধান করা যেতে পারে।O(N3/2)O(NlogN)O(N2)O(N4/3)

গণনীয় জটিলতার আপ আনয়ন বিন্দু যে, যদি এবং আপনার একটি 2 ডি সিস্টেম রয়েছে, সুতরাং যেহেতু শুরের পরিপূরকটি সম্ভবত ঘন হবে, সমাধানের জটিলতাটিফ্যাক্টরযুক্তশুর পরিপূরকটি হবেন(এন2)=(এন), যা কেবলমাত্র সম্পূর্ণরূপে সমাধানের তুলনায় একটি লগারিদমিক ফ্যাক্টর অনুপস্থিত is পদ্ধতি! 3d, এটা প্রয়োজনহে(এন)এর পরিবর্তে কাজহে(এন 4 / 3 )nNO(n2)=O(N)O(N)O(N4/3)

আপনার মাথায় যেখানে এন = মনে রাখা এইভাবে গুরুত্বপূর্ণ , আপনি কয়েকটি মাত্রায় কাজ করছেন এবং সমাধান করার জন্য অনেকগুলি ডান-হাত রয়েছে তবেই কেবলমাত্র তাৎপর্যপূর্ণ সঞ্চয় হবে।n=N


1
এটি শচুর পরিপূরক পদ্ধতির একটি দুর্দান্ত সংক্ষিপ্তসার এবং এটি যখন এটি ব্যবহার করার জন্য কম্পিউটেশনাল দক্ষ হয়!
পল

6

মডেল হ্রাস পদ্ধতির

পল যেহেতু জিজ্ঞাসা করেছে, আপনি যদি এই সমস্যায় প্রজেকশন-ভিত্তিক মডেল হ্রাস পদ্ধতিগুলি ব্যবহার করেন তবে আমি কী হবে তা নিয়ে কথা বলব। ধরুন যে আপনি একটি প্রজেক্টর সাথে আসতে পারেন যেমন যে পরিসীমা পি , প্রকাশ আর ( পি ) , আপনার রৈখিক সিস্টেমে সমাধান রয়েছে একটি এক্স = , এবং মাত্রা রয়েছে , যেখানে অজানা সংখ্যা যার জন্য আপনি একটি লিনিয়ার সিস্টেমে সমাধান করতে ইচ্ছুক।PPR(P)Ax=bkk

একবাক্য মানের পচন নিম্নলিখিত পার্টিশনযুক্ত ম্যাট্রিক্স প্রদান করবে:P

P=[V][diag(1k)000][WT].

তারকাদের দ্বারা অস্পষ্ট ম্যাট্রিকগুলি অন্যান্য জিনিসের জন্য গুরুত্বপূর্ণ (যেমন ত্রুটি অনুমান করা ইত্যাদি), তবে আপাতত, আমরা বহিরাগত বিশদটি মোকাবেলা করতে এড়াব। এটা যে অনুসরণ করে

P=VWT

P

মূলত, আপনি সিস্টেমটি সমাধান করবেন

PAx=Pb

in a clever way, because V and W also have the property that WTV=I. Multiplying both sides of PAx=Pb by WT and letting y=Vx^ be an approximation for x yields

WTAx^=WTb.

Solve for x^, premultiply it by V, and you have y, your approximation for x.

Why the Schur complement approach is probably better

For starters, you have to pick P somehow. If the solution to Ax=b is in R(P), then y=x, and y isn't an approximation. Otherwise, yx, and you introduce some approximation error. This approach doesn't really leverage at all the structure you mentioned wanting to exploit. If we pick P such that its range is the standard unit basis in the coordinates of x you want to calculate, the corresponding coordinates of y will have errors in them. It's not clear how you'd want to pick P. You could use an SVD of A, for instance, and select P to be the product of the first k left singular vectors of A and the adjoint of the first k right singular vectors of A, assuming that singular vectors are arranged in decreasing order of singular value. This choice of projector would be equivalent to performing proper orthogonal decomposition on A, and it would minimize the L2-error in the approximate solution.

In addition to introducing approximation errors, this approach also introduces three extra matrix multiplies on top of the linear solve of the smaller system and the work needed to calculate V, and W. Unless you're solving the same linear system a lot, only changing the right hand side, and P is still a "good" projection matrix for all of those systems, those extra costs will probably make solving the reduced system more expensive than solving your original system.

The drawbacks are much like JackPoulson's approach, except that you're not quite leveraging the structure that you mentioned.


4

The long answer is...sort of.

You can re-arrange your system of equations such that the farthest right k columns are the variables which you wish to solve for.

Step 1: Perform Gaussian Elimination so that the matrix is upper triangular. Step 2: solve by back substitution for only the first (last) k variables which you are interested in

This will save you the computational complexity of having to solve for the last nk variables via back-substitution, which could be worth it if n is as large as you say. Keep in mind that a fair amount of work will still have to be done for step 1.

এছাড়াও, মনে রাখবেন যে আপনি ব্যাক-সাবস্টিটিউশন সম্পাদন করতে যাচ্ছেন তা সীমাবদ্ধ করা ম্যাট্রিক্সের ফর্মকে সীমাবদ্ধ করতে পারে (এটি কলাম বিনিময় করার ক্ষমতা কেড়ে নেয়) যা সম্ভবত অসুস্থ শর্তাধীন সিস্টেমের দিকে নিয়ে যেতে পারে , তবে আমি নই এটি সম্পর্কে নিশ্চিত - কিছু মনে রাখবেন।


গাউসিয়ান নির্মূলের প্রয়োজন হে(এন3) কাজ, তবে পশ্চাদপদ প্রতিস্থাপনের জন্য কেবল প্রয়োজন হে(এন2)। এইভাবে, হিসাবেএনবড় আকার ধারণ করে, ত্রিভুজ সমাধানে ব্যয় করা শতাংশের পরিমাণ অদৃশ্যভাবে ছোট হয়ে যায়।
জ্যাক পলসন

যে কারণে উত্তরটি "হ্যাঁ" এর পরিবর্তে "সাজানো" =)
drjrm3

এটি বোঝা যায় যে এটি এই উপায়ে করা যেতে পারে ... তবে, গাউসিয়ান নির্মূলকরণের বেশিরভাগ গণনা সামনের অগ্রসরকরণের পর্যায়ে রয়েছে, কাটা পিছনের প্রতিস্থাপনের পর্যায়ে থাকা সত্ত্বেও একটি O (n ^ 3) জটিলতা দেয়। আমি আশা করছিলাম একটি দ্রুত পদ্ধতি আছে ...
পল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.