রৈখিক ত্রুটি সংশোধন চেয়ে ধীর FAS- মাল্টিগ্রিড?


9

আমি লিনিয়ার ত্রুটি সংশোধন (এলডিসি) এবং সম্পূর্ণ আনুমানিককরণ প্রকল্প (এফএএস) উভয় ব্যবহার করে একটি ভি-সাইকেল মাল্টিগ্রিড সলভার প্রয়োগ করেছি।

আমার সমস্যাটি হ'ল: এলডিসি ব্যবহার করে অবশিষ্টগুলি প্রতি চক্র ~ 0.03 এর একটি ফ্যাক্টর দ্বারা হ্রাস পায়। এফএএস বাস্তবায়ন লিনিয়ার ফ্যাক্টরের সাথেও একত্রিত হয় তবে ফ্যাক্টরটি কেবলমাত্র ~ 0.58। সুতরাং এফএএসের চক্রের সংখ্যার চেয়ে 20 গুণ বেশি প্রয়োজন।

বেশিরভাগ কোড ভাগ করা হয়, একমাত্র পার্থক্য হ'ল ডাউন / আপ গণনা, এলডিসি ব্যবহার করে

ডাউন:uH:=0,bH:=IhH(bhLhuh)

আপ:uh:=uh+IHhuH

এবং এফএএস ব্যবহার করে

ডাউন:uH:=IhHuh,bH:=IhHbh+LHIhHuhIhHLhuh

আপ:uh:=uh+IHh(uHIhHuh)

আমার পরীক্ষার সেটিংটি ব্রিগের "এ মাল্টিগ্রিড টিউটোরিয়াল, দ্বিতীয় সংস্করণ", পৃষ্ঠা থেকে রয়েছে। 64, এর বিশ্লেষণাত্মক সমাধান রয়েছে

u(x,y)=(x2x4)(y4y2) সহx,y[0,1]2

এবং সমীকরণটি ল্যাপিলেস-অপারেটর হিসাবে সাধারণ লিনিয়ার 5-পয়েন্ট স্টেনসিল ব্যবহার করে । প্রাথমিক অনুমানটি ।Lv=Δu=:bLv=0

পরীক্ষার সেটিংস পরিবর্তন করা, উদাহরণস্বরূপ তুচ্ছ প্রাথমিক মানের ব্যবহার করে প্রায় একই রূপান্তর কারণের ফলাফল হয়।u(x,y)=0v=1

যেহেতু কেবল ডাউন / আপ কোডটি পৃথক, এলডিসির ফলাফলগুলি বইটি মেনে চলে এবং এফএএস কমপক্ষে খুব বেশি কাজ করে বলে মনে হয়, কেন একই লিনিয়ার সেটিংয়ে এটি এত ধীরে ধীরে আমার কোনও ধারণা নেই।

এলডিসি এবং এফএএস উভয় ক্ষেত্রেই একটি স্বতন্ত্র আচরণ রয়েছে যা আমি এখনও ব্যাখ্যা করতে পারি না যে প্রাথমিক অনুমানটি খারাপ হলেই ঘটবে (উদাঃ তবে আমার সম্পূর্ণ মাল্টিগ্রিড পরীক্ষায়ও যেখানে নতুন সূক্ষ্ম গ্রিডের অভ্যন্তরীণ অংশটি from থেকে অবধি বৃদ্ধি করে থেকে ): আমি যদি পোস্ট সংশোধন শিথিলতায় খুব বেশি সংখ্যায় বৃদ্ধি করি যেমন মোটা গ্রিডে মেশিনের নির্ভুলতার সমাধান করা হয় তবে এক ধাপ উপরে গেলে এটি প্রায় সমস্ত অঙ্ক হারিয়ে ফেলে ses পরবর্তী সূক্ষ্ম গ্রিড।=01015101

যেহেতু কোনও ছবি শব্দের চেয়ে বেশি বলে:

