কীভাবে হাত দিয়ে এফএফটি করবেন তা দেখান


27

বলুন আপনার কাছে দুটি বহুপদী রয়েছে: এবং ।3+x2x2+2

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

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


2
উইকিপিডিয়া এফএফটি এর মাধ্যমে পূর্ণসংখ্যা-গুণনের জন্য এই দুর্দান্ত চিত্রটি রাখে , তবে আমি মনে করি যে আরও সুস্পষ্ট ধাপে ধাপে সহায়ক হতে পারে।
রিয়েলজ স্লাও

উত্তর:


27

ধরা যাক আমরা unityক্যের চতুর্থ শিকড় ব্যবহার করি যা জন্য প্রতিস্থাপনের সাথে মিলে যায় । আমরা এফএফটি অ্যালগরিদমে ডেসিমেশন-ইন-ফ্রিকোয়েন্সি না করে ডেসিমেশন-ইন-টাইম ব্যবহার করি। (আমরা বিরামবিহীনভাবে একটি বিট-রিভার্সাল অপারেশনও প্রয়োগ করি))1,i,1,ix

প্রথম বহুবর্ষের রূপান্তর গণনা করার জন্য, আমরা : লিখে শুরু ফুরিয়ার এমনকি কোফিসিয়েন্টস এর রুপান্তর হয় ও যা বিজোড় কোফিসিয়েন্টস এর হয় । (এই রূপান্তরটি কেবল ।) সুতরাং প্রথম বহুবর্ষের রূপান্তরটি এটি , । (টুইডল ফ্যাক্টর গণনা থেকে)।

3,1,0,0.
3,03,31,01,1a,ba+b,ab
4,3+i,2,3i.
X0,2=E0±O0X1,3=E1iO1

দ্বিতীয় বহুবর্ষের জন্য একই কাজ করা যাক। কোফিসিয়েন্টস হয় এমনকি কোফিসিয়েন্টস রুপান্তর ও যা বিজোড় কোফিসিয়েন্টস রুপান্তর । অতএব দ্বিতীয় বহুবর্ষের রূপান্তরটি

2,0,2,0.
2,24,00,00,0
4,0,4,0.

