त्रिकोणमितीय तालिकाएँ: Difference between revisions

From Vigyanwiki
Line 15: Line 15:
त्रिकोणमितीय फलन को अनुमापित करने के लिए उपयोगी विशेष बहुपद पहले ही किसी [[मिनिमैक्स सन्निकटन एल्गोरिथ्म|मिनिमैक्स अनुमापन कलन-विधि]] के कुछ अनुमापन का उपयोग करके पूर्व में तैयार किया जाता है।
त्रिकोणमितीय फलन को अनुमापित करने के लिए उपयोगी विशेष बहुपद पहले ही किसी [[मिनिमैक्स सन्निकटन एल्गोरिथ्म|मिनिमैक्स अनुमापन कलन-विधि]] के कुछ अनुमापन का उपयोग करके पूर्व में तैयार किया जाता है।


बहुत उच्च सत्यापन की गणनाओं के लिए, जब श्रृंखला-विस्तार संघटन धीमी हो जाती है, तो त्रिकोणमितीय फलनों को[[अंकगणित-ज्यामितीय माध्य]] द्वारा अनुमापित किया जा सकता है, जो स्वयं त्रिकोणमितीय ध्रुवीय अविभाज्य ब्रेंट, 1976 द्वारा त्रिकोणमितीय फलन का अनुमान लगाता है।  
बहुत उच्च सत्यापन की गणनाओं के लिए, जब श्रृंखला-विस्तार संघटन धीमी हो जाती है, तो त्रिकोणमितीय फलनों को[[अंकगणित-ज्यामितीय माध्य]] द्वारा अनुमापित किया जा सकता है, जो स्वयं त्रिकोणमितीय ध्रुवीय अविभाज्य ब्रेंट, 1976 द्वारा त्रिकोणमितीय फलन का अनुमान लगाता है। कोणों के त्रिकोणमितीय फलन जो 2π के परिमेय संख्या गुणज हैं, [[बीजगणितीय संख्या]]एँ हैं।यहां a/b·2π के मान डी मोइवरे की तर्कप्रमाण का उपयोग करके प्राप्त किए जा सकते हैं, जहां n = a के लिए एक bवीं ध्रुवीयता एकता के लिए लागू होती है, जो कि बहुपद xb - 1 की भी एक मूल होती है। उदाहरण के लिए, 2π ⋅ 5/37 के कोज्या और ज्या यही हैं। 37वीं ध्रुवीयता की पांचवीं घात जिसकी वास्तविक और काल्पनिक भाग होते हैं जो बहुपद में x37 − 1 की एक मूल हैं, जिसमें cos(2π/37) + sin(2π/37)i पाया जाता है।  
 
कोणों के त्रिकोणमितीय फलन जो 2π के परिमेय संख्या गुणज हैं, [[बीजगणितीय संख्या]]एँ हैं।यहां a/b·2π के मान डी मोइवरे की तर्कप्रमाण का उपयोग करके प्राप्त किए जा सकते हैं, जहां n = a के लिए एक bवीं ध्रुवीयता एकता के लिए लागू होती है, जो कि बहुपद xb - 1 की भी एक मूल होती है। उदाहरण के लिए, 2π ⋅ 5/37 के कोसाइन और साइन यही हैं। 37वीं ध्रुवीयता की पांचवीं घात जिसकी असली और काल्पनिक भाग हैं, जो बहुपद में x37 − 1 की एक मूल हैं, जिसमें cos(2π/37) + sin(2π/37)i पाया जाता है।


इस स्थिति के लिए, न्यूटन का कलनविधि जैसे मूल खोजने की तकनीक पहले उपरोक्त अंकगणितीय-ज्यामितीय मान कलनविधियो की तुलना में बहुत सरल होता है जबकि एक समानांतरी दर के साथ संक्षेपण करता है। यद्यपि, अंतरवाही त्रिकोणमितीय स्थायी मानों के लिए उपरोक्त कलनविधियो का उपयोग आवश्यक होता है।
इस स्थिति के लिए, न्यूटन का कलनविधि जैसे मूल खोजने की तकनीक पहले उपरोक्त अंकगणितीय-ज्यामितीय मान कलनविधियो की तुलना में बहुत सरल होता है जबकि एक समानांतरी दर के साथ संक्षेपण करता है। यद्यपि, अंतरवाही त्रिकोणमितीय स्थायी मानों के लिए उपरोक्त कलनविधियो का उपयोग आवश्यक होता है।
Line 23: Line 21:
== अर्ध-कोण और कोण-जोड़ सूत्र ==
== अर्ध-कोण और कोण-जोड़ सूत्र ==


