पायथागॉरियन जोड़
गणित में, पायथागॉरियन योग वास्तविक संख्याओं पर एक द्विआधारी संक्रिया है जो एक समकोण त्रिभुज के कर्ण की लंबाई की गणना करता है, इसकी दो भुजाएँ दी गई हैं। पाइथागोरस प्रमेय के अनुसार, भुजाओं वाले त्रिभुज के लिए तथा , इस लंबाई की गणना की जा सकती है
अनुप्रयोग
पायथागॉरियन जोड़ (और हाइपोट फ़ंक्शन के रूप में इसका कार्यान्वयन) अक्सर कार्टेशियन समन्वय प्रणाली से परिवर्तित करने के लिए atan2 फ़ंक्शन के साथ प्रयोग किया जाता है ध्रुवीय समन्वय प्रणाली के लिए :[3][4]
सिग्नल प्रोसेसिंग में, शोर के स्वतंत्र स्रोतों से समग्र शोर को खोजने के लिए चतुर्भुज में जोड़ का उपयोग किया जाता है। उदाहरण के लिए, यदि एक छवि संवेदक शॉट शोर के छह एनालॉग-टू-डिजिटल कन्वर्टर्स, तीन डार्क करंट (भौतिकी) और दो जॉनसन-निक्विस्ट शोर एक विशिष्ट स्थिति के तहत देता है, तो समग्र शोर है
गुण
आपरेशन साहचर्य और क्रमविनिमेय है,[7] तथा
इसका मतलब है कि वास्तविक संख्या के तहत एक अर्धसमूह बनाएं।
के तहत वास्तविक संख्या एक समूह (गणित) नहीं हैं, क्योंकि इसके परिणाम के रूप में कभी भी ऋणात्मक संख्या उत्पन्न नहीं हो सकती है, जबकि समूह के प्रत्येक तत्व को पहचान तत्व द्वारा स्वयं के गुणन का परिणाम होना चाहिए। गैर-ऋणात्मक संख्याओं पर, यह अभी भी एक समूह नहीं है, क्योंकि पाइथागोरस द्वारा एक संख्या को दूसरी धनात्मक संख्या से जोड़ने पर केवल पहली संख्या में वृद्धि हो सकती है, इसलिए किसी भी धनात्मक संख्या में व्युत्क्रम तत्व नहीं हो सकता है। इसके बजाय, यह शून्य के साथ इसकी पहचान के रूप में गैर-ऋणात्मक संख्याओं पर एक क्रमविनिमेय मोनोइड बनाता है।
कार्यान्वयन
हाइपोट एक गणितीय कार्य है जिसे समकोण त्रिभुज के कर्ण की लंबाई की गणना करने के लिए परिभाषित किया गया है। इसे कंप्यूटर पर की गई सीमित-परिशुद्धता गणनाओं के कारण उत्पन्न होने वाली त्रुटियों से बचने के लिए डिज़ाइन किया गया था। त्रिभुज के कर्ण की लंबाई की गणना दो वर्गों (बीजगणित) के योग पर वर्गमूल फलन का उपयोग करके संभव है, लेकिन hypot बहुत बड़ी या बहुत छोटी संख्याओं का वर्ग करते समय होने वाली समस्याओं से बचा जाता है। यदि प्राकृतिक सूत्र का उपयोग करके गणना की जाती है,
गणना क्रम
भोले कार्यान्वयन के साथ कठिनाई यह है कि ओवरफ्लो या अंडरफ्लो हो सकता है, जब तक कि मध्यवर्ती परिणाम विस्तारित परिशुद्धता के साथ गणना नहीं किया जाता है। यदि आवश्यक हो, तो मूल्यों का आदान-प्रदान करने के लिए एक सामान्य कार्यान्वयन तकनीक है , और फिर समकक्ष रूप का उपयोग करने के लिए
- कब से बहुत बड़ा है , , मशीन परिशुद्धता के भीतर।
- कब अतिप्रवाह, दोनों को गुणा करें तथा एक छोटे स्केलिंग कारक द्वारा (उदाहरण के लिए 2−64 आईईईई एकल परिशुद्धता के लिए), सहज एल्गोरिदम का उपयोग करें जो अब अतिप्रवाह नहीं करेगा, और परिणाम को (बड़े) व्युत्क्रम से गुणा करें (उदाहरण 264).
- कब अंडरफ्लो, ऊपर के रूप में स्केल करें लेकिन मध्यवर्ती मानों को स्केल करने के लिए स्केलिंग कारकों को उलट दें।
- अन्यथा, भोली एल्गोरिथ्म उपयोग करने के लिए सुरक्षित है।
हालाँकि, यह कार्यान्वयन बेहद धीमा है जब यह अलग-अलग मामलों के कारण गलत छलांग की भविष्यवाणी करता है। अतिरिक्त तकनीकें परिणाम को अधिक सटीक रूप से गणना करने की अनुमति देती हैं, उदा। अंतिम स्थान पर एक इकाई से कम।[8]
प्रोग्रामिंग भाषा समर्थन
समारोह सहित कई प्रोग्रामिंग भाषाओं और पुस्तकालयों में मौजूद है सीएसएस,[12] सी++11,[13] डी (प्रोग्रामिंग भाषा),[14] जाओ (प्रोग्रामिंग भाषा),[15] जावास्क्रिप्ट (ES2015 के बाद से),[16] जूलिया (प्रोग्रामिंग भाषा),[17] जावा (प्रोग्रामिंग भाषा) (संस्करण 1.5 से),[18] कोटलिन (प्रोग्रामिंग भाषा),[19] मतलब,[20] पीएचपी,[21] पायथन (प्रोग्रामिंग भाषा),[22] रूबी (प्रोग्रामिंग भाषा),[23] जंग (प्रोग्रामिंग भाषा),[24] और स्काला (प्रोग्रामिंग भाषा)।[25]
यह भी देखें
- यूक्लिडियन दूरी
- अल्फा मैक्स प्लस बीटा मिन एल्गोरिथम
- Metafont में पाइथागोरस का जोड़ और घटाव अंतर्निहित संचालन के रूप में, नामों के तहत है
++
तथा+-+
क्रमश।
संदर्भ
- ↑ Moler, Cleve; Morrison, Donald (1983). "Replacing square roots by Pythagorean sums". IBM Journal of Research and Development. 27 (6): 577–581. CiteSeerX 10.1.1.90.5651. doi:10.1147/rd.276.0577.
- ↑ Johnson, David L. (2017). "12.2.3 Addition in Quadrature". Statistical Tools for the Comprehensive Practice of Industrial Hygiene and Environmental Health Sciences. John Wiley & Sons. p. 289. ISBN 9781119143017.
- ↑ "SIN (3M): Trigonometric functions and their inverses". Unix Programmer's Manual: Reference Guide (4.3 Berkeley Software Distribution Virtual VAX-11 Version ed.). Department of Electrical Engineering and Computer Science, University of California, Berkeley. April 1986.
- ↑ Beebe, Nelson H. F. (2017). The Mathematical-Function Computation Handbook: Programming Using the MathCW Portable Software Library. Springer. p. 70. ISBN 9783319641102.
- ↑ D.B. Schneider, Error Analysis in Measuring Systems, Proceedings of the 1962 Standards Laboratory Conference, page 94
- ↑ J.T. Bushberg et al, The Essential Physics of Medical Imaging, section 10.2.7, Wolters Kluwer Health
- ↑ Falmagne, Jean-Claude (2015). "Deriving meaningful scientific laws from abstract, "gedanken" type, axioms: five examples". Aequationes Mathematicae. 89 (2): 393–435. doi:10.1007/s00010-015-0339-1. MR 3340218. S2CID 121424613.
- ↑ 8.0 8.1 8.2 Borges, Carlos F. (2021), "Algorithm 1014: An Improved Algorithm for hypot(x, y)", ACM Transactions on Mathematical Software, 47 (1): 9:1–9:12, arXiv:1904.09481, doi:10.1145/3428446
- ↑ Fog, Agner (2020-04-27). "Floating point exception tracking and NAN propagation" (PDF). p. 6.
- ↑ Common mathematical functions std::hypot, std::hypotf, std::hypotl
- ↑ Measured on ARM and x64 (Intel and AMD) for different compilers with maximum optimization for 32 bit and 64 bit floats.
- ↑ Cimpanu, Catalin. "CSS to get support for trigonometry functions". ZDNet. Retrieved 2019-11-01.
- ↑ "Hypot - C++ Reference".
- ↑ "STD.math - D Programming Language".
- ↑ "Math package - math - PKG.go.dev".
- ↑ "Math.hypot() - JavaScript | MDN".
- ↑ "Mathematics · the Julia Language".
- ↑ "Math (Java 2 Platform SE 5.0)".
- ↑ "hypot - Kotlin Programming Language". Kotlin. Retrieved 2018-03-19.
- ↑ "Square root of sum of squares (Hypotenuse) - MATLAB hypot - MathWorks Benelux".
- ↑ "PHP: Hypot - Manual".
- ↑ "Math — Mathematical functions — Python 3.9.7 documentation".
- ↑ "Module: Math (Ruby 3.0.2)".
- ↑ "F64 - Rust".
- ↑ "Scala Standard Library 2.13.6 - scala.math".
इस पेज में लापता आंतरिक लिंक की सूची
अग्रिम पठन
- Dubrulle, Augustin A. (1983). "A class of numerical methods for the computation of Pythagorean sums" (PDF). IBM Journal of Research and Development. 27 (6): 582–589. CiteSeerX 10.1.1.94.3443. doi:10.1147/rd.276.0582..