আমরা দুটি বহু ফুরিয়ার ট্রান্সফর্মকে পয়েন্টওয়াইজ: দিয়ে গুণফলের মাধ্যমে পণ্য বহুবর্ষের ফুরিয়ার ট্রান্সফর্মটি পাই the এটি বিপরীত ফুরিয়ার রূপান্তর গণনা করা অবশেষ। এমনকি সহগের বিপরীত রূপান্তর , এবং বিজোড় সহগ বিপরীত রূপান্তর রূপান্তর করে । (বিপরীত রূপান্তরটি হ'ল Therefore) সুতরাং পণ্যের বহুবর্ষের রূপান্তরটি এটি , । আমরা পছন্দসই উত্তর

16,0,8,0.
16,812,40,00,0x,y(x+y)/2,(xy)/2
6,2,6,2.
X0,2=(E0±O0)/2X1,3=(E1iO1)/2
(3+x)(2+2x2)=6+2x+6x2+2x3.


আপনি 6,2 6,2 এ কিভাবে পৌঁছেছেন?
Lars

আমি সূত্রগুলি দিয়েছি: , , যেখানে ( ) বিপরীত সূত্রের মাধ্যমে প্রাপ্ত, এমনকি (বিজোড়) সহগের রূপান্তর । দয়া করে উত্তরটি আবার দেখুন - সমস্ত গণনা আছে। এক্স 1 , 3 = ( 1আমি হে 1 ) / 2 0 , 1 হে 1 , হে 2 এক্স , Y ( এক্স + + Y ) / 2 , ( x - y ) / 2X0,2=(E0±O2)/2X1,3=(E1iO1)/2E0,E1O1,O2x,y(x+y)/2,(xy)/2
যুবাল ফিল্মাস

আপনি কেন দুইবার এমনকি গুণফল ব্যবহার করবেন? 3,3 -> 3,3,3,3। -> 3 + 1, 3-i, 3 + -1,3 - আমি?
অ্যাজেলে টর্লিফ

এবং for এর এই সূত্রগুলি কীভাবে উচ্চতর ডিগ্রি পর্যন্ত প্রসারিত করতে পারে? প্লাস / বিয়োগ চিহ্নগুলি কি কেবল উল্টে যেতে থাকে? উদাহরণস্বরূপ এটি জন্য কী হবে ? এক্স 1 , 3 এক্স 0 , 2 , 4X0,2X1,3X0,2,4
ববি লি

@ ববিলি আমি আপনাকে এফএফটি-তে কিছু সাহিত্য পড়তে উত্সাহিত করি।
যুবাল ফিল্মাস

7

বহুপদী সংজ্ঞা দিন, কোথায় deg(A) = qএবং deg(B) = p। দ deg(C) = q + p

এই ক্ষেত্রে deg(C) = 1 + 2 = 3,।

A=3+xB=2x2+2C=AB=?

সহগের গুণগত গুণমান গুণ দ্বারা আমরা সহজেই সি সময়ে সি খুঁজে পেতে পারি । এফএফটি (এবং বিপরীতমুখী এফএফটি) প্রয়োগ করে আমরা এটি সময়ে অর্জন করতে পারি । নির্দিষ্ট ভাবে:O(n2)O(nlog(n))

  1. A এবং B এর সহগ উপস্থাপনাটিকে এর মান উপস্থাপনে রূপান্তর করুন। এই প্রক্রিয়াটিকে মূল্যায়ন বলা হয় । এর জন্য ডিভাইড-অ্যান্ড-কোঙ্কার (ডিএন্ডসি) সম্পাদন করতে সময় লাগবে।O(nlog(n))
  2. তাদের মান উপস্থাপনায় বহুগুণগুলি উপাদান-ভিত্তিক গুণিত করুন। এটি সি = এ * বি এর মান উপস্থাপনা প্রদান করে। এটি সময় নেয়।O(n)
  3. এর সহগ উপস্থাপনায় সি পেতে বিপরীত এফএফটি ব্যবহার করে সি উল্টান vert এই প্রক্রিয়াটিকে ইন্টারপোলেশন বলা হয় এবং এটি সময়ও নেয়।O(nlog(n))

ধারাবাহিকভাবে চালিয়ে যাওয়া, আমরা প্রতিটি বহুপদীকে একটি ভেক্টর হিসাবে প্রতিনিধিত্ব করি যার মান এর সহগ হয়। আমরা দুটি, power এর ক্ষুদ্রতম পাওয়ার পর্যন্ত 0 এর ভেক্টরকে প্যাড করি । এইভাবে । দু'জনের শক্তি নির্বাচন করা আমাদের বিভাজন এবং বিজয়ী অ্যালগরিদমকে পুনরাবৃত্তভাবে প্রয়োগ করার একটি উপায় সরবরাহ করে।n=2k,ndeg(C)n=4

A=3+x+0x2+0x3a=[3,1,0,0]B=2+0x+2x+0x3b=[2,0,2,0]

যাক A এবং B এর মান প্রতিনিধিত্ব হতে যথাক্রমে। লক্ষ্য করুন যে এফএফটি (ফাস্ট ফুরিয়ার ট্রান্সফর্ম ) একটি লিনিয়ার ট্রান্সফর্মেশন ( লিনিয়ার ম্যাপ ) এবং ম্যাট্রিক্স, হিসাবে উপস্থাপন করা যেতে পারে । এইভাবেA,B এমM

A=MaB=Mb

আমরা সংজ্ঞায়িত করি যেখানে জটিল শিকড় unity ক্যের জটিল শিকড়। এই উদাহরণে লক্ষ্য করুন । এছাড়াও যে বিজ্ঞপ্তি মধ্যে এন্ট্রি সারি এবং কলাম । ডিএফটি ম্যাট্রিক্স সম্পর্কে আরও এখানে দেখুনM=Mn(ω)ωnthn = 4jthkthωnjk

M4(w)=[111...11ω1ω2...ωn11ω2ω4...............ωjk...1ωn1ω2(n1)...ω(n1)(n1)]=[11111ωω2ω31ω2ω4ω61ω3ω6ω9]

প্রদত্ত ঐক্যের শিকড়, আমরা আদেশ সেট সমতা আছে:ω4=4th

{ω0,ω1,ω2,ω3,ω4,ω5,...}={1,i,1,i,1,i,...}

এটি কাউন্টার-ক্লকওয়াইজ দিকের ইউনিট বৃত্তের শিকড়গুলির মধ্য দিয়ে পুনরাবৃত্তি হিসাবে দৃশ্যমান করা যেতে পারে ।

এছাড়াও, mod nপ্রকৃতিটি লক্ষ্য করুন , যেমন এবংω6=ω6modn=ω2=1i=ω3=ω3+n

সম্পূর্ণ ধাপ 1 (করার মূল্যায়ন ) আমরা খুঁজে সম্পাদন দ্বারাA,B

A=Ma=[11111ωω2ω31ω2ω4ω61ω3ω6ω9][3100]=[3+13+1ω3+ω23+ω3]=[43+i23i]B=Mb=[11111ωω2ω31ω2ω4ω61ω3ω6ω9][2020]=[2+22+2ω22+2ω42+2ω6]=[4040]

ডি অ্যান্ড সি অ্যালগরিদম (এই উত্তরের ক্ষেত্রের বাইরে) ব্যবহার করে এই পদক্ষেপটি অর্জন করা যেতে পারে।

উপাদান অনুসারে গুণিত করুন (পদক্ষেপ 2)AB

AB=[43+i23i][4040]=[16080]=C

পরিশেষে, শেষ পদক্ষেপটি হ'ল সি'র গুণফলগুলিতে উপস্থাপন করা। বিজ্ঞপ্তি

C=McM1C=M1Mcc=M1C

লক্ষ্য করুন 1 এবং ।Mn1=1nMn(ω1)ωj=ωn/2+j

Mn1=14[11111ω1ω2ω31ω2ω4ω61ω3ω6ω9]=14[11111i1i11111i1i]

ωj ঘড়ির কাঁটার দিকের ইউনিট বৃত্তের শিকড়গুলির মধ্য দিয়ে পুনরাবৃত্তি হিসাবে রূপান্তর করা যেতে পারে ।

{ω0,ω1,ω2,ω3,ω4,ω5,...}={1,i,1,i,1,i,...}

এছাড়াও, এটি সত্য যে unity মূল given given given প্রদত্ত সমতা । ধারণ করে। (কেন দেখছেন?)nthωj=ωnj

তারপরে,

c=M1C=1nMn(w1)=14[11111i1i11111i1i][16080]=[(16+8)/4(168)/4(16+8)/4(168)/4]=[6262]

সুতরাং, আমরা বহুভুজ 1 : উল্টাপাল্টির সূত্র পিজি 73, দাশগুপ্ত এট দ্বারা অ্যালগরিদমগুলি পেয়েছি। অল। (গ) 2006

C=AB=6+2x+6x2+2x3

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