// first cycle, levels 0-4
// DOWN
VCycle top 4, start               res_norm 3.676520e+02 // initial residual
VCycle top 4, cycle 0, current 4, res_norm 3.676520e+02
VCycle top 4, cycle 0, current 4, res_norm 1.520312e+02 // relaxed (2 iterations)
VCycle tau_norm 2.148001e+01 (DEBUG calculation)
VCycle top 4, cycle 0, current 3, res_norm 1.049619e+02 // restricted
VCycle top 4, cycle 0, current 3, res_norm 5.050392e+01 // relaxed (2 iterations)
VCycle top 4, cycle 0, current 2, res_norm 3.518764e+01 // restricted
VCycle top 4, cycle 0, current 2, res_norm 1.759372e+01 // relaxed (2 iterations)
VCycle top 4, cycle 0, current 1, res_norm 1.234398e+01 // restricted
VCycle top 4, cycle 0, current 1, res_norm 4.728777e+00 // relaxed (2 iterations)
VCycle top 4, cycle 0, current 0, res_norm 3.343750e+00 // restricted
// coarsest grid
VCycle top 4, cycle 0, current 0, res_norm 0.000000e+00 // solved
// UP
VCycle top 4, cycle 0, current 1, res_norm 3.738426e+00 // prolonged
VCycle top 4, cycle 0, current 1, res_norm 0.000000e+00 // relaxed (many iterations)
VCycle top 4, cycle 0, current 2, res_norm 1.509429e+01 // prolonged (loosing digits)
VCycle top 4, cycle 0, current 2, res_norm 2.512148e-15 // relaxed (many iterations)
VCycle top 4, cycle 0, current 3, res_norm 4.695979e+01 // prolonged (loosing digits)
VCycle top 4, cycle 0, current 3, res_norm 0.000000e+00 // relaxed (many iterations)
VCycle top 4, cycle 0, current 4, res_norm 1.469312e+02 // prolonged (loosing digits)
VCycle top 4, cycle 0, current 4, res_norm 9.172812e-24 // relaxed (many iterations)

আমি নিশ্চিত নই যে চক্রের জন্য প্রাপ্ত কয়েকটি সংখ্যকই এটি থাকতে পারে বা এটি যদি সূক্ষ্ম গ্রিডে প্রদাহের সময় কোনও ত্রুটি নির্দেশ করে। যদি এটি পরবর্তী ক্ষেত্রে হয়, এলডিসি সর্বদা ২ টি শিথিলকরণ ব্যবহারের সময় কীভাবে বুক-অব-বুক অনুপাতটি 0.03 ডলার অর্জন করতে পারে?

উত্তর:


7

আমি আপনার উত্তরটি সরাসরি জানি না কারণ আমি মূলত সংশোধনের পরিবর্তে এফএএস ব্যবহার করি যেহেতু আমি ননলাইনারি সমস্যার জন্য মাল্টিগ্রিড করি তবে কিছু ধারণা যা আপনি দেখতে পারেন:

  • আপনি একটি রৈখিক সমস্যার ক্ষেত্রে রৈখিক সংশোধন স্কিম প্রয়োগ করছেন, তাই এটি খুব ভালভাবেই কাজ করে তা হতভম্ব নয়।

  • আপনার সীমানা পরিস্থিতি বিবেচনা করুন: আপনি সেগুলি সঠিকভাবে করছেন তা নিশ্চিত করুন এবং আরও লক্ষ করুন যে জটিল বিসিগুলি মোটা গ্রিডে সম্পূর্ণ ভিন্ন দেখতে পারে, যাতে সংশোধনগুলি এত কার্যকর না হয়ে যায়।

  • উত্স শব্দটির সাথে আপনার চিকিত্সার পুনরায় পরীক্ষা করুন; আমি যখন পোয়েসনের জন্য এটি লিখেছিলাম তখন আমি সেই শব্দটির সাথে সম্পর্কিত দীর্ঘায়িত পর্যায়ে কিছু আঁকিয়ে ফেলার কথা মনে করি।

  • আমি মোটামুটি গ্রিডে রূপান্তর করতে পুনরাবৃত্তি করার প্রয়োজন দেখিনি। একটি সমাধান সূক্ষ্ম গ্রিড অবশিষ্টাংশ সঠিক হওয়ার উপর নির্ভর করে, যা তা নয়। আপনি এই ত্রুটিগুলি ডোমেনের বাইরে রাখতে / তাদের মসৃণ করার চেষ্টা করছেন। যদি আপনি প্রথম দিকে পুনরাবৃত্তিতে মোটা গ্রিডে পুরোপুরি রূপান্তরিত হন তবে আপনার সমাধানটি সঠিক জরিমানা গ্রিড সমাধান থেকে স্বাভাবিকভাবেই বেশ দূরে কারণ আপনার অবশিষ্টাংশগুলি আপ টু ডেট নেই। আপনি অবশ্যই কেন দীর্ঘস্থায়ী পর্যায়ে অবশেষকে লাফিয়ে দেখছেন এটি প্রায় কারণ।

  • এছাড়াও, সীমাবদ্ধতা এবং দীর্ঘায়িত অপারেটর উভয়ের জন্য একটি শিথিলকরণের কারণটি চেষ্টা করুন, 0.75 বলুন।

