বিডিএফ বনাম অন্তর্নিহিত রঞ্জ কত্তা সময় পদক্ষেপ


16

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

যদি এটি সহায়তা করে তবে শেষ লক্ষ্যটি হ'ল অ্যাডভেকশন-ডিফিউশন পিডিইয়ের জন্য একটি হাই অর্ডার ইনপিলিটিড টাইম স্টেপার নির্বাচন করা।

উত্তর:


34

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

বিডিএফ পদ্ধতিগুলির একটি উচ্চ নির্ধারিত ব্যয় থাকে

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

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

হাই অর্ডার বিডিএফ পদ্ধতিগুলি জটিল ইগনালভ্যালুগুলির জন্য খুব অস্থির

বিডিএফ পদ্ধতিগুলি আপনাকে সর্বাধিক অর্ডার নিয়ন্ত্রণ করতে এবং কোনও কারণে এটি আরও রক্ষণশীল করার অনুমতি দেয়: উচ্চতর অর্ডার বিডিএফ পদ্ধতিগুলি এমনকি "মাঝারি আকারের" জটিল ইগনালিয়ুলগুলি খুব ভালভাবে পরিচালনা করতে পারে না। সুতরাং এই ক্ষেত্রে স্থিতিশীল হওয়ার জন্য তাদের ক্রমটি নামতে হবে। এই কারণেই 6th ষ্ঠ অর্ডার বিডিএফ পদ্ধতিটি প্রযুক্তিগতভাবে স্থিতিশীল থাকা সত্ত্বেও প্রায়শই উপেক্ষা করা হয় কারণ 5 তম আদেশে ইতিমধ্যে এখানে ইস্যু রয়েছে (এবং the ষ্ঠ আদেশটি আরও কম স্থিতিশীল)। কেবল ২ য় অর্ডার পর্যন্ত A- স্থিতিশীল, তাই এটি সর্বদা সেখানে ফ্যালব্যাক করতে পারে তবে পদক্ষেপটি ত্রুটি দ্বারা প্রাধান্য পাচ্ছে।

সুতরাং অ-তুচ্ছ সমস্যাগুলিতে বিডিএফ কোডগুলি ব্যবহার করার সময়, আপনি সমস্ত সময় 5 তম অর্ডার পাচ্ছেন না। দোলনাগুলি এর ক্রমটি ড্রপ হওয়ার কারণ করে।

বিডিএফ পদ্ধতিগুলির একটি উচ্চ প্রারম্ভিক ব্যয় রয়েছে

আমিττ

বিডিএফ পদ্ধতিগুলি, মাল্টিস্টেপ পদ্ধতি হওয়ায় সর্বোত্তম স্কেলিং রয়েছে

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

কোন মানদণ্ড পাওয়া যায়?

হায়ারের বই এবং ডিফএকবিঞ্চমার্কস (নীচে ব্যাখ্যা করা হয়েছে) সহজেই উপলভ্য কাজের-নির্ভুলতার চিত্রগুলির ক্ষেত্রে সম্ভবত সেরা। হায়ারের সমাধানের সাধারণ ডিফারেনশিয়াল সমীকরণ II এর পৃষ্ঠাগুলিতে 154 এবং 155-তে একাধিক ওয়ার্ক-স্পষ্টতা ডায়াগ্রাম রয়েছে। আমি যে কারণগুলি বেছে নিয়েছি তার ফলাফলগুলি উপরে উল্লিখিত কারণে আমি যা বলেছি তার সাথে মিলে যায়: সমস্যাটি যদি না হয় তবে নিখুঁত আরকে আরও কার্যকর হবে "যথেষ্ট বড়"। আরেকটি আকর্ষণীয় বিষয় লক্ষণীয় হ'ল হাই অর্ডার রোজেনব্রক পদ্ধতিগুলি তার Rodasশাসন ​​ব্যবস্থায় বেশিরভাগ পরীক্ষায় (যেমন ) ত্রুটি বেশি radau5বলে সবচেয়ে দক্ষ হিসাবে উপস্থিত হয় এবং নিম্ন ত্রুটিগুলিতে অন্তর্নিহিত আরকেই সবচেয়ে দক্ষ। তবে তার পরীক্ষার সমস্যাগুলি বেশিরভাগ বড় পিডিইগুলির বিচক্ষণতা নয়, তাই উপরের পয়েন্টগুলি বিবেচনায় আনুন।