ऐतिहासिक रूप से, सबसे प्रारंभिक तरीका जिसके द्वारा त्रिकोणमितीय तालिकाओं की गणना की गई थी, और संभवतः कंप्यूटर के आगमन तक सबसे आम, एक ज्ञात मान से शुरू होने वाले अर्ध-कोण और कोण-जोड़ [[त्रिकोणमितीय पहचान]] को बार-बार लागू करना था (जैसे कि पाप (π/2) )=1, cos(π/2)=0). इस पद्धति का उपयोग प्राचीन खगोलशास्त्री [[टॉलेमी]] द्वारा किया गया था, जिन्होंने उन्हें खगोल विज्ञान पर एक ग्रंथ, [[अल्मागेस्ट]] में प्राप्त किया था। आधुनिक रूप में, उनके द्वारा प्राप्त पहचानों को इस प्रकार बताया गया है (चतुर्थांश द्वारा निर्धारित संकेतों के साथ जिसमें x स्थित है):
ऐतिहासिक रूप से, त्रिकोणमितीय सारणिका की गणना का सबसे प्राचीन तरीका, और शायद सबसे सामान्य तरीका जब तक कंप्यूटरों का आविष्कार नहीं हुआ था, वह था आधा-कोण और कोण-जोड़ने [[त्रिकोणमितीय पहचान|त्रिकोणमितीय तात्कालिकताओं]] को बार-बार लागू करते हुए एक ज्ञात मान से कि sin(π/2) = 1, cos(π/2) = 0 से प्रारंभ करना था।
 
इस पद्धति का उपयोग प्राचीन खगोलशास्त्री [[टॉलेमी]] द्वारा किया गया था, जिन्होंने उन्हें खगोल विज्ञान पर एक ग्रंथ, [[अल्मागेस्ट]] में प्राप्त किया था। आधुनिक रूप में, उनके द्वारा प्राप्त पहचानों को इस प्रकार बताया गया है, जिसमें x के चतुष्पद के आधार पर निर्धारित चिन्ह होते हैं:


:<math>\cos\left(\frac{x}{2}\right) = \pm \sqrt{\tfrac{1}{2}(1 + \cos x)}</math>
:<math>\cos\left(\frac{x}{2}\right) = \pm \sqrt{\tfrac{1}{2}(1 + \cos x)}</math>
Line 35: Line 35:
== एक त्वरित, परंतु  गलत, अनुमान ==
== एक त्वरित, परंतु  गलत, अनुमान ==


एन सन्निकटनों की तालिका की गणना के लिए एक त्वरित, परंतु  गलत, एल्गोरिदम<sub>''n''</sub> [[sine]](2Pi|πn/N) और c के लिए<sub>''n''</sub> [[ कोज्या ]] के लिए (2πn/N) है:
N के लिए sin(2πn/N) और cos(2πn/N) की N अनुमानित मानों की एक सारणी निर्धारित करने के लिए एक त्वरित, लेकिन अशुद्ध, कलन-विधि इस प्रकार हो सकता है:


:एस<sub>0</sub> = 0
:''s''<sub>0</sub> = 0
:सी<sub>0</sub> = 1
:''c''<sub>0</sub> = 1
:एस<sub>''n''+1</sub> = एस<sub>''n''</sub> + डी × सी<sub>''n''</sub>
:''s<sub>n</sub>''<sub>+1</sub> = ''s<sub>n</sub>'' + ''d''  × ''c<sub>n</sub>''
:सी<sub>''n''+1</sub> = सी<sub>''n''</sub> - डी × एस<sub>''n''</sub>
:''c<sub>n</sub>''<sub>+1</sub> = ''c<sub>n</sub>'' - ''d'' × ''s<sub>n</sub>''
n = 0,...,N − 1 के लिए, जहां d = 2π/N.
n = 0,...,N − 1 के लिए, जहां d = 2π/N.