এটি যদি সহায়তা করে তবে সম্পূর্ণ 7 ভি চক্রের মাধ্যমে একক গ্রিড ব্যবহার করে পোয়েসনের সমস্যার জন্য আমার এফএএসের অবশিষ্টাংশের ইতিহাস এটি দেখতে পেল। আমি বিশ্বাস করি শিথিলকরণের কারণটি 0.75 ছিল এবং আমি প্রতিটি গ্রিড স্তরে একক পুনরাবৃত্তির সাথে মসৃণ হিসাবে 3-পর্যায়ের আরকে স্কিমটি ব্যবহার করছিলাম।

পুনরায় ইতিহাস


আপনার জবাবের জন্য ধন্যবাদ, লিনিয়ার কেস এবং সাধারণ বিসি (বর্গক্ষেত্র = 0) কেবলমাত্র প্রথম পদক্ষেপ, "সহজ" সেটিংস কাজ করার পরে আসল কেসগুলির পরীক্ষা করা হবে। সীমাবদ্ধতা এবং দীর্ঘায়নের জন্য একটি শিথিলকরণ কারণের সাথে আপনি কী বোঝাতে চেয়েছি তা আমি নিশ্চিত কিনা I'm আমি বর্তমানে দীর্ঘায়নের জন্য বিলিনিয়ার ইন্টারপোলেশন এবং সীমাবদ্ধতার জন্য অর্ধ-ওজন ব্যবহার করছি।
সিলপিয়ন

শিথিলতার মাধ্যমে আমি বলতে চাইছি আপনার পর্যায়ে এটি এটিকে পরিবর্তন করুন: যেখানে একটি শিথিলকরণ কারণ factor সাধারণত সমাধান যত জটিল হয়, তত কম এই উপাদানটি প্রয়োজন। প্রচুর সংঘাতের সমাধানে আমাকে মাঝে মাঝে এটিকে 0,0 এর কাছাকাছি ঠেকাতে হয় তবে সাধারণত 0.75-0.85 কাজ করে। uh:=uh+αIHh(uHIhHuh)0<α<1
অরেলিয়াস

জানা ভাল. আমার সেটিংয়ে এটি কেবল রূপান্তর অনুপাতটিকে দ্বারা গতি কমিয়ে দেয় তবে আরও জটিল ডেটা পরীক্ষা করার সময় আমি এটি মনে রাখব। (1α)
সিলপিয়ন

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

@ কিরান ব্রাবাজন এর কাছে আমার কাছে কোনও রেফারেন্স নেই, এবং আমি মাল্টিগ্রিডের জন্য রূপান্তর প্রমাণগুলির বিশদ সম্পর্কে আন্তরিকভাবে ঘনিষ্ঠভাবে পরিচিত নই। আমি এমন কোনও প্রাথমিক সাহিত্যের সন্ধানের পরামর্শ দেব যা এই শিথিলতার উপাদানটি প্রবর্তন করে। সেই উপাদানটি আমি দেখেছি এমন সমস্ত আধুনিক মাল্টিগ্রিড বাস্তবায়নের ক্ষেত্রে সাধারণ, এবং এটি স্বজ্ঞাতভাবে সত্য যে সঠিক কোর্সের সমাধানগুলি প্রয়োজনীয় / আকাঙ্ক্ষিত হলে এটির প্রয়োজন হত না। একটি স্বজ্ঞাত প্রমাণের জন্য, আমি কেবল কল্পনা করেছিলাম যে সর্বোত্তমতম বনাম মোটামুটি গ্রিডের জন্য সীমানা পরিস্থিতি কেমন দেখাচ্ছে। এগুলি খুব আলাদা সমাধান তৈরি করে তা কল্পনা করা সহজ।
অরেলিয়াস

6