আপনি কীভাবে পরীক্ষা / বেঞ্চমার্ক করবেন?

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

ODEProblem

@time sol = solve(prob,CVODE_BDF())
@time sol = solve(prob,radau())

যেখানে প্রথম সানডিয়ালস CVODE(বিডিএফ পদ্ধতি) ব্যবহার করে, এবং দ্বিতীয়টি হায়ারের radau(অন্তর্নিহিত আরকে) ব্যবহার করে।

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

(দ্রষ্টব্য: এই কঠোর মানদণ্ডগুলি আপডেট করা দরকার one একটির জন্য, কোনও কারণে ODE.jl এর পদ্ধতিগুলি ডাইভারেজ করার কারণে পাঠ্যটি আপডেট হওয়া দরকার ...)

এক্সট্রোপোলেশন পদ্ধতি এবং আরকেসি

এক্সট্রাপোলেশন পদ্ধতিও রয়েছে seulexযা শক্ত সমস্যার জন্য তৈরি। এগুলি "অসীম অভিযোজিত ক্রম", তবে এর অর্থ কেবলমাত্র যখন আপনি খুব কম ত্রুটি খুঁজছেন (যেমন 1e-10, এর চেয়ে কম বা ততোধিক কঠোর সমস্যা সমাধানের সন্ধান করছেন, তখন আপনি সম্ভবত একটি স্পষ্ট পদ্ধতি ব্যবহার করতে পারেন) । তবে বেশিরভাগ ক্ষেত্রে এগুলি দক্ষ নয় এবং এড়ানো উচিত।

রানজে-কত্তা চেবিস্কেভ একটি স্পষ্ট পদ্ধতি যা আপনার যে কঠোর সমস্যাগুলি বিবেচনা করা উচিত সেগুলি নিয়েও কাজ করে। আমি এখনও এটি ডিফেরেন্টিয়ালএকুয়েশনস.জেজেলে জড়িয়ে নেই তাই এটি কীভাবে মেলা যায় তার কোনও প্রমাণ আমার কাছে নেই।

অন্যান্য পদ্ধতি বিবেচনা করুন: কঠোর পিডিইগুলির জন্য বিশেষ পদ্ধতি

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

দেখার অন্যান্য পদ্ধতি হ'ল ঘৃণ্য আরকে পদ্ধতিগুলি, এক্সফোনেনশিয়াল টাইম-ডিফারেন্সিং (ইটিডি), অন্তর্নিহিত ইন্টিগ্রেশন ফ্যাক্টর (আইআইএফ) এবং এক্সফোনেনশিয়াল রোজনব্রোক পদ্ধতি। প্রথম তিনটি এই সত্যটি ব্যবহার করে যে অনেকগুলি PDE বিচক্ষণতায়,

তোমার দর্শন লগ করাটি=একজনতোমার দর্শন লগ করা+ +(তোমার দর্শন লগ করা)

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

একজনজেতোমার দর্শন লগ করা+ +(তোমার দর্শন লগ করা)জে=জেতোমার দর্শন লগ করা+ + , তবে এটি একই ধারণা।

তবুও অন্যান্য পদ্ধতি: সর্বশেষতম সৃষ্টি

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

আবার, এটি সর্বোত্তম যখন আপনার দক্ষতার সাথে সমান্তরাল করার জন্য পর্যাপ্ত পরিমাণের স্থানীয় বিবেচনা না থাকে তবে সমান্তরাল গণনার জন্য সংস্থান রয়েছে।

উপসংহার: লবণের এক দানার সাথে অ্যাসিপটোটিক বিবেচনা করুন

Δটি

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

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


3
এটি খুব বিস্তারিত প্রতিক্রিয়া, আমার কিছু নতুন দিক যাচাই করার আছে! আমি আপনার সময়ের প্রশংসা করি
ব্যবহারকারী 107904

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