চেবিশেভ বহুবর্ষের দ্রুত (আনুমানিক) মূল্যায়ন


9

ইউনিফর্ম গ্রিডে (চেবিশেভ নোডগুলিতে ফাংশনের মানগুলি দেওয়া হয়) চেবিশেভ ইন্টারপোলেশন বহুবর্ষের দ্রুত (আনুমানিক) মূল্যায়ন কীভাবে কার্যকর করা যায় তার কোন পছন্দসই উপায় আছে? আমার সমস্যাটি হ'ল ইন্টারপোলটিং পলিনোমিয়ালের ডিগ্রি বৃদ্ধি পেলে আন্তঃবাহণটি ধীর হয়ে যায়।

নিম্নলিখিত ধারণা আমার মনে আসে:

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

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

উত্তর:


11

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

এটি আসলে চেবিশেভ ইন্টারপোল্যান্টের সঠিক মূল্যায়ন। আপনি যদি ডিগ্রির বহুভুজটি মূল্যায়ন করেনnm নোড, খরচ হয় O(nm)

হালনাগাদ

আরেকটি বিকল্প, যদি আপনার আন্তঃপোল্টারি বহুপদী এর চেবিশেভ সহগ থাকে তবে ক্লেনশিও অ্যালগরিদম ব্যবহার করা । যদি আপনার কেবল চেবিশেভ নোডগুলিতে ফাংশন মান থাকে তবে আপনি বহুবার বহুবার মূল্যায়ন করতে হয় তবে আপনি সহগের একটি এফএফটি দিয়ে গুণতে পারেন।

ক্লেনশো অ্যালগরিদম ব্যারেন্সেন্ট্রিক অন্তরঙ্গকরণের চেয়ে কিছুটা দ্রুততর কারণ এটিতে কেবল সংযোজন এবং গুণগুলি প্রয়োজন এবং এটি বেশ সুন্দরভাবে ভেক্টরাইজও করে।


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

@ থমাসক্লিম্পেল: আপনি ওজন কীভাবে গণনা করছেন? যদি আপনি চেবিশেভ নোডগুলি চালু করে থাকেন[1,1], তারা ঠিক আছে ±1, বা ±1/2প্রান্তে যদি গতি সত্যিই মর্মার্থে থাকে তবে আমি আমার উত্তরে ক্লেনশাও অ্যালগরিদ যুক্ত করেছি। আমার অভিজ্ঞতায়, সংকলিত কোডে এটি প্রায় চারগুণ বেশি দ্রুত।
পেড্রো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.