আপনি যদি কোনও ভার্টেক্স কেন্দ্রিক বিবেচনামূলক ব্যবহার করছেন, তবে রাষ্ট্রীয় নিষেধাজ্ঞাকে পূর্ণ-ওজনযুক্ত অবশিষ্টাংশের বিধিনিষেধের পরিবর্তে ইনজেকশন হওয়া উচিত যা এটি ব্যবহার করে বলে মনে হয়। যে, প্রতিস্থাপনIhH সঙ্গে I^hHরাষ্ট্র সীমাবদ্ধ যখন। রাজ্যের জন্য পূর্ণ ওজনযুক্ত সীমাবদ্ধতা ব্যবহারের ফলে রাজ্যের উচ্চ-ফ্রিকোয়েন্সি উপাদানগুলির এলিয়াসিং হয় যা প্রয়োগের পরেuhuh(uHIhHuh)মোটা সংশোধনের আগের মতো একই স্কেলে নতুন শব্দে ফলাফল (সীমানা শর্তগুলি সম্ভবত এই প্রভাবের জন্য সম্ভবত অপরাধী)। ইনজেকশন ব্যবহার করুন,I^hHuh, এবং এই সমস্যাটি দূরে যাওয়া উচিত।

স্পষ্টতই, রাষ্ট্রীয় বিধিনিষেধের জন্য কেবলমাত্র উচ্চ মাধ্যমিক অর্ডার (কম ফ্রিকোয়েন্সিগুলির সঠিক সংরক্ষণ) প্রয়োজন হয়, তবে প্রাথমিক আদেশ (উচ্চ ফ্রিকোয়েন্সিগুলির এলিয়াসিং) কোনও বিষয় নয়। ইনজেকশনের প্রাথমিক অর্ডার 0 এবং অসীম মাধ্যমিক অর্ডার রয়েছে। ইতিমধ্যে, অবশিষ্ট বাধা অবশ্যই ইতিবাচক (কমপক্ষে) হতে প্রাথমিক ও দ্বিতীয় উভয় ক্রম দরকার। আচি ব্র্যান্ডের মাল্টিগ্রিড গাইডের ৪.৩ বিভাগ দেখুন ।

এমজি পদ্ধতিগুলি ডিজাইন করার সময়, অবশিষ্টাংশের চেয়ে ত্রুটির দিকে নজর দেওয়া এবং আপনার আদর্শের যথাযথভাবে ওজন করা নিশ্চিত করা ভাল।


ভাল পয়েন্ট, এবং আমি এই লাইন বরাবর কিছু উল্লেখ করতে ব্যর্থ হয়েছিল। মাল্টিগ্রিডের ব্যবহারিক ব্যবহারের একটি গুরুত্বপূর্ণ বিষয়টি মসৃণ বাছাইয়ের পছন্দ: আপনি এমন একটিটি চান যা দ্রুততর উচ্চ ফ্রিকোয়েন্সি ত্রুটিগুলিকে কমিয়ে দেয়, যা আপনার বর্ণিত সমস্যাটির সমাধান করে।
অরেলিয়াস

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

ব্র্যান্ডের মাল্টিগ্রিড গাইডের লিঙ্কটির জন্য ধন্যবাদ, আমি ব্রিগের মুলটিগ্রিড টিউটোরিয়ালটি শেষ করার পরে এটি পুরোপুরি পড়ব। আমি এখনই সমস্যার সমাধান করেছি (অন্যান্য উত্তর দেখুন) তবে আমি বর্তমানে উভয় রাজ্যের এবং অবশিষ্টাংশের বিধিনিষেধের জন্য পূর্ণ ওজন ব্যবহার করছি। ইঞ্জেকশন ব্যবহার করা আমার সেটিংসে কাজ করে বলে মনে হচ্ছে না, অনুপাতের অনুপাত পরিবর্তন হয়>0.8এবং অবশিষ্ট ও ত্রুটি উভয়ই L2- রীতিগুলি খুব শীঘ্রই হ্রাস বন্ধ করে। ইঞ্জেকশন ব্যর্থ হয় কেন আপনার কোনও ধারণা আছে?
সিলপিয়ন

1

আমি এখন সমস্যার দ্বারা সমাধান করেছি। আমি সঞ্চিতuoldH=IhHuh ভি-চক্র চলাকালীন যখন নীচে যাবেন এবং পরে এটি পুনরায় ব্যবহার করলেন

uhuh+IHh(uHIhHuh)=uh+IHh(uHuoldH)

সমস্যাটি আবার নামার আগে ছিল was H প্রতি 2H, uoldHজায়গায় শিথিল ছিল । শিথিলকরণের পদক্ষেপগুলিতে সহায়তা করার আগে একটি অনুলিপি সঞ্চয় করা। থেকেuoldH কেবল এফএএস-এ প্রয়োজনীয় ছিল, এটি লিনিয়ার গণনায় প্রদর্শিত হয়নি।

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