यह केवल [[अंतर समीकरण]] को एकीकृत करने के लिए संख्यात्मक साधारण अंतर समीकरण#यूलर विधि है:
यह अंतर समीकरण को एकीकृत करने के लिए बस यूलर विधि है


:<math>ds/dt = c</math>
:<math>ds/dt = c</math>
:<math>dc/dt = -s</math>
:<math>dc/dt = -s</math>
प्रारंभिक शर्तों s(0) = 0 और c(0) = 1 के साथ, जिसका विश्लेषणात्मक समाधान s = पाप(t) और c = cos(t) है।
प्रारंभिक नियमों  मे s(0) = 0 और c(0) = 1 के साथ, जिसका विश्लेषणात्मक समाधान s = sin(t) और c = cos(t) है,


दुर्भाग्यवश, यह साइन टेबल उत्पन्न करने के लिए एक उपयोगी एल्गोरिदम नहीं है क्योंकि इसमें 1/एन के आनुपातिक एक महत्वपूर्ण त्रुटि है।
दुर्भाग्यवश, यह साइन सारणिकाओं की उत्पत्ति के लिए एक उपयोगी कलनविधि नहीं है क्योंकि इसमें 1/N के अनुपात में महत्वपूर्ण त्रुटि होती है।


उदाहरण के लिए, N = 256 के लिए साइन मान में अधिकतम त्रुटि ~0.061 (s) है<sub>202</sub> = −0.9757 के बजाय −1.0368)। एन = 1024 के लिए, साइन मान में अधिकतम त्रुटि ~0.015 (एस) है<sub>803</sub> = −0.97832 के बजाय −0.99321), लगभग 4 गुना छोटा। यदि प्राप्त साइन और कोसाइन मानों को प्लॉट किया जाना था, तो यह एल्गोरिदम एक वृत्त के बजाय एक लघुगणकीय सर्पिल खींचेगा।
उदाहरण के लिए, N = 256 के लिए साइन मानों में अधिकतम त्रुटि लगभग 0.061 है। N = 1024 के लिए साइन मानों में अधिकतम त्रुटि लगभग 0.015 है, जो करीब 4 गुना छोटी हैयदि प्राप्त किए गए साइन और कोसाइन मानों को चित्रित किया जाए, तो यह ऍल्गोरिदम एक लघुगणकीय घुमावदार वृत्त के बदले मे एक लघुगणकीय सर्पिल रेखा बनाएगा।


== एक बेहतर, परंतु  अभी भी अपूर्ण, पुनरावृत्ति सूत्र ==
== एक बेहतर, परंतु  अभी भी अपूर्ण, पुनरावृत्ति सूत्र ==

Revision as of 10:46, 10 July 2023

गणित में, त्रिकोणमितीय फलनो की सारणिका कई क्षेत्रों में उपयोगी होते हैं। पॉकेट कैलकुलेटर के अस्तित्व से पहले, वायुयान-संचालन, विज्ञान और अभियांत्रिकी के लिए त्रिकोणमितीय सारणिकाओं की आवश्यकता थी। गणितीय सारणिकाओं की गणना अध्ययन का एक महत्वपूर्ण अध्ययन क्षेत्र थी, जिससे पहले मैकेनिकल कंप्यूटिंग उपकरणों के विकास की प्रेरणा मिली।

आधुनिक कंप्यूटर और पॉकेट कैलकुलेटर अब गणितीय कोड के विशेष पुस्तकालयों का उपयोग करके मांग पर त्रिकोणमितीय फलन मान उत्पन्न करते हैं। प्रायः, ये पुस्तकालय आंतरिक रूप से पूर्व-गणना की गई तालिकाओं का उपयोग करते हैं, और उचित प्रक्षेप विधि का उपयोग करके आवश्यक मान की गणना करते हैं। त्रिकोणमितीय कार्यों की सरल लुक-अप तालिकाओं का प्रक्षेप अभी भी कंप्यूटर आरेखों में उपयोग की जाती है, जहां मात्र साधारण सटीकता की आवश्यकता हो सकती है और गति प्रायः सर्वोपरि होती है।

