परिचय
दो सबसे आम त्रिकोणमितीय कार्यों, sine
और cosine
(या sin
और cos
छोटे के लिए), मैट्रिक्स-मान कार्यों होने के लिए बढ़ाया जा सकता है। मैट्रिक्स-वैल्यूड एनालॉग्स की गणना करने का एक तरीका इस प्रकार है:
इन दो महत्वपूर्ण त्रिकोणमितीय पहचानों पर विचार करें:
इन पहचानों का उपयोग करके, हम प्राप्त कर सकते हैं के लिए निम्नलिखित समीकरणों sin
और cos
:
मैट्रिक्स घातीय सभी वर्ग मैट्रिक्स के लिए मौजूद है और द्वारा दिया जाता है:
जहां ए 0 पहचान मैट्रिक्स I है, ए के समान आयामों के साथ । मैट्रिक्स घातांक का उपयोग करके, इन दो त्रिकोणमितीय कार्यों (और इस प्रकार अन्य सभी त्रिकोणमितीय कार्यों) का मूल्यांकन मेट्रिसेस के कार्यों के रूप में किया जा सकता है।
चुनौती
एक वर्ग मैट्रिक्स ए को देखते हुए , के मूल्यों का उत्पादन sin(A)
और cos(A)
।
नियम
- इनपुट और आउटपुट किसी भी सुविधाजनक, उचित प्रारूप (2D सरणी, आपकी भाषा के मैट्रिक्स प्रारूप, आदि) में हो सकते हैं।
- आप एक एकल कार्यक्रम, दो स्वतंत्र कार्यक्रम, एक एकल कार्य या दो कार्य लिख सकते हैं। यदि आप दो फ़ंक्शन लिखना चाहते हैं, तो कोड उनके बीच साझा किया जा सकता है (जैसे आयात और सहायक कार्य)।
- इनपुट मैट्रिक्स के मान हमेशा पूर्णांक होंगे।
- आपके समाधान में फ़्लोटिंग-पॉइंट इंप्रेशन के परिणामस्वरूप सटीकता के मुद्दे हो सकते हैं। यदि आपकी भाषा में जादुई अनंत-सटीक मूल्य थे, तो आपके समाधान को पूरी तरह से काम करना चाहिए (इस तथ्य की अनदेखी करते हुए कि इसे अनंत समय और / या स्मृति की आवश्यकता होगी)। हालाँकि, उन जादुई अनंत-सटीक मूल्यों का अस्तित्व नहीं है, सीमित सटीकता के कारण होने वाली अशुद्धि स्वीकार्य हैं। आउटपुट में सटीक मात्रा में सटीकता की आवश्यकता के परिणामस्वरूप जटिलताओं से बचने के लिए यह नियम है।
- मैट्रिक्स तर्कों (हाइपरबोलिक ट्रिगर कार्यों सहित) के लिए त्रिकोणमितीय कार्यों की गणना करने वाले बिल्ड की अनुमति नहीं है। अन्य मैट्रिक्स बिल्डिंस (जैसे गुणा, घातांक, विकर्ण, अपघटन और मैट्रिक्स घातीय) की अनुमति है।
परीक्षण के मामलों
प्रारूप: A -> sin(A), cos(A)
[[0]] -> [[0]], [[1]]
[[0, 2], [3, 5]] -> [[-0.761177343863758, 0.160587281888277], [0.240880922832416, -0.359709139143065]], [[0.600283445979886, 0.119962280223493], [0.179943420335240, 0.900189146538619]]
[[1, 0, 1], [0, 0, 0], [0, 1, 0]] -> [[0.841470984807897, -0.158529015192103, 0.841470984807897], [0, 0, 0], [0, 1, 0]], [[0.540302305868140, -0.459697694131860, -0.459697694131860], [0, 1, 0], [0, 0, 1]]
[[1, 0, 0, 0, 0], [0, 1, 0, 0, 0], [0, 0, 1, 0, 0], [0, 0, 0, 1, 0], [0, 0, 0, 0, 1]] -> [[0.841470984807897, 0, 0, 0, 0], [0, 0.841470984807897, 0, 0, 0], [0, 0, 0.841470984807897, 0, 0], [0, 0, 0, 0.841470984807897, 0], [0, 0, 0, 0, 0.841470984807897]], [[0.540302305868140, 0, 0, 0, 0], [0, 0.540302305868140, 0, 0, 0], [0, 0, 0.540302305868140, 0, 0], [0, 0, 0, 0.540302305868140, 0], [0, 0, 0, 0, 0.540302305868140]]
[[-3, 2, -6], [3, 0, 4], [4, -2, 7]] -> [[-0.374786510963954, 0.135652884035570, -1.35191037980742], [1.14843105375406, 0.773644542790111, 1.21625749577185], [1.21625749577185, -0.135652884035570, 2.19338136461532]], [[4.13614256031450, -1.91289828483056, 5.50873853927692], [-2.63939111203107, 1.49675144828342, -3.59584025444636], [-3.59584025444636, 1.91289828483056, -4.96843623340878]]
आगे की पढाई
Math.SE पर इस उत्कृष्ट प्रश्न में त्रिकोणमितीय कार्यों के मैट्रिक्स-मूल्यवान एनालॉग्स के कुछ वैकल्पिक व्युत्पन्न शामिल हैं।
(ignoring the fact that it would require infinite time and/or memory)
sin([[1, 0, 1], [0, 0, 0], [0, 1, 0]]) = {{0.841, -0.158, 0.841}, {0, 0, 0}, {0, 1, 0}}
गणितज्ञ के साथ मिला , क्या आप जांच कर सकते हैं?