প্রদত্ত বিরতিতে কোনও ফাংশনের সমস্ত শিকড় সন্ধান করুন


9

আমাকে একটি নির্দিষ্ট ব্যবধানে স্কেলার ফাংশনের সমস্ত শেকড় খুঁজে বের করতে হবে । ফাংশনটির বিরতি থাকতে পারে। অ্যালগরিদমে ε এর যথার্থতা থাকতে পারে (উদাঃ এটি ঠিক আছে যদি অ্যালগরিদম দুটি পৃথক শিকড় খুঁজে না পায় যা than এর চেয়ে বেশি কাছাকাছি থাকে)।

এই ধরনের অ্যালগরিদম কি বিদ্যমান? আপনি কি আমাকে সম্পর্কে কাগজপত্র নির্দেশ করতে পারেন?


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

আমি একটি বিরতি [a,b]এবং একটি ফাংশন দিয়ে শুরু f। তাহলে sign(f(a+ε)) ≠ sign(f(b-ε)), আমি জানি আছে অন্তত একটি শূন্য মধ্যে aএবং b, এবং আমি এটি z = zero(]a,b[)। আমি পরীক্ষা করে zসত্যিই মান দেখার মাধ্যমে, (এটা বিচ্ছিন্নভাবে কিছু হতে পারে) একটি শূন্য হয় z-εএবং z+ε। যদি তা হয় তবে আমি এটি পাওয়া শূন্যগুলির তালিকায় যুক্ত করব। যদি f(a+ε)এবং f(b-ε)উভয়ই ইতিবাচক হয় তবে আমি অনুসন্ধান করি m = min(]a, b[)। যদি f(m)এখনও ইতিবাচক হয় তবে আমি অনুসন্ধান করি m = max(]a,b[)কারণ সেখানে aএবং এর মধ্যে বিচ্ছিন্নতা থাকতে পারে b। আমি বিপরীত না যদি f(a+ε)f(b-ε)নেগেটিভ ছিল।

এখন, আমি যে বিন্দুটি দেখতে পেয়েছি ( zবা m) থেকে আমি আমার ফাংশনের শূন্য, বিচ্ছিন্নতা এবং প্রতিস্থাপনের পয়েন্ট সমন্বিত একটি স্ট্যাক তৈরি করি। প্রথম পুনরাবৃত্তির পরে, স্ট্যাকটি এখন মনে হচ্ছে [a, z, b]। আমি আবার বিরতি থেকে অ্যালগরিদম ]a,z[এবং ]z,b[। যখন দুটি পয়েন্টের মধ্যে aএবং bউভয় বিরতি শেষের চেয়ে এক্সট্রিমার একই চিহ্ন থাকে এবং উভয় এক্সট্রিমায় কোনও বিরতি থাকে না, তখন আমি স্ট্যাক থেকে অন্তর সরিয়ে ফেলি। যখন আরও বিরতি নেই তখন অ্যালগরিদম শেষ হয়।


2
বিরতি গাণিতিক উপর ভিত্তি করে পদ্ধতি আছে।
lhf

উত্তর:


6

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

Chebfun রুট-সন্ধানকারীর পিছনে মূল ধারণা রিকার্সিভ দ্বিখণ্ডন ও সহকর্মী ম্যাট্রিক্স, একটি অ্যানালগ সংমিশ্রণ ব্যবহার হয় কম্প্যানিয়ন ম্যাট্রিক্স , লক্ষ্য ফাংশনের একটি interpolant এর কোফিসিয়েন্টস উপর।

আমি কোড একটি সরলীকৃত সংস্করণ আছে এখানে । ফাংশনটি chebrootsতার প্রথম ইনপুট, দ্বিতীয় এবং তৃতীয় আর্গুমেন্ট হিসাবে সসীম বিরতি এবং Nচতুর্থ এবং চূড়ান্ত যুক্তি হিসাবে একটি ডিগ্রী হিসাবে একটি বেনামি ফাংশন গ্রহণ করে । যুক্তিসঙ্গত ফলাফলের জন্য, আপনি সেট করতে পারেন Nথেকে 100


0

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

ফাংশন y = f (x)

Y = 1.0;

যদি (x == 0.01)

Y = 0.0;

শেষ

যদি (x == 0.013)

Y = 0.0;

শেষ

যদি (x == 0.753124)

Y = 0.0;

শেষ

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


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

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

বিশেষত, ফাংশনটি বিবেচনা করুন পাপ(1/এক্স) উদাহরণ হিসাবে যেখানে বিরতিতে সমস্ত শূন্য খুঁজে পাওয়া যায় [0,1]কঠিন হবে।
ওল্ফগ্যাং ব্যাঞ্জার্থ

ওপি একটি নির্দিষ্ট করতে ইচ্ছুক ছিল ε। যদি ফাংশনটি প্যাথলজিকাল হয় তবে এটি অনেকগুলি শূন্য খুঁজে পাবেন তবে মনে হয় এটি জীবন। এটা সম্ভব যে এ জাতীয় প্যাথলজগুলি এড়াতে তাকে অনুসন্ধানের জন্য সর্বাধিক সংখ্যক ব্যবধানও নির্ধারণ করতে হতে পারে।
বিল বার্থ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.