কম্পিউটিং এর উন্নত উপায় আছে ?


11

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

কিছু ফাংশনের জন্য, সংখ্যাগতভাবে আরও স্থিতিশীল বৈকল্পিক রয়েছে। উদাহরণস্বরূপ, ফরট্রান, আর, জাভা এবং সি উভয়ই Math.log1pকম্পিউটারের জন্য রয়েছে log(1.0+x)(যা এক্স এর ছোট মানগুলির জন্য উচ্চতর নির্ভুলতা সরবরাহ করে), এবং প্রতিচ্ছবি expm1। এখানে সংখ্যার সমস্যাগুলি যথাযথ ক্ষতিতে দেখা দেয় - যদি xসত্যিই ছোট 1.0 + xহয় তবে শুরুতে 1 টি সংরক্ষণ করার জন্য অঙ্কগুলি হারাতে থাকে ।

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

আরেকটি উদাহরণ, আর এ, অস্তিত্ব আছে log1mexpজন্য log(1 - exp(p)): http://cran.r-project.org/web/packages/Rmpfr/vignettes/log1mexp-note.pdf

আমি এন্ট্রপি এবং তথ্য তাত্ত্বিক ব্যবস্থা নিয়ে ঘুরে বেড়াচ্ছি। একটি খুব সাধারণ শব্দ হয়

p * -log(p)

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

আমি কোনও সুস্পষ্ট কারণ দেখছি না যা নির্ভুলভাবে ক্ষতি হতে পারে। সুতরাং আমি বেশিরভাগ আগ্রহী যদি এই গণনার গতি বাড়ানোর জন্য কোনও ভাল কৌশল থাকে। এটি এমনকি আমাকে p=0কোণার কেসের চিকিত্সা থেকে বাঁচায় (যা সংবেদনশীলভাবে রয়েছে 0যদিও log(0)এটি বিদ্যমান নেই) বা আমাকে বিনামূল্যে বেস 2 প্রদান করে (যদিও ধ্রুবক সহ একটি একক গুণ হ'ল খুনি ব্যয়বহুল নয়)। ধন্যবাদ।


1
m10308pM10308|logp|700plogpp=0

আর একটি log2ফাংশন নিয়ে আসে যা আপনার ওএসের উপর নির্ভর করে চারপাশে একটি সহজ মোড়ক দেওয়া log/log(2)বা C99 একটি log2ফাংশন যুক্ত করেছে তা ব্যবহার করতে পারে ।
বেনামী

উত্তর:


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