জেনারেলাইজড ভ্যান্ডারমনডে ম্যাট্রিক্স নির্ধারণকারী


10

মুর ম্যাট্রিক্স ভ্যান্ডারমনডে ম্যাট্রিক্সের অনুরূপ তবে কিছুটা সংশোধিত সংজ্ঞা রয়েছে। http://en.wikipedia.org/wiki/Moore_matrix

প্রদত্ত পূর্ণমানের মুর ম্যাট্রিক্স মডুলোর কিছু পূর্ণসংখ্যার নির্ধারণকারীকে গণনা করার জটিলতা কী ?n×n

some এর জন্য কিছু (for এফএফটি কৌশল ব্যবহার করে থেকে মুর নির্ধারককে হ্রাস করা যেতে পারে? ?O(n3)O(nlogan)aR+{0}

মুর ডিট মডুলোর জটিলতা কি একটি পূর্ণসংখ্যা এবং ভ্যান্ডারমনডে একই রকম? ভ্যান্ডারমনডে নির্ধারকটির জটিলতা হ'ল (থিওরিটিকাল কম্পিউটার সায়েন্সের হ্যান্ডবুকের পৃষ্ঠা 644: জ্যান লিউউইনের লিখেছেন অ্যালগরিদম এবং জটিলতা)O(nlog2n)

বর্তমানের মতো পোস্ট করুন: নির্ধারিত মডুলো মি


মুর নির্ধারকটিকে কি হে (এন ^ 3) সময়ে (একটি পূর্ণসংখ্যার র‌্যামে) গণনা করা যেতে পারে?
জেফি

1
@ Jɛ FF ই তাই আমি এই মডিউল র্যান্ডম উল্লিখিত । NN
টি ....

যাইহোক, এবং আমি কেবল কৌতূহলী, এমন কোনও অ্যাপ্লিকেশন রয়েছে যা এই জাতীয় "সুপারফাস্ট" অ্যালগরিদমের উপকার করবে?
জুয়ান বার্মেজো ভেগা

@J ffE, আপনি কি জানেন যদি কম্পিউটিং উপর একটি ডবল মডুলার exponentiation ঘটতে না তুচ্ছ জন্য BPP হয় । কারণ এটি ম্যাট্রিক্সের সহগগুলি গণনা করতে সমস্যা। এন এনεNN
জুয়ান বার্মেজো ভেগা

উত্তর:


4

সাধারণভাবে, কপারস্মিথ – উইনোগ্রাড অ্যালগরিদম ব্যবহার করে একটি স্বেচ্ছাসেবীর ম্যাট্রিক্সের LU পচন সনাক্ত করার জন্য একটি তাত্ত্বিক সময় অ্যালগরিদম রয়েছে , যা স্পষ্টতই নির্ধারক ( সময় যোগ করে ফলন করে । তবে একটি সমস্যা আছে যে কপারসমিথ - উইনোগ্রাড অ্যালগরিদম অনুশীলনে ব্যবহারযোগ্য হিসাবে বিবেচিত হয় না। আফাইক, লোকেরা বেশিরভাগ ক্ষেত্রে সময় অ্যালগরিদম ব্যবহার করে। ইউবিএলএএস এর লু_ফ্যাক্টরাইজটি এটি ব্যবহার করে না?( এন ) ( এন 2.807 )O(n2.376)O(n)O(n2.807)

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


হাই জেফ: আপনি ও (n ^ 2) সূত্রের জন্য কোন রেফারেন্সিং করছেন। আমি মনে করি ভ্যান্ডারমনড ডিটি ও (নলগন) এ গণনা করা যেতে পারে তবে আমি উল্লেখ খুঁজে পাচ্ছি না। সুতরাং মুর ডিও কি ও (নলগন) এ থাকা উচিত?
টি ....

হ্যাঁ, আমার ও (এন) স্পষ্টতই বলা উচিত, বড় এন এর জন্য সত্যই হে (এন লগ এন)।
জেফ বার্ডেজস

হাই জেফ: আপনার কি রেফারেন্স আছে?
টি ....

7
@ জেফবার্ডেজস: চলমান সময়টি যদি ও (এন লগ এন) "বড় এন" এর জন্য হয়, তবে সংজ্ঞা অনুসারে চলমান সময়টি ও (এন লগ এন), ও (এন) নয়।
জেফি

আমি উইকিপিডিয়া দ্বারা রেফারেন্সযুক্ত একটি সূত্র দেখতে পাচ্ছি না । এটি দেখতে । Θ ( এন 2 )O(n)Θ(n2)
পিটার টেলর

3

এটি গুরুত্বপূর্ণ যে আপনি যে সংজ্ঞাটি সরবরাহ করেছেন তাতে ম্যাট্রিক্স একটি সীমাবদ্ধ ক্ষেত্রের মধ্যে থাকে say যেখানে প্রাইম say এটি আপনাকে সময় -এর ম্যাট্রিক্সে উপস্থিত ডাবল-এক্সপেনসিয়েন্টাল গণনা করতে ইউলারের উপপাদ্যটি ব্যবহার করতে দেয় । অন্যথায়, গুণিতক ছাড়াই ম্যাট্রিক্স সহগের গুণন করা শক্ত মনে হয় । মিZmmaqemodmO(log(mn)M(logm))

aqiaqi(modφ(m))(modm)
m

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

মুর বনাম ভ্যান্ডারমনডে আপনি একটি ধীরগতি পেয়েছেন যেহেতু আপনাকে অবশ্যই ম্যাট্রিক্সের সহগের দ্বিগুণ করতে হবে। আপনি যখন ফ্যাক্টরিস করতে পারেন এই ধীর-ডাউনটি কেবলমাত্র উপর পলিয়েগারিথমিক । যদি তা না হয় তবে উপস্থাপন করা অ্যালগরিদম আপনাকে ডাবল-মডুলার- একটি কুক হ্রাস দেয় ।mmZm

দ্রষ্টব্য *: পূর্ণসংখ্যার গুণনের জন্য দ্রুত অ্যালগরিদম আপনাকে দিয়ে প্রতিস্থাপন করতে দেয় ।log2mM(logmloglogm)


আপডেট : অর্জনের সম্ভাবনার উপর ।O(nlogan)

এর জন্য আমার কাছে কোনও নির্দিষ্ট উত্তর নেই তবে আমি এমন কিছু তথ্য পেয়েছি যা আপনার অনুসন্ধানকে আরও শক্ত করতে পারে।

কাঠামোগত ম্যাট্রিক্সের জন্য অ্যালগরিদমগুলি যা সময় নির্ধারকগুলির মতো পরিমাণের গণনা করে হিসাবে তাকে সাহিত্যে "সুপারফাস্ট" বলা হয়। স্ট্রাকচার্ড ম্যাট্রিক্সের জন্য পরিচিত সমস্ত "সুপারফাস্ট" অ্যালগরিদমগুলি (ভ্যান্ডারমনডে, টোপলিটজ, হ্যাঙ্কেল) এই ম্যাট্রিকগুলির একটি সাধারণ সম্পত্তিকে "" ডিসপ্লেসমেন্ট র‌্যাঙ্ক "হিসাবে পরিচিত বলে মনে করছেন। এই বইয়ের প্রথম অধ্যায়ে (উন্মুক্ত অ্যাক্সেস পৃষ্ঠাগুলি), বা এই নিবন্ধে [এসিএম] , [পিডিএফ] আলোচনা আলোচনা করুন ।O(nlogan)

আমি যা পড়েছি তা থেকে মুর ম্যাট্রিক্স , আপনি যদি ম্যাট্রিক্স , করতে সক্ষম হন তবে নতুন ম্যাট্রিক্স (অথবা বিকল্পভাবে ) নিম্নলিখিত কাঠামো আছেm×nMABL(M)=AMMBL(M)=MAMB

L(M)=k=1rgkhkT

, এবং র‌্যাঙ্ক ছোট (হয় ধ্রুবক বা দ্বারা আবদ্ধ ), তবে আপনি বিদ্যমান কৌশলগুলি প্রয়োগ করতে পারেন (বইয়ের অধ্যায় 5 দেখুন, ওপেন- পৃষ্ঠাগুলি অ্যাক্সেস করুন ত্রিভুজাকারী এবং সুতরাং, ব্যবহার করে গণনা করুন । উপরে, , ভেক্টরকে বোঝায়। পুরো জিনিসটি পড়তে যদি আপনি উপরের বইটি খুঁজে না পান তবে এই নিবন্ধটিতে এই পদ্ধতিগুলি সম্পর্কে প্রচুর তথ্য রয়েছে।r>0o(min{m,n})MdetMO(nlog2n)gkhk

দুর্ভাগ্যক্রমে, আমি মুর ম্যাট্রিক্স (ভ্যান্ডারমনডে আছে) এর জন্য নিম্ন-স্থানচ্যুতি-র‌্যাঙ্কের কাঠামোটি খুঁজে পাচ্ছি না। এখানে মূল জটিলতা ডাবল তদন্তের "অ-রৈখিক" প্রকৃতি থেকে উদ্ভূত বলে মনে হচ্ছে। যদি এটি সহায়তা করে তবে বইটিতে ভ্যান্ডারমনডে, কচি, টোপলিটজ, হ্যাঙ্কেলের জন্য কাজগুলি করা হয়েছে।


আমি আমার ম্যাট্রিক্সকে চরের ক্ষেত্রে লাইভ করতে পারি । তবে, আমার উদ্দেশ্যযুক্ত অ্যাপ্লিকেশনটির বর্ণমালার আকার বড় হবে। সুতরাং কিছু বড় পর্যাপ্ত জন্য ফর্ম । 3m3kk
টি ....

এটি ঠিক আছে, যেহেতু আপনি :) এর সামগ্রিক ফাংশনটি গণনা করতে পারেন :)3k
জুয়ান বার্মেজো ভেগা

ভাল যে জটিলতা সরল করে না, আমি বলব যেহেতু ক্ষেত্রটি খুব বড়।
টি ....

এটি দ্বিগুণ-ক্ষতির সাথে আমি যে সমস্যার কথা উল্লেখ করেছি তা সরল করে। যেহেতু , আপনি দ্বিগুণ করতে ইউরারের উপপাদ ব্যবহার করতে পারেন : প্রথম, গণনা , তারপরে । আপনি সময়মতো এটি করতে পারেন । স্কুল-গুণিত অ্যালগরিদম, এবং আপনি চূড়ান্ত "নেট" লাভ করতে পারেন যা দক্ষ। φ(3k)=3k3k1aqimodmb=qimodφ(3k)abmod3kO(log(n3k)M(klog3))M(n)=n2O(nωk2log23(logn+klog3))
হুয়ান বার্মেজো ভেগা

আমরা প্রতিস্থাপন করতে পারেন দ্বারা ? এটি আমি কৌতূহলযুক্ত ব্যয় সাশ্রয় করা (ম্যাট্রিক্স কাঠামো থেকে সম্ভবত হতে পারে)। সঙ্গে , আমি আমার উদ্দেশ্যে কিছু লাভ হবে না। ω1+ϵω2
টি ....
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.