त्रिकोणमितीय तालिकाओं और पीढ़ी योजनाओं का एक अन्य महत्वपूर्ण अनुप्रयोग फास्ट फूरियर ट्रांसफॉर्म (एफएफटी) कलन-विधि के लिए है, जहां एक ही त्रिकोणमितीय फलन मान का मूल्यांकन किसी दिए गए परिवर्तन में कई बार की जा सकती, विशेष रूप से ऐसे स्थितियों में जहां एक ही आकार के कई परिवर्तनों की गणना की जाती है। इस स्थिति में, प्रत्येक बार सामान्य पुस्तकालय रूटीन को कॉल करना अस्वीकार्य रूप से धीमी होती है। एक विकल्प उन त्रिकोणमितीय मानों की एक तालिका बनाने के लिए पुस्तकालय रूटीन को एक बार कॉल करना है जिनकी आवश्यकता होती है, परंतु तालिका को संग्रहीत करने के लिए महत्वपूर्ण मेमोरी की आवश्यकता होती है। दूसरी संभावना, चूंकि मानों के एक नियमित अनुक्रम की आवश्यकता होती है, तुरंत त्रिकोणमितीय मानों की गणना करने के लिए पुनरावृत्ति सूत्र का उपयोग करना है। एफएफटी की सटीकता को संरक्षित करने के लिए सटीक, स्थिर पुनरावृत्ति योजनाओं को खोजने के लिए महत्वपूर्ण शोध समर्पित किया गया है।

मांग पर गणना

गणितीय तालिकाओं की 1619 पुस्तक का एक पृष्ठ।

आधुनिक कंप्यूटर और कैलकुलेटर यादृच्छिक कोणों की मांग पर त्रिकोणमितीय फलनों के मान प्रदान करने के लिए विभिन्न तकनीकों का उपयोग करते हैं।

एक सामान्य विधि, विशेषकर अस्थिर बिंदु इकाई वाले उच्च-स्तरीय प्रोसेसरों पर, बहुपद या विभाजनशील अनुमापन के साथ सीमा संक्षेप और एक सारणिका खोज का संयोजन करते है, वे पहले छोटी सारणिका में निकटतम कोण देखते हैं, और पुनः सुधार की गणना करने के लिए बहुपद का उपयोग करते हैं। इस प्रकार की अंतर्वलना करते समय मानकता को बनाए रखना कठिन होता है, परंतु गैल की सटीक सारणिकाएँ, कोडी और वेट सीमा संक्षेप,और पेन और हेनेक रेडियन संक्षेप कलन-विधि जैसी विधियाँ इस उद्देश्य के लिए उपयोग में लाई जा सकती हैं। सरल उपकरणों पर जो हार्डवेयर मल्टीप्लायर के अभाव में होते हैं, वहां कॉरडिक नामक एक कलन-विधि होता है जो अधिक कुशल होता है, क्योंकि इसमें केवल स्थानान्तरण और जोड़ का ही उपयोग होता है। ये सभी विधियाँ सामान्यतः प्रदर्शन कारणों से कंप्यूटर हार्डवेयर में लागू की जाती हैं।

त्रिकोणमितीय फलन को अनुमापित करने के लिए उपयोगी विशेष बहुपद पहले ही किसी मिनिमैक्स अनुमापन कलन-विधि के कुछ अनुमापन का उपयोग करके पूर्व में तैयार किया जाता है।

