किसी primitive k-th root of unity द्वारा उत्पन्न k-th roots of unity की घातों (powers) का योग या तो शून्य होता है या k होता है। हम इस गुण को orthogonality of roots of unity कहते हैं। हम अगले अध्याय में सीधे इस गुण का उपयोग करेंगे।
हम पहले उदाहरणों के माध्यम से इस गुण को स्पष्ट करते हैं, ताकि पाठक इससे परिचित हो जाएं। फिर हम इसे सामान्य रूप से सिद्ध करेंगे।
Roots of unity की घातों का योग
एक primitive k-th root of unity ω द्वारा उत्पन्न k-th roots of unity पर विचार करें:
[1,ω,ω2,...,ωk−1]
यदि हम elements की इस सूची को लेते हैं और प्रत्येक element को m घात (power) तक बढ़ाते हैं, तो हमें एक और सूची प्राप्त होती है:
[1m,ωm,(ω2)m,...,(ωk−1)m]
इस अध्याय का लक्ष्य यह दिखाना है कि जब हम इस नई सूची के सभी elements का योग करते हैं तो क्या होता है। दूसरे शब्दों में, हम किसी भी m के लिए नीचे दिए गए योग s के मान की गणना करना चाहते हैं:
s=1m+ωm+(ω2)m+...+(ωk−1)m
F17 में 4th roots of unity पर विचार करें (हालांकि primitive 4th root of unity वाले किसी भी field में यह काम करेगा)। एक primitive root ω के लिए, ये roots हैं
[1,ω1,ω2,ω3],
या, इस स्थिति में ω2≡−1 का उपयोग करते हुए, वे हैं
[1,ω,−1,−ω]
आइए इन elements को किसी exponent m तक बढ़ाते हैं, मान लें m=3:
[13,ω3,(−1)3,(−ω)3]
हम यह ध्यान देकर इनमें से कुछ elements को सरल बना सकते हैं कि (−1)3=−1 और (−ω)3=−ω3 है।
इस प्रकार, उसी सूची को इस प्रकार लिखा जा सकता है
[1,ω3,−1,−ω3]
इन elements का योग शून्य है, क्योंकि
1+ω3+(−1)+(−ω3)=0
एक अन्य उदाहरण के रूप में, आइए फिर से F17 में 4th roots of unity के साथ शुरू करते हैं, लेकिन अब प्रत्येक element को 8 की घात (power) तक बढ़ाते हैं।
इससे निम्नलिखित elements प्राप्त होते हैं:
[18,ω8,(−1)8,(−ω)8]
चूँकि 8 सम (even) है, इसलिए हमारे पास (−1)8=1 और (−ω)8=ω8 है।
साथ ही, याद रखें कि 4th roots of unity के लिए, ω4=1 होता है। इस प्रकार, ω8=(ω4)2=12=1 है।
इसलिए, हमारी सूची सरल होकर बनती है
[18=1,ω8=1,18=1,ω8=1]
Elements का योग है
s=1+1+1+1=4
उपरोक्त उदाहरणों में, जब m, k(k=4,m=3) का गुणज (multiple) नहीं है, तो योग शून्य होता है, लेकिन जब m, k (k=4,m=8) का गुणज होता है, तो योग k होता है। यह सामान्यतः सत्य है।
हम निम्नलिखित को दिखाएंगे और सिद्ध करेंगे:
यदि घात m, k का गुणज नहीं है, तो योग शून्य होता है।
अन्यथा, यदि m, k का गुणज है, तो योग k होता है।
इस तथ्य को सामान्य रूप से सिद्ध करने से पहले, आइए एक और उदाहरण देखें।
F17 में 8th roots of unity
F17 में 8th roots of unity पर विचार करें। उन्हें इस प्रकार लिखा जा सकता है
[1,ω,ω2,ω3,−1,−ω,−ω2,−ω3],
जहाँ हमने उपयोग किया है कि एक primitive 8th root of unity ω के लिए ω4≡−1 होता है।
यदि हम इस सूची के प्रत्येक element को एक ऐसी घात m तक बढ़ाते हैं जो 8 का गुणज नहीं है और सभी elements का योग करते हैं, तो परिणाम शून्य होता है। अन्यथा, यदि m, 8 का गुणज है, तो योग 8 होता है।
नई सूची इस प्रकार दी गई है
[1m,ωm,(ω2)m,(ω3)m,(−1)m,(−ω)m,(−ω2)m,(−ω3)m]
आइए संभावित मामलों की जाँच करें।
Case 1: m, 8 का गुणज नहीं है
आइए m=2 वाले मामले पर विचार करें। सूची है
[12,ω2,(ω2)2,(ω3)2,(−1)2,(−ω)2,(−ω2)2,(−ω3)2]
इसे इस प्रकार लिखा जा सकता है
[1,ω2,ω4,ω6,1,ω2,ω4,ω6]
इस तथ्य का उपयोग करते हुए कि ω4≡−1 है, सूची बन जाती है
यह सिद्ध करने के लिए कि उपरोक्त भिन्न (fraction) शून्य के बराबर है, हमें पहले यह दिखाना होगा कि हर (denominator) गैर-शून्य (non-zero) है और फिर यह कि अंश (numerator) शून्य के बराबर है।
यह तथ्य कि m, k का गुणज नहीं है, यहाँ महत्वपूर्ण है। एक primitive k-th root of unity की परिभाषा को याद करें: यह एक ऐसा element ω है जिसके लिए ωk≡1 होता है, लेकिन किसी भी 0≤r<k के लिए ωr=1 होता है।
इस प्रकार, primitive k-th roots of unity ω के लिए, केवल ωk की घातें ही 1 के बराबर होती हैं, जैसे (ωk)0,(ωk)1,(ωk)2, इत्यादि।
चूँकि m, k का गुणज नहीं है, इसलिए ωm किसी भी पूर्णांक n के लिए ωnk के रूप का नहीं है, और इसलिए ωm=1 है। इस प्रकार, उपरोक्त भिन्न का हर ωm−1 गैर-शून्य है।
आइए अब अंश (ωm)k−1 पर विचार करें। इसे (ωk)m−1 के रूप में लिखा जा सकता है।
चूँकि ω एक primitive k-th root of unity है, हमारे पास ωk=1 है, और अंश बन जाता है
(ωk)m−1=(1)m−1=1−1=0
चूँकि अंश शून्य है और हर गैर-शून्य है, इसलिए पूरा योग शून्य है।
अगले भाग में, हम उस मामले का अध्ययन करेंगे जहाँ exponent m, k का गुणज है।
Case (2): प्रत्येक element को एक ऐसे exponent से बढ़ाना जो k का गुणज हो
इस भाग में, हम दिखाएंगे कि k-th roots of unity का योग, जिसे एक घात m तक बढ़ाया गया है जो k का गुणज है, शून्य नहीं है, बल्कि k है।
k-th roots of unity पर विचार करें
[ω0,ω1,ω2,...,ωk−1]
आइए इस सूची के प्रत्येक element को किसी घात m तक बढ़ाते हैं:
[(ω0)m,(ω1)m,(ω2)m,...,(ωk−1)m]
चूँकि (ab)c=(ac)b है, हम उपरोक्त प्रत्येक term को इस प्रकार पुनर्व्यवस्थित (rearrange) कर सकते हैं:
[(ωm)0,(ωm)1,(ωm)2,...,(ωm)k−1]
अब उस मामले पर विचार करें जिसमें m, k का गुणज है, अर्थात किसी n के लिए m=kn है। इस प्रकार, हमारी सूची को इस रूप में लिखा जा सकता है
[(ωnk)0,(ωnk)1,(ωnk)2,...,(ωnk)k−1]
चूँकि ωnk=(ωk)n है, हमें यह सूची प्राप्त होती है
[(ωk)0n,(ωk)1n,(ωk)2n,...,(ωk)(k−1)n]
ωk≡1 का उपयोग करते हुए, सूची में संख्या 1 किसी घात तक बढ़ाई गई है:
[(1)0n,(1)1n,(1)2n,...,(1)(k−1)n]
या सीधे शब्दों में
[1,1,1,...,1]
चूँकि सूची में k elements हैं, इसलिए योग है
k times1+1+1+⋯+1=k
दोनों गुणों का संयोजन
दोनों गुणों को व्यक्त करने का एक सुंदर (elegant) और सुविधाजनक तरीका निम्नलिखित है:
i=0∑k−1(ωi)m=⎩⎨⎧k,0,if m is a multiple of k,otherwise.
यहाँ summation पहले term ω0 से लेकर अंतिम term ωk−1 तक है।
k-th roots of unity की दो सूचियों का inner product
इस भाग में, हम ऊपर प्राप्त अपने संबंध (relation) को एक ऐसे रूप में फिर से लिखेंगे जो अगले अध्यायों में उपयोग के लिए अधिक उपयुक्त है।
अधिक सटीक रूप से, हम इसे इस प्रकार लिखेंगे
i=0∑k−1(ωi)r−s=⎩⎨⎧k,0,if r≡s(modk),otherwise.
सबसे पहले, आइए दिखाएं कि ये दोनों रूप समान हैं, और फिर दूसरे रूप को प्रेरित (motivate) करें।
दोनों रूप समतुल्य (equivalent) हैं
यदि r, s mod k के congruent है (दूसरा रूप), तो किसी पूर्णांक n के लिए r−s=nk होगा।
इस प्रकार, हम यह कह रहे हैं कि r−s, जिसे पहले रूप में m के रूप में लिखा गया है, k का गुणज है। यह m को k का गुणज बताने के समान ही है।
दूसरे रूप में r और s का उपयोग करने का कारण यह है कि हम दो vectors के inner product पर विचार करेंगे, जिनमें से प्रत्येक roots of unity की घातों से बना है।
Roots of unity के दो vectors का inner product
आइए k-th roots of unity के दो vectors पर विचार करें। पहला vector, A, घात r तक बढ़ाया गया है और इसका रूप है
A=[(ω0)r,ωr,(ω2)r,...,(ωk−1)r]
दूसरा vector, B, ऋणात्मक (negative) exponent −s तक बढ़ाया गया है और इसका रूप है
B=[(ω0)−s,ω−s,(ω2)−s,...,(ωk−1)−s]
नोट: primitive k-th root of unity को ऋणात्मक घात (negative power) तक बढ़ाना कोई समस्या नहीं है। हम ω−s=(ω−1)s लिख सकते हैं, जहाँ ω−1, ω का multiplicative inverse है।
चूँकि ωk=1 है, दोनों पक्षों को ω−1 से गुणा करने पर ω−1=ωk−1 प्राप्त होता है। दोनों पक्षों को घातsतक बढ़ाने पर, हमें ω−s=ω(k−1)s प्राप्त होता है।
Vectors A और B का inner product है
A⋅B=(ω0)r⋅(ω0)−s+ωr⋅ω−s+...+(ωk−1)r(ωk−1)−s
समान रूप से (Equivalently), इसे इस प्रकार लिखा जा सकता है
A⋅B=(ω0)r−s+ωr−s+...+(ωk−1)r−s
एक संक्षिप्त (compact) नोटेशन में, A और B का inner product इस प्रकार लिखा जा सकता है
A⋅B=i=0∑k−1(ωi)r−s
इसलिए, यह सूत्र
i=0∑k−1(ωi)r−s=⎩⎨⎧k,0,if r≡s(modk),otherwise.
को इस प्रकार समझा जा सकता है: दो vectors का inner product, जिनकी entries k-th roots of unity की घातें हैं, या तो k होता है या शून्य, जो इस बात पर निर्भर करता है कि exponents r और s modulo k के congruent हैं या नहीं। हम अगले अध्यायों में इस तथ्य का उपयोग करेंगे।
यह लेख हमारी ZK Book में Number Theoretic Transform पर आधारित एक श्रृंखला का हिस्सा है।