দ্রুত এবং পিছনের স্থির (বাম)


10

আমার প্রচুর গণনা করা দরকার 3×3 ম্যাট্রিক্স বিপরীতমুখী (নিউটনের পুনরাবৃত্ত মেরু পচনের জন্য), খুব অল্প সংখ্যক অবক্ষয়ের ক্ষেত্রে (<0.1%)।

সুস্পষ্ট বিপরীত (ম্যাট্রিক্স অপ্রাপ্তবয়স্কদের মাধ্যমে নির্ধারক দ্বারা বিভক্ত) কাজ করছে বলে মনে হয় এবং এটি প্রায় 32 ~ 40 40 টি ফিউজড ফ্লপ (আমি কীভাবে নির্ধারকের পারস্পরিক গণনা গণনা করি তার উপর নির্ভর করে)। ডিট স্কেল ফ্যাক্টরটি বিবেচনা না করে, এটি কেবল 18 টি ফিউজড ফ্লপ (9 টি উপাদানের প্রত্যেকটিই ফর্মের ab-cd, 2 টি ফিউজড ফ্লপ)।

প্রশ্ন:

  • বিপরীতে গণনা করার উপায় আছে কি? 3×3 18 টিরও কম (স্বেচ্ছাচারী স্কেল সহ) বা 32 (সঠিক স্কেল সহ, পারস্পরিক 1 বিকল্প বিবেচনা করে) ফিউজড ফ্লপ ব্যবহার করছেন?
  • এর পিছনের দিকে স্থিতিশীল বাম উল্টোটি গণনা করার জন্য কি কোনও অর্থনৈতিক উপায় আছে ((50 এফ-ফ্লপ ব্যবহার করে) 3×3 ম্যাট্রিক্স?

আমি একক-নির্ভুলতা ভাসমান (আইওএস গেম) ব্যবহার করছি। পিছনের স্থিতিশীলতা আমার জন্য আকর্ষণীয় নতুন ধারণা এবং আমি পরীক্ষা করতে চাই। এই নিবন্ধটি যা চিন্তাকে উস্কে দিয়েছে' s


উল্টাপাল্টির জন্য কেলে-হ্যামিল্টন উপপাদকটি ব্যবহার সম্পর্কে কী?
নিকোগুয়ারো

1
এটি যদি আপনার জন্য এই জাতীয় বাধা হয়ে থাকে, তবে মেরু ক্ষয়ের জন্য অন্য কোনও অ্যালগরিদম এই ক্ষেত্রে দ্রুত হতে পারে? উদাহরণস্বরূপ, এসভিডি এর মাধ্যমে? অথবা নিউটনের পদ্ধতিটি 3.3 ই- প্রিন্ট.ম.মান.এক.উক / 69৯ /0 / ০১ / সেকভারড / এমআইএমএস_েপ ২০০7_9.pdf এর মতোই ত্বরান্বিত করছে ?
কিরিল

উত্তর:


5

রোজার বিষয়ে প্রথম প্রশ্নে আমার চিন্তাভাবনা দেওয়ার চেষ্টা করব3×3বিপরীত । বিবেচনা

একজন=[একটিআমি]

যেহেতু ম্যাট্রিকগুলি ছোট এবং খুব সাধারণ (কোনও পরিচিত কাঠামো, জিরো, উপাদানগুলির আপেক্ষিক স্কেলগুলি উপস্থিত করে না), আমি মনে করি সালিসি স্কেলের জন্য একটি অ্যালগরিদম দেওয়া (ব্যতীত) 1/Det(একজন)) বিপরীত যা 18 টি ফিউজড ফ্লপের চেয়ে দ্রুততর হয়, কারণ 9 টি উপাদানের মধ্যে প্রতিটিের জন্য 2 টি ফিউজড ফ্লপ প্রয়োজন এবং সমস্ত পণ্য অনন্য, কোনও পূর্বের তথ্য সরবরাহ না করে একজনএর এন্ট্রি একটি,...,আমি

একজন-1Det(একজন)=বিশেষণ(একজন)=[আমি-আমি--আমি-একটিআমি-একটি--একটি-একটি-]
এখানে, বিশেষণ(একজন) অ্যাডুগেট (কোফ্যাক্টরগুলির ট্রান্সপোজ) বোঝায়, যা মূলত "স্বেচ্ছাচারী স্কেল" (বিপরীতে উপস্থিত থাকলে) এর সাথে একটি বিপরীত।

তবে কিছু গণনা আবার গণনার জন্য পুনরায় ব্যবহার করা যেতে পারে Det(একজন)। যদি আমি এটি প্রথম কলামে প্রসারিত করি (আরও 5 টি পছন্দ আছে):

det(A)=a(eifh)+b(fgdi)+c(dhge)=a(eifh)b(difg)c(gedh)
লক্ষ্য করুন, এর (*) ইতিমধ্যে মূল্যায়নের সময় গণনা করা হয়েছে adj(A)। সুতরাং, নির্ধারকটির পারস্পরিক ক্রিয়াকলাপ 4 টি অতিরিক্ত ফিউজড ফ্লপগুলিতে গণনা করা যায় (যদি1/det(A) পরস্পরকে 1 ফ্লপ হিসাবে বিবেচনা করা হয়)।

এখন, প্রতিটি 9 উপাদান adj(A) ইতিমধ্যে নির্ধারকটির পারস্পরিক ক্রিয়াকলাপ দ্বারা আরও 9 টি ফিউজড ফ্লপ যুক্ত করে স্কেল করা উচিত।

সুতরাং,

  1. হিসাব adj(A) 18 টি ফিউজড ফ্লপগুলিতে
  2. হিসাব det(A) ইতিমধ্যে গণনা করা এন্ট্রি ব্যবহার করে 3 টি ফিউজড ফ্লপ adj(A)
  3. অনুসন্ধান 1det(A) (ধরে নিচ্ছেন 1 ফ্লপ)।
  4. ইতিমধ্যে গণিত প্রতিটি এলিমেট স্কেল adj(A) দ্বারা 1det(A) আরও 9 টি ফিউজড ফ্লপে।

18 + 3 + 1 + 9 = 31 ফিউজড ফ্লপগুলিতে ফলাফল । আপনি নির্ধারকটি গণনার আপনার উপায়টি বর্ণনা করেন নি, তবে আমার ধারণা 1 অতিরিক্ত ফ্লপ সংরক্ষণ করা যায়। বা এটি চেক সম্পাদন করতে ব্যবহার করা যেতে পারে|det(A)|>ϵ পদক্ষেপ 3, যেখানে ϵঅবক্ষয়জনিত (আবর্তনযোগ্য নয়) ক্ষেত্রে সহনশীলতা হ'ল ফলস্বরূপ 32 টি ফিউজড ফ্লপ হয় (ধরে নেওয়া ifহয় 1 ফ্লপ হয়)।

আমি মনে করি না একটি এর বিপরীতমুখীকরণের আরও দ্রুত উপায় আছে 3×3সাধারণ ম্যাট্রিক্স হিসাবে সমস্ত অবশিষ্ট গণনা অনন্য। কেলে-হ্যামিল্টন ব্যবহারের গতি দৃষ্টিকোণ থেকে সহায়তা করা উচিত নয়, সাধারণ হিসাবে এটির গণনার প্রয়োজন হবেA2 একটি জন্য 3×3 কিছু অন্যান্য অপারেশন ছাড়াও ম্যাট্রিক্স।

বিশেষ দ্রষ্টব্য:

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