নিউটনের পদ্ধতির অন্যতম সমস্যা হ'ল এটির প্রতিটি পুনরাবৃত্তিতে একটি বিভাগ অপারেশন প্রয়োজন যা ধীরতম বেসিক সংখ্যার অপারেশন।
পারস্পরিক বর্গমূলের জন্য নিউটনের পদ্ধতিটি অবশ্য তা নয়। যদিx আপনি যে নম্বরটি খুঁজতে চান তা হ'ল 1x√, পুনরাবৃত্তি:
ri+1=12ri(3−xr2i)
এটি প্রায়শই প্রকাশ করা হয়:
wi=r2i
di=1−wix
ri+1=ri+ridi2
এটি তিনটি গুণনের কাজ। দুটি দ্বারা বিভাজনটি শিফট-রাইট হিসাবে প্রয়োগ করা যেতে পারে।
এখন সমস্যা হচ্ছে rকোনও পূর্ণসংখ্যা নয়। যাইহোক, আপনি এটিকে হ'ল ফ্লোটিং-পয়েন্টটি ম্যানুয়ালি প্রয়োগ করে এবং যখন উপযুক্ত হবে তখন ক্ষতিপূরণ দেওয়ার জন্য একগুচ্ছ শিফট অপারেশন করে এটি পরিচালনা করতে পারেন।
প্রথমে, পুনরুদ্ধার করা যাক x:
x′=2−2ex
যেখানে আমরা চাই x′ থেকে বড় হতে হবে, কিন্তু কাছাকাছি, 1। যদি আমরা উপরের অ্যালগরিদমটি চালিয়ে যাইx′ পরিবর্তে x, আমরা খুঁজি r=1x√′। তারপর,x−−√=2erx′।
এখন বিভক্ত করা যাক r একটি ম্যান্টিসা এবং সূচক:
ri=2−eir′i
কোথায় r′iএকটি পূর্ণসংখ্যা intuitively,ei উত্তরের যথার্থতা উপস্থাপন করুন।
আমরা জানি যে নিউটনের পদ্ধতিটি সঠিক তাৎপর্যপূর্ণ অঙ্কের সংখ্যা দ্বিগুণ করে। সুতরাং আমরা চয়ন করতে পারেন:
ei+1=2ei
একটু হেরফের দিয়ে আমরা পাই:
ei+1=2ei
wi=r′i2
x′i=x22e−ei+1
di=2ei+1−w′ix′i2ei+1
r′i+1=2eir′i−r′idi2ei+1
প্রতিটি পুনরাবৃত্তিতে:
x−−√≈r′ix2e+ei
উদাহরণ হিসাবে, আসুন এর বর্গমূল গণনা করার চেষ্টা করি x=263। আমরা উত্তরটি জানতে পারি যে2312–√। পারস্পরিক বর্গমূল হয়12√2−31, তাই আমরা সেট করব e=31 (এটি সমস্যার স্কেল) এবং আমাদের প্রাথমিক অনুমানের জন্য আমরা বাছাই করব r′0=3 এবং e0=2। (এটি, আমরা বাছাই34 আমাদের প্রাথমিক অনুমানের জন্য 12√।)
তারপর:
e1=4,r′1=11
e2=8,r′2=180
e3=16,r′3=46338
e4=32,r′4=3037000481
তুলনা করে পুনরাবৃত্তি থামাতে কখন আমরা কাজ করতে পারি ei প্রতি e; যদি আমি সঠিকভাবে গণনা করি,ei>2eযথেষ্ট ভাল হওয়া উচিত। যদিও আমরা এখানে থামব এবং খুঁজে পাব:
263−−−√≈3037000481×263231+32=3037000481
সঠিক পূর্ণসংখ্যার বর্গমূল হল 3037000499, তাই আমরা খুব কাছাকাছি। আমরা অন্য পুনরাবৃত্তি করতে পারি, বা একটি অনুকূলিত চূড়ান্ত পুনরাবৃত্তি করতে পারি যা দ্বিগুণ হয় নাei। বিশদটি অনুশীলন হিসাবে রেখে গেছে।
এই পদ্ধতির জটিলতা বিশ্লেষণ করতে, নোট করুন যে দুটি গুণ করে bবিট পূর্ণসংখ্যার লাগে O(blogb)অপারেশন। যাইহোক, আমরা জিনিস যাতে সাজানো হয়েছেr′i<2ei। সুতরাং গণনা করার গুণwi দুই গুণ eiবিট সংখ্যা একটি উত্পাদন ei+1-বিট সংখ্যা এবং অন্যান্য দুটি গুণ দুটিকে গুণ করে ei+1বিট সংখ্যা একটি উত্পাদন 2ei+1বিট নম্বর।
প্রতিটি ক্ষেত্রে, পুনরাবৃত্তির জন্য অপারেশনগুলির সংখ্যা O(eilogei), এবং সেখানে O(loge)পুনরাবৃত্তি প্রয়োজন। এর চূড়ান্ত গুণটি orderO(2elog2e)অপারেশন। সামগ্রিক জটিলতা হয়O(elog2e) ক্রিয়াকলাপ, যা বিটের সংখ্যায় উপ-চতুর্ভুজ x। যা সব বাক্সে টিক দেয়।
যাইহোক, এই বিশ্লেষণটি একটি গুরুত্বপূর্ণ নীতিটি গোপন করে যা বৃহত পূর্ণসংখ্যার সাথে কাজ করে প্রত্যেকের মনে রাখা উচিত: যেহেতু গুণগুলি বিটের সংখ্যায় সুপারলাইনার হয়, যে কোনও গুণগুলি কেবলমাত্র পূর্ণসংখ্যার উপরই সঞ্চালিত হওয়া উচিত যার বর্তমান সর্বাধিক পরিমাণের দৈর্ঘ্য প্রায় (এবং , আমি যুক্ত করতে পারি, আপনার সংখ্যাগুলি একসাথে গুন করার চেষ্টা করা উচিত যার আকারের সাথে একই ক্রম রয়েছে)। এর চেয়ে বড় পূর্ণসংখ্যা ব্যবহার করা হ'ল প্রচেষ্টার অপচয়। ধ্রুবক ফ্যাক্টরগুলি গুরুত্বপূর্ণ এবং বৃহত্তর পূর্ণসংখ্যার জন্য এগুলি অনেক গুরুত্বপূর্ণ।
চূড়ান্ত পর্যবেক্ষণ হিসাবে, গুণগুলির মধ্যে দুটি ফর্মের ab2c। স্পষ্টতই এটির সমস্ত বিট গণনা করা অপব্যয়ab শুধু নিক্ষেপ করা cতাদের মধ্যে একটি ডান শিফট সঙ্গে দূরে। একটি স্মার্ট গুণ গুণ পদ্ধতি যা এটি বিবেচনায় নিয়েছে তা প্রয়োগ করাও অনুশীলন হিসাবে বাকী রয়েছে।