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

From Vigyanwiki
(Created page with "{{short description|Overview about trigonometric tables}} {{no footnotes|date=December 2018}} {{Trigonometry}} गणित में, त्रिकोणमितीय...")
 
No edit summary
 
(7 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{short description|Overview about trigonometric tables}}
{{short description|Overview about trigonometric tables}}
{{no footnotes|date=December 2018}}
{{Trigonometry}}
{{Trigonometry}}


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


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


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


== ऑन-डिमांड गणना ==
== मांग पर गणना ==
[[File:Bernegger Manuale 137.jpg|thumb|right|200px|गणितीय तालिकाओं की 1619 पुस्तक का एक पृष्ठ।]]आधुनिक कंप्यूटर और कैलकुलेटर मनमाने कोणों की मांग पर त्रिकोणमितीय फ़ंक्शन मान प्रदान करने के लिए विभिन्न तकनीकों का उपयोग करते हैं (कांतबुत्रा, 1996)। एक सामान्य विधि, विशेष रूप से [[तैरनेवाला स्थल]] | फ़्लोटिंग-पॉइंट इकाइयों के साथ उच्च-अंत प्रोसेसर पर, एक [[बहुपद]] या तर्कसंगत फ़ंक्शन [[सन्निकटन सिद्धांत]] को संयोजित करना है (जैसे कि [[चेबीशेव सन्निकटन]], सर्वोत्तम वर्दी सन्निकटन, पैड सन्निकटन | पैड सन्निकटन, और आमतौर पर उच्च या परिवर्तनीय सटीकता, [[टेलर श्रृंखला]] और [[लॉरेंट श्रृंखला]]) सीमा में कमी और एक तालिका लुकअप के साथ - वे पहले एक छोटी तालिका में निकटतम कोण को देखते हैं, और फिर सुधार की गणना करने के लिए बहुपद का उपयोग करते हैं। इस तरह के इंटरपोलेशन को निष्पादित करते समय सटीकता बनाए रखना गैर-तुच्छ है, लेकिन गैल की सटीक तालिकाओं, कोडी और वाइट रेंज में कमी, और पायने और हनेक रेडियन रिडक्शन एल्गोरिदम जैसी विधियों का उपयोग इस उद्देश्य के लिए किया जा सकता है। जिन सरल उपकरणों में [[हार्डवेयर गुणक]] की कमी होती है, वहां [[CORDIC]] (साथ ही संबंधित तकनीक) नामक एक एल्गोरिदम होता है जो अधिक कुशल होता है, क्योंकि यह केवल [[शिफ्ट ऑपरेटर]]ों और अतिरिक्त का उपयोग करता है। ये सभी विधियाँ आमतौर पर प्रदर्शन कारणों से [[कंप्यूटर हार्डवेयर]] में लागू की जाती हैं।
[[File:Bernegger Manuale 137.jpg|thumb|right|200px|गणितीय तालिकाओं की 1619 पुस्तक का एक पृष्ठ।]]आधुनिक कंप्यूटर और कैलकुलेटर यादृच्छिक कोणों की मांग पर त्रिकोणमितीय फलनों के मान प्रदान करने के लिए विभिन्न तकनीकों का उपयोग करते हैं। एक सामान्य विधि, विशेषकर अस्थिर बिंदु इकाई वाले उच्च-स्तरीय प्रोसेसरों पर, [[बहुपद]] या विभाजनशील अनुमापन के साथ सीमा संक्षेप और एक सारणिका खोज का संयोजन करते है, वे पहले छोटी सारणिका में निकटतम कोण देखते हैं, और पुनः सुधार की गणना करने के लिए बहुपद का उपयोग करते हैं। इस प्रकार की अंतर्वलना करते समय मानकता को बनाए रखना कठिन होता है, परंतु गैल की सटीक सारणिकाएँ, कोडी और वेट सीमा संक्षेप,और पेन और हेनेक रेडियन संक्षेप कलन-विधि जैसी विधियाँ इस उद्देश्य के लिए उपयोग में लाई जा सकती हैं। सरल उपकरणों पर जो [[हार्डवेयर गुणक|हार्डवेयर]] मल्टीप्लायर के अभाव में होते हैं, वहां कॉरडिक नामक एक कलन-विधि होता है जो अधिक कुशल होता है, क्योंकि इसमें केवल स्थानान्तरण और जोड़ का ही उपयोग होता है। ये सभी विधियाँ सामान्यतः प्रदर्शन कारणों से [[कंप्यूटर हार्डवेयर]] में लागू की जाती हैं।


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