बहुत उच्च सत्यापन की गणनाओं के लिए, जब श्रृंखला-विस्तार संघटन धीमी हो जाती है, तो त्रिकोणमितीय फलनों कोअंकगणित-ज्यामितीय माध्य द्वारा अनुमापित किया जा सकता है, जो स्वयं त्रिकोणमितीय ध्रुवीय अविभाज्य ब्रेंट, 1976 द्वारा त्रिकोणमितीय फलन का अनुमान लगाता है। कोणों के त्रिकोणमितीय फलन जो 2π के परिमेय संख्या गुणज हैं, बीजगणितीय संख्याएँ हैं।यहां a/b·2π के मान डी मोइवरे की तर्कप्रमाण का उपयोग करके प्राप्त किए जा सकते हैं, जहां n = a के लिए एक bवीं ध्रुवीयता एकता के लिए लागू होती है, जो कि बहुपद xb - 1 की भी एक मूल होती है। उदाहरण के लिए, 2π ⋅ 5/37 के कोज्या और ज्या यही हैं। 37वीं ध्रुवीयता की पांचवीं घात जिसकी वास्तविक और काल्पनिक भाग होते हैं जो बहुपद में x37 − 1 की एक मूल हैं, जिसमें cos(2π/37) + sin(2π/37)i पाया जाता है।

इस स्थिति के लिए, न्यूटन का कलनविधि जैसे मूल खोजने की तकनीक पहले उपरोक्त अंकगणितीय-ज्यामितीय मान कलनविधियो की तुलना में बहुत सरल होता है जबकि एक समानांतरी दर के साथ संक्षेपण करता है। यद्यपि, अंतरवाही त्रिकोणमितीय स्थायी मानों के लिए उपरोक्त कलनविधियो का उपयोग आवश्यक होता है।

अर्ध-कोण और कोण-जोड़ सूत्र

ऐतिहासिक रूप से, त्रिकोणमितीय सारणिका की गणना का सबसे प्राचीन तरीका, और शायद सबसे सामान्य तरीका जब तक कंप्यूटरों का आविष्कार नहीं हुआ था, वह था आधा-कोण और कोण-जोड़ने त्रिकोणमितीय तात्कालिकताओं को बार-बार लागू करते हुए एक ज्ञात मान से कि sin(π/2) = 1, cos(π/2) = 0 से प्रारंभ करना था।

इस पद्धति का उपयोग प्राचीन खगोलशास्त्री टॉलेमी द्वारा किया गया था, जिन्होंने उन्हें खगोल विज्ञान पर एक ग्रंथ, अल्मागेस्ट में प्राप्त किया था। आधुनिक रूप में, उनके द्वारा प्राप्त पहचानों को इस प्रकार बताया गया है, जिसमें x के चतुष्पद के आधार पर निर्धारित चिन्ह होते हैं:

इनका उपयोग टॉलेमी की तारों की तालिका के निर्माण के लिए किया गया था, जिसे खगोलीय समस्याओं पर लागू किया गया था।

इन पहचानों पर कई अन्य क्रमपरिवर्तन संभव हैं: उदाहरण के लिए, कुछ प्रारंभिक त्रिकोणमितीय तालिकाओं में साइन और कोसाइन का नहीं, बल्कि साइन और उसका संस्करण का उपयोग किया जाता है।

एक त्वरित, परंतु गलत, अनुमान

N के लिए sin(2πn/N) और cos(2πn/N) की N अनुमानित मानों की एक सारणी निर्धारित करने के लिए एक त्वरित, लेकिन अशुद्ध, कलन-विधि इस प्रकार हो सकता है:

s0 = 0
c0 = 1
sn+1 = sn + d × cn
cn+1 = cn - d × sn

n = 0,...,N − 1 के लिए, जहां d = 2π/N.

यह अंतर समीकरण को एकीकृत करने के लिए बस यूलर विधि है

प्रारंभिक नियमों मे s(0) = 0 और c(0) = 1 के साथ, जिसका विश्लेषणात्मक समाधान s = sin(t) और c = cos(t) है,

दुर्भाग्यवश, यह साइन सारणिकाओं की उत्पत्ति के लिए एक उपयोगी कलनविधि नहीं है क्योंकि इसमें 1/N के अनुपात में महत्वपूर्ण त्रुटि होती है।

उदाहरण के लिए, N = 256 के लिए साइन मानों में अधिकतम त्रुटि लगभग 0.061 है। N = 1024 के लिए साइन मानों में अधिकतम त्रुटि लगभग 0.015 है, जो करीब 4 गुना छोटी हैयदि प्राप्त किए गए साइन और कोसाइन मानों को चित्रित किया जाए, तो यह ऍल्गोरिदम एक लघुगणकीय घुमावदार वृत्त के बदले मे एक लघुगणकीय सर्पिल रेखा बनाएगा।

