Iterative "solver" for


9

আমি ভাবতে পারি না যে আমি নিম্নলিখিত সমস্যাটি সম্পর্কে প্রথম চিন্তা করি, সুতরাং আমি একটি রেফারেন্স দিয়ে সন্তুষ্ট হব (তবে একটি সম্পূর্ণ, বিস্তারিত উত্তরটি সর্বদা প্রশংসা করা হয়):

আপনি যদি একটি প্রতিসম ইতিবাচক নির্দিষ্ট আছে বলুন । কে খুব বড় হিসাবে ভাবা হয়, সুতরাং স্মৃতিতে রাখা অসম্ভব। আপনি তবে মূল্যায়ন করতে পারেনΣ∈Rn×nnΣΣx জন্য forx∈Rn। কিছু দেওয়া হয়েছেx∈Rn, আপনি খুঁজে পেতে চাই xtΣ−1x।

প্রথম সমাধানটি যা মনে আসে তা হ'ল এটি Σ−1x(বলুন) কনজুগেট গ্রেডিয়েন্ট ব্যবহার করে। তবে এটি কিছুটা অপ্রয়োজনীয় বলে মনে হচ্ছে - আপনি একটি স্কেলারের সন্ধান করেন এবং প্রক্রিয়াটিতে আপনি একটি বিশাল ভেক্টর খুঁজে পানRn। এটি সরাসরি স্কেলারের গণনা করার জন্য কোনও পদ্ধতি নিয়ে আসা আরও বোধগম্য বলে মনে হচ্ছে (অর্থাত্ পাশ না করেই)Σ−1x)। আমি এই ধরণের পদ্ধতি খুঁজছি।


2
আপনার ম্যাট্রিক্স থেকে উদ্ভূত হয়? Σ=ATA কিছু "সংক্ষিপ্ত ও প্রশস্ত" আয়তক্ষেত্রাকার জন্য A?
— জিওম্যাট 22 22

@ GeoMatt22- কে দুর্ভাগ্যক্রমে নয়। তবে আসুন বলি এটি হয় - আপনি এই ক্ষেত্রে কী পরামর্শ দেবেন?
— ইয়ার দাওন

1
হ্যাঁ, আমি কেবল ভাবছিলাম যে যদি এখানে কাজ করার জন্য কিছু ছোট ম্যাট্রিক্স রয়েছে ... তবে এটি নিশ্চিত নয় যে এটি কোনওভাবেই সহায়তা করবে। আপনি কি "ম্যাট্রিক্স ফ্রি মহালানোবিস দূরত্ব" বা অনুরূপ গুগল করার চেষ্টা করেছেন? আরও সাহায্য না করার জন্য দুঃখিত!
— জিওম্যাট 22 22

ধন্যবাদ @ জিওম্যাটট২২, আমি অনলাইনে কিছু খুঁজে পাচ্ছিলাম না।
— ইয়ার দাওন

উত্তর:


2

আমি মনে করি না যে আমি এমন কোনও পদ্ধতি শুনেছি যা বাস্তবে সমাধান না করে আপনি যা চান তা করে y=Σ−1x।

কেবলমাত্র বিকল্পটি আমি দিতে পারি যদি আপনি ইগনভেেক্টর এবং মূল্য নির্ধারণ সম্পর্কে কিছু জানতেন Σ। বলুন যে আপনি জানতেন যে তারাλi,vi, তাহলে আপনি প্রতিনিধিত্ব করতে পারেন Σ=VTLV যেখানে কলামগুলি V হয় vi, এবং Lতির্যকটিতে ইগেনভ্যালুগুলির সাথে একটি তির্যক ম্যাট্রিক্স। ফলস্বরূপ, আপনি যে আছেΣ−1=VTL−1V এবং আপনি এটি পেতে

xTΣ−1x=xTVTL−1Vx=∑iλi−1(viTx)2.
এর জন্য অবশ্যই আপনাকে সমস্ত ইগেনভ্যালুগুলি সঞ্চয় করতে হবে , অর্থাত্ একটি সম্পূর্ণ ম্যাট্রিক্সV। তবে, আপনি যদি জানতে পেরেছিলেন যে এর কয়েকটি কয়েকটি ইগন্যালুয়াসΣ ছোট, প্রথম বলুন m, এবং বাকিটি এত বড় যে আপনি এর সাথে সমস্ত পদ অবহেলা করতে পারেন λi−1 জন্য i>m, তাহলে আপনি আনুমানিক পারেন
xTΣ−1x=∑i=1nλi−1(viTx)2≈∑i=1mλi−1(viTx)2.
এটির পরে কেবল আপনার সঞ্চয় করা দরকার m ভেক্টর, সব পরিবর্তে n eigenvectors।

অবশ্যই, বাস্তবে সহজেই সমাধানের তুলনায় ইগনালভগুলি এবং ইগেনভেেক্টরগুলি গণনা করা প্রায়শই সমান বা আরও বেশি কঠিন y=Σ−1x একাধিক বার.


তবে তারপরে আপনাকে খুঁজে বের করার কাজটি ছেড়ে দেওয়া হবে mম্যাট্রিক্সের ক্ষুদ্রতম এগেনুয়ালুয়েসগুলি, যা কোনও সহজ কাজ নয় ...
— ইয়ায়ার দাওন

সঠিক। আপনার মূল্যায়ন করতে হবে তবে এটি মূল্যবান হতে পারেxTΣ−1xঅনেক বার.
— ওল্ফগ্যাং ব্যাঙ্গার্থ

আপনি কি তখন কোনও পদ্ধতির পরামর্শ দিতে পারেন?
— ইয়ার দাওন

চারপাশে প্রচুর বা বিস্ময়কর ইগেনভ্যালু সলভার রয়েছে। আরপ্যাক এবং পিইটিএসসি-ভিত্তিক এসইএলপিসি সম্ভবত সবচেয়ে বেশি ব্যবহৃত হয় used
— ওল্ফগ্যাং ব্যাঙ্গার্থ

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