ভাসমান-পয়েন্ট ফাংশনগুলির সূক্ষ্ম নির্ভুলতা


9

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

আরেকটি প্রোগ্রামার উল্লেখ করেছিলেন যে, তন্ন তন্ন math.erfc()না scipy.stats.norm.cdf()তাদের ডকুমেন্টেশন কোনো স্পষ্টতা নিশ্চয়তা প্রদান করে। সুতরাং, আমার একটি আনুমানিক অ্যালগরিদম প্রতিস্থাপন সম্পর্কে আরও সতর্ক হওয়া উচিত (যা সম্মানিত উত্স থেকে নেওয়া হয়েছিল , এবং এতে ত্রুটির সীমা নথিভুক্ত ছিল )।

সত্যি কথা বলতে কি, অন্তর্নির্মিত বা লাইব্রেরি ফাংশনের যথার্থতা এবং যথার্থতার বিষয়ে সন্দেহ করার চিন্তা আমার মনকে কখনই অতিক্রম করতে পারেনি। সব পরে, আমি মতো কাজগুলির কলিং চলেছি sin()এবং sqrt()অনেক চিন্তা ছাড়া বছরের পর বছর ধরে - কেন math.erf()বা scipy.stats.norm.cdf()কোন আলাদা হতে?

তবে এখন আমি উদ্বিগ্ন। আমার প্রশ্নগুলি হ'ল:

  1. সাধারণভাবে, যদি ডকুমেন্টেশনের কোনও বিশেষ উল্লেখ না করা থাকে, তবে এটি কি বোঝানো হয়েছে যে আইআইইই ডাবল-স্পষ্টতা ভাসমান-বিন্দু দ্বারা প্রদত্ত নির্ভুলতার মধ্যে এই ধরণের ফাংশনগুলি শেষ দশমিক স্থানে সম্পূর্ণ নির্ভুল?
  2. বিশেষত পাইথনের math.erf()বা সাইপাইয়ের ক্ষেত্রে কি এটি সত্য scipy.stats.norm.cdf()? আপনি কিভাবে বলতে পারেন?
  3. এই ম্যান পেজটিsin() বলে ...

    এই যুক্তিগুলি নির্ভুলতা হারাতে পারে যখন তাদের যুক্তি পাইয়ের একাধিকের নিকটে বা 0.0 থেকে দূরে থাকে।

    যখন সাইন ফাংশন পর্যায়ক্রমিক এবং প্রতিসম হয় তখন কেন এই জাতীয় সতর্কতাগুলির অস্তিত্ব থাকা উচিত? কলকারীর পক্ষে অনুকূল নির্ভুলতা অর্জনের জন্য ইনপুটটিকে প্রমিত করতে একটি বোঝা রয়েছে বলে মনে হচ্ছে।

    অন্যদিকে, মোজিলার ডকুমেন্টেশনের জন্য Math.sin()নির্ভুলতা বা নির্ভুলতা সম্পর্কে কিছুই বলা যায় না। এর অর্থ কি এটি সম্পূর্ণ নির্ভুল, বা এটি "সাধারণ জ্ঞান" যা Math.sin()জাভাস্ক্রিপ্টের নির্দিষ্ট পরিস্থিতিতে যেমন অন্য কোথাও যথাযথ হতে পারে?


1
প্রশ্ন 1 সম্পর্কিত এফওয়াইআই: সাধারণত ইউএলপি (শেষ স্থানে ইউনিট) এর শর্তে যথাযথ গ্যারান্টি দেওয়া হয় যা ফ্লোটের বাইনারি অঙ্কগুলি বোঝায় ।

উত্তর:


10

ডকুমেন্টেশনটি যদি কোনও বিশেষ উল্লেখ না করে, তবে এটি কি বোঝানো হয়েছে যে আইআইইই ডাবল-স্পষ্টতা ভাসমান-বিন্দু দ্বারা প্রদত্ত নির্ভুলতার মধ্যে এই ধরণের ফাংশনগুলি শেষ দশমিক স্থানে সম্পূর্ণ নির্ভুল?

আমি এই অনুমান করব না।

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

কলকারীর পক্ষে অনুকূল নির্ভুলতা অর্জনের জন্য ইনপুটটিকে প্রমিত করতে একটি বোঝা রয়েছে বলে মনে হচ্ছে।

এটি একটি ন্যায্য মূল্যায়ন। কী এটিকে গ্রহণযোগ্য করে তোলে তা হ'ল ডকুমেন্টেশনটি বলে যে কোনও বিস্ময় নেই।

অন্যদিকে, মজিলার ডকুমেন্টেশন ...

আমি আপনাকে প্রতিটি লাইব্রেরি বা প্রোগ্রামিং ভাষায় (বিশেষত সীমানা অঞ্চলের sin()কাছাকাছি যেমন একাধিকের কাছাকাছি pi) কয়েকটি গণনা চেষ্টা করে দেখতে এবং তাদের সাথে তুলনা করার পরামর্শ দিই । এটির প্রত্যেকটির কাছ থেকে আপনি কী ধরনের আচরণের আশা করতে পারেন তার একটি ন্যায্য ধারণা দেওয়া উচিত should


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