গণনা ম্যাট্রিক্স শক্তির জটিলতা


14

আমি গণক আগ্রহী 'একটি তম ক্ষমতা এন × এন ম্যাট্রিক্স একটি । মনে করুন আমাদের কাছে ম্যাট্রিক্স গুণনের জন্য একটি অ্যালগরিদম রয়েছে যা হে ( এম ( এন ) ) সময়ে চলে। তারপর, সহজেই নিরূপণ করতে পারেন একটি এন মধ্যে হে ( এম ( এন ) লগ ( এন ) ) সময়। কম সময়ের জটিলতায় কী এই সমস্যা সমাধান করা সম্ভব?nn×nAO(M(n))AnO(M(n)log(n))

ম্যাট্রিক্স এন্ট্রিগুলি, সাধারণভাবে, একটি সেমিরিং থেকে আসতে পারে তবে এটি যদি সহায়তা করে তবে আপনি অতিরিক্ত কাঠামো ধরে নিতে পারেন।

নোট: আমি বুঝতে পারি যে সাধারণ কম্পিউটিং মধ্যে মধ্যে ( এম ( এন ) লগ ( মি ) ) সময় দিতে হবে ( লগ মি ) exponentiation জন্য অ্যালগরিদম। তবে, বেশ কয়েকটি আকর্ষণীয় সমস্যাগুলি ম্যাট্রিক্স এক্সপেনসিয়েশনের বিশেষ ক্ষেত্রে হ্রাস পায় যেখানে এম = ( এন ) , এবং আমি এই সহজ সমস্যাটি সম্পর্কে একই প্রমাণ করতে সক্ষম হইনি।Amo(M(n)log(m))o(logm)O(n)


ম্যাট্রিক্স এর এন্ট্রি কি? পূর্ণসংখ্যার?
কাভেঃ

1
এন্ট্রিগুলি, সাধারণভাবে, একটি সেমিরিং থেকে আসতে পারে তবে এটি যদি সহায়তা করে তবে আপনি অতিরিক্ত কাঠামো ধরে নিতে পারেন।
শীতিকান্ত

আমি উপরের প্রস্তাবিত পদ্ধতি থেকে (যেমন ) গুণমান থেকে স্কোয়ারিংয়ে হ্রাস পেতে পারি না । তবে, ( 0 বি 0 ) 2 টি কাজ করে। যাইহোক, এটি কেবল A n গণনা করার ক্ষেত্রে একটি Ω ( M ( n ) ) দেয় । (A±B)2(0AB0)2Ω(M(n))An
শীতিকান্ত

উত্তর:


11

ম্যাট্রিক্স করা হয়, তাহলে diagonalizable তারপর গ্রহণ ম ক্ষমতা সময় করা যাবে হে ( ডি ( এন ) + + N লগ ইন করুন এন ) যেখানে ডি ( এন ) diagonalize করার সময় একটিn

O(D(n)+nlogn)
D(n)A

কেবল বিশদটি সম্পূর্ণ করতে, যদি একটি তির্যক ডি সহ , তবে একটি এন = ( পি - 1 ডি পি ) এন = পি - 1 ডি এন পিA=P1DPD

An=(P1DP)n=P1DnP

DnAn


6
এমনকি ম্যাট্রিক্সটি তির্যক আকার ধারণ করার পরেও, আইজেন্ডেকম্পোজিশনের জন্য সর্বাধিক পরিচিত অ্যালগরিদমগুলি নেবেO(n3)O(n2.3727log(m))Am

1
(1) আপনি যে সময় বেঁধে দিয়েছেন তা কপারস্মিথ-উইনোগ্রাড দ্বারা নয় (যেমন আপনি সম্ভবত জানেন)। (২) এই ফর্মের সমস্ত অ্যালগোরিদম কেবল রিংয়ের জন্য কাজ করে; তারা সাধারণ সেমিরিংয়ের জন্য কাজ করে না (যেমন আপনি আপনার প্রশ্নে অনুমতি দেন)।
রায়ান উইলিয়ামস

5

n×nAA=UΣUTΣO(n3)Am=UΣmUTO(nlogm)U×Σm×UTO(n2.3727)O(n3+nlogm)

O(n2.3727+nlogm)o(M(n)log(m))o(logn)


Since Coppersmith–Winograd algorithm finds the product of two matrices in O(n2.3727) সময়, আমরা ইতিমধ্যে একটি আছে O(এন2,3727লগ(মি)) কম্পিউটিংয়ের জন্য অ্যালগরিদম একজনমি. I am interested in knowing if this can be improved upon without requiring a better matrix multiplication algorithm, especially for m=O(n).
Shitikanth

1
the SVD doesn't give A=UΣU in general - the right hand side matrix is VU
Suresh

1
It's a bit misleading to have n for the power as well, so I'll use m. If n=1 it should take O(M(1)logm time to find Am, which is equivalent to multiplying integers
PKG

2
@Shitikanth see ccrwest.org/gordon/jalg.pdf for a survey of fast-exponentiation algorithms. In general, it's not possible to use fewer than logm multiplications.
Joe

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