एक बेहतर, परंतु अभी भी अपूर्ण, पुनरावृत्ति सूत्र

त्रिकोणमितीय तालिकाएँ उत्पन्न करने के लिए एक सरल पुनरावृत्ति सूत्र यूलर के सूत्र और संबंध पर आधारित है:

इससे त्रिकोणमितीय मानों की गणना करने के लिए निम्नलिखित पुनरावृत्ति होती हैn और सीn ऊपरोक्त अनुसार:

सी0 = 1
एस0 = 0
सीn+1 = डब्ल्यूr cn − डब्ल्यूi sn
एसn+1 = डब्ल्यूi cn + डब्ल्यूr sn

n = 0, ..., N − 1 के लिए, जहां wr = cos(2π/N) और wi = पाप(2π/एन). इन दो प्रारंभिक त्रिकोणमितीय मानों की गणना आम तौर पर मौजूदा पुस्तकालय फ़ंक्शंस का उपयोग करके की जाती है (परंतु इसे z की एकता की आदिम जड़ को हल करने के लिए जटिल विमान में न्यूटन की विधि को नियोजित करके भी पाया जा सकता है)एन - 1).

यह विधि सटीक अंकगणित में एक सटीक तालिका तैयार करेगी, परंतु परिमित-सटीक तैरनेवाला स्थल अंकगणित में त्रुटियां हैं। वास्तव में, त्रुटियां O(ε N) (सबसे खराब और औसत दोनों मामलों में) के रूप में बढ़ती हैं, जहां ε फ़्लोटिंग-पॉइंट परिशुद्धता है।

एक महत्वपूर्ण सुधार उपरोक्त में निम्नलिखित संशोधन का उपयोग करना है, एक ट्रिक (सिंगलटन के कारण)।[1]) अक्सर एफएफटी कार्यान्वयन के लिए त्रिकोणमितीय मान उत्पन्न करने के लिए उपयोग किया जाता है:

सी0 = 1
एस0 = 0
सीn+1 = सीn− (ए सीn+ बी एसn)
एसn+1 = एसn+ (बी सीn− ए एसn)

जहां α = 2 पाप2(π/N) और β = पाप(2π/N)। इस पद्धति की त्रुटियां बहुत छोटी हैं, औसतन O(ε √N) और सबसे खराब स्थिति में O(ε N), परंतु यह अभी भी इतनी बड़ी है कि बड़े आकार के FFT की सटीकता को काफी हद तक कम कर सकती है।

यह भी देखें

संदर्भ

  • Carl B. Boyer (1991) A History of Mathematics, 2nd edition, John Wiley & Sons.
  • Manfred Tasche and Hansmartin Zeuner (2002) "Improved roundoff error analysis for precomputed twiddle factors", Journal for Computational Analysis and Applications 4(1): 1–18.
  • James C. Schatzman (1996) "Accuracy of the discrete Fourier transform and the fast Fourier transform", SIAM Journal on Scientific Computing 17(5): 1150–1166.
  • Vitit Kantabutra (1996) "On hardware for computing exponential and trigonometric functions," IEEE Transactions on Computers 45(3): 328–339 .
  • R. P. Brent (1976) "Fast Multiple-Precision Evaluation of Elementary Functions", Journal of the Association for Computing Machinery 23: 242–251.
  • Singleton, Richard C (1967). "On Computing The Fast Fourier Transform". Communications of the ACM. 10 (10): 647–654. doi:10.1145/363717.363771. S2CID 6287781.
  • William J. Cody Jr., William Waite, Software Manual for the Elementary Functions, Prentice-Hall, 1980, ISBN 0-13-822064-6.
  • Mary H. Payne, Robert N. Hanek, Radian reduction for trigonometric functions, ACM SIGNUM Newsletter 18: 19-24, 1983.
  • Gal, Shmuel and Bachelis, Boris (1991) "An accurate elementary mathematical library for the IEEE floating point standard", ACM Transactions on Mathematical Software.