मनमानी-सटीक अंकगणितीय गणनाओं के लिए, जब श्रृंखला-विस्तार अभिसरण बहुत धीमा हो जाता है, तो त्रिकोणमितीय कार्यों को [[अंकगणित-ज्यामितीय माध्य]] द्वारा अनुमानित किया जा सकता है, जो स्वयं ([[जटिल संख्या]]) [[अण्डाकार अभिन्न]] (ब्रेंट, 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 से a b के लिए डी मोइवर की पहचान लागू करके पाया जा सकता है<sup>एकता का मूल, जो बहुपद x का भी मूल है<sup>बी</sup>- 1 जटिल तल में। उदाहरण के लिए, 2π⋅5/37 की कोज्या और ज्या क्रमशः वास्तविक भाग और [[काल्पनिक भाग]] हैं, एकता की 37वीं जड़ की 5वीं घात cos(2π/37) + syn(2π/37)i, जो है एक बहुपद-37 बहुपद x की घात का मूल<sup>37</sup> - 1. इस मामले के लिए, न्यूटन की विधि जैसा रूट-फाइंडिंग एल्गोरिदम एक समान स्पर्शोन्मुख दर पर अभिसरण करते हुए उपरोक्त अंकगणित-ज्यामितीय माध्य एल्गोरिदम की तुलना में बहुत सरल है। हालाँकि, बाद वाले एल्गोरिदम ट्रान्सेंडैंटल संख्या त्रिकोणमितीय स्थिरांक के लिए आवश्यक हैं।
इस स्थिति के लिए, न्यूटन का कलनविधि जैसे मूल खोजने की तकनीक पहले उपरोक्त अंकगणितीय-ज्यामितीय मान कलनविधियो की तुलना में बहुत सरल होता है जबकि एक समानांतरी दर के साथ संक्षेपण करता है। यद्यपि, अंतरवाही त्रिकोणमितीय स्थायी मानों के लिए उपरोक्त कलन विधियो का उपयोग करना आवश्यक होता है।


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


ऐतिहासिक रूप से, सबसे प्रारंभिक तरीका जिसके द्वारा त्रिकोणमितीय तालिकाओं की गणना की गई थी, और संभवतः कंप्यूटर के आगमन तक सबसे आम, एक ज्ञात मान से शुरू होने वाले अर्ध-कोण और कोण-जोड़ [[त्रिकोणमितीय पहचान]] को बार-बार लागू करना था (जैसे कि पाप (π/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 30: Line 31:
इन पहचानों पर कई अन्य क्रमपरिवर्तन संभव हैं: उदाहरण के लिए, कुछ प्रारंभिक त्रिकोणमितीय तालिकाओं में साइन और कोसाइन का नहीं, बल्कि साइन और [[उसका संस्करण]] का उपयोग किया जाता है।
इन पहचानों पर कई अन्य क्रमपरिवर्तन संभव हैं: उदाहरण के लिए, कुछ प्रारंभिक त्रिकोणमितीय तालिकाओं में साइन और कोसाइन का नहीं, बल्कि साइन और [[उसका संस्करण]] का उपयोग किया जाता है।


== एक त्वरित, लेकिन गलत, अनुमान ==
== एक त्वरित, परंतु अशुद्ध, अनुमान ==


एन सन्निकटनों की तालिका की गणना के लिए एक त्वरित, लेकिन गलत, एल्गोरिदम<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/एन के आनुपातिक एक महत्वपूर्ण त्रुटि है।


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


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


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


:<math>e^{i(\theta + \Delta)} = e^{i\theta} \times e^{i\Delta\theta}</math>
:<math>e^{i(\theta + \Delta)} = e^{i\theta} \times e^{i\Delta\theta}</math>
इससे त्रिकोणमितीय मानों की गणना करने के लिए निम्नलिखित पुनरावृत्ति होती है<sub>''n''</sub> और सी<sub>''n''</sub> ऊपरोक्त अनुसार:
इससे निम्नलिखित पुनरावृत्ति प्राप्त करते हैं जिससे उपरोक्त त्रिकोणमितीय मान s<sub>''n''</sub>और c<sub>''n''</sub> की गणना की जा सके:


:सी<sub>0</sub> = 1
:c<sub>0</sub> = 1
:एस<sub>0</sub> = 0
:s<sub>0</sub> = 0
:सी<sub>''n''+1</sub> = डब्ल्यू<sub>''r''</sub> c<sub>''n''</sub> − डब्ल्यू<sub>''i''</sub> s<sub>''n''</sub>
:c<sub>''n''+1</sub> = ''w<sub>r</sub>'' c<sub>''n''</sub> − ''w<sub>i</sub>'' s<sub>''n''</sub>
:एस<sub>''n''+1</sub> = डब्ल्यू<sub>''i''</sub> c<sub>''n''</sub> + डब्ल्यू<sub>''r''</sub> s<sub>''n''</sub>
:s<sub>''n''+1</sub> = ''w<sub>i</sub>'' c<sub>''n''</sub> + ''w<sub>r</sub>'' s<sub>''n''</sub>
n = 0, ..., N − 1 के लिए, जहां w<sub>''r''</sub> = cos(2π/N) और w<sub>''i''</sub> = पाप(2π/एन). इन दो प्रारंभिक त्रिकोणमितीय मानों की गणना आम तौर पर मौजूदा लाइब्रेरी फ़ंक्शंस का उपयोग करके की जाती है (लेकिन इसे z की एकता की आदिम जड़ को हल करने के लिए जटिल विमान में न्यूटन की विधि को नियोजित करके भी पाया जा सकता है)<sup>एन</sup> - 1).
n = 0, ..., N − 1 के लिए, जहां wr = cos(2π/N) और wi = sin(2π/N), यहां दिए गए पुनरावृत्ति का उपयोग किया जाता है: ये दो प्रारंभिक त्रिकोणमितीय मान सामान्यतः उपस्थित पुस्तकालय फलन का उपयोग करके निर्धारित किए जाते हैं। वैकल्पिक रूप से, ये मान zN − 1 की मूलांकन तल में न्यूटन के उपयोग से भी प्राप्त किए जा सकते हैं।


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


एक महत्वपूर्ण सुधार उपरोक्त में निम्नलिखित संशोधन का उपयोग करना है, एक ट्रिक (सिंगलटन के कारण)।<ref>{{harvnb|Singleton|1967}}</ref>) अक्सर एफएफटी कार्यान्वयन के लिए त्रिकोणमितीय मान उत्पन्न करने के लिए उपयोग किया जाता है:
एक महत्वपूर्ण सुधार उपरोक्त में निम्नलिखित संशोधन का उपयोग करना है, एक युक्ति <ref>{{harvnb|Singleton|1967}}</ref> प्रायः एफएफटी कार्यान्वयन के लिए त्रिकोणमितीय मान उत्पन्न करने के लिए उपयोग किया जाता है:


:सी<sub>0</sub> = 1
:c<sub>0</sub> = 1
:एस<sub>0</sub> = 0
:s<sub>0</sub> = 0
:सी<sub>''n''+1</sub> = सी<sub>''n''</sub>− (ए सी<sub>''n''</sub>+ बी एस<sub>''n''</sub>)
: <sub>''cn''+1</sub> = c<sub>''n''</sub>− (α ''c<sub>n</sub>''+ β ''s<sub>n</sub>'')
:एस<sub>''n''+1</sub> = एस<sub>''n''</sub>+ (बी सी<sub>''n''</sub>− ए एस<sub>''n''</sub>)
:s<sub>''n''+1</sub> = s<sub>''n''</sub>+ (β ''c<sub>n</sub>''−α s<sub>''n''</sub>)


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


== यह भी देखें ==
== यह भी देखें ==
Line 95: Line 94:
* Mary H. Payne, Robert N. Hanek, ''Radian reduction for trigonometric functions'', [[Association for Computing Machinery|ACM]] SIGNUM Newsletter 18: 19-24, 1983.
* Mary H. Payne, Robert N. Hanek, ''Radian reduction for trigonometric functions'', [[Association for Computing Machinery|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]].
* Gal, Shmuel and Bachelis, Boris (1991) "An accurate elementary mathematical library for the IEEE floating point standard", [[ACM Transactions on Mathematical Software]].
[[Category: त्रिकोणमिति]] [[Category: संख्यात्मक विश्लेषण]]


[[Category: Machine Translated Page]]
[[Category:Created On 04/07/2023]]
[[Category:Created On 04/07/2023]]
[[Category:Lua-based templates]]
[[Category:Machine Translated Page]]
[[Category:Mathematics sidebar templates]]
[[Category:Pages with script errors]]
[[Category:Sidebars with styles needing conversion]]
[[Category:Templates Vigyan Ready]]
[[Category:Templates that add a tracking category]]
[[Category:Templates that generate short descriptions]]
[[Category:Templates using TemplateData]]
[[Category:त्रिकोणमिति]]
[[Category:संख्यात्मक विश्लेषण]]

Latest revision as of 22:08, 15 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 गुना छोटी है यदि प्राप्त किए गए साइन और कोसाइन मानों को चित्रित किया जाए, तो यह कलन विधि एक लघुगणकीय घुमावदार वृत्त के बदले मे एक लघुगणकीय सर्पिल रेखा बनाएगा।

उपयुक्त, परंतु अपूर्ण, पुनरावृत्ति सूत्र

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

इससे निम्नलिखित पुनरावृत्ति प्राप्त करते हैं जिससे उपरोक्त त्रिकोणमितीय मान snऔर cn की गणना की जा सके:

c0 = 1
s0 = 0
cn+1 = wr cnwi sn
sn+1 = wi cn + wr sn

n = 0, ..., N − 1 के लिए, जहां wr = cos(2π/N) और wi = sin(2π/N), यहां दिए गए पुनरावृत्ति का उपयोग किया जाता है: ये दो प्रारंभिक त्रिकोणमितीय मान सामान्यतः उपस्थित पुस्तकालय फलन का उपयोग करके निर्धारित किए जाते हैं। वैकल्पिक रूप से, ये मान zN − 1 की मूलांकन तल में न्यूटन के उपयोग से भी प्राप्त किए जा सकते हैं।

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

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

c0 = 1
s0 = 0
cn+1 = cn− (α cn+ β sn)
sn+1 = sn+ (β cn−α sn)

जहाँ α = 2 sin2(π/N) और β = sin(2π/N) हैं। इस विधि की त्रुटियां औसत में बहुत कम होती हैं, O(ε √N) और अधिकतम स्थितियों में O(ε N), परंतु इसकी मात्रा बड़ी आकार के एफएफटी की सटीकता को अत्यधिक क्षति पहुंचाने के लिए पर्याप्त है।

यह भी देखें

संदर्भ

  • 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.