गिवेंस घूर्णन
संख्यात्मक रैखिक बीजगणित में, गिवेंस घूर्णन दो समन्वय अक्षों द्वारा विस्तरित किये गए समतल में एक घूर्णन (गणित) है। गिवेंस घूर्णन का नाम वालेस गिवेन्स के नाम पर रखा गया है, जिन्होंने 1950 के दशक में आर्गोन नेशनल लेबोरेटरी में काम करते समय उन्हें संख्यात्मक विश्लेषकों से परिचित कराया था।
आव्यूह प्रतिनिधित्व
गिवेन्स घूर्णन को फॉर्म के आव्यूह (गणित) द्वारा दर्शाया जाता है
जहाँ c = cos θ और s = sin θ ith और ith पंक्तियों और स्तंभों के प्रतिच्छेदन पर दिखाई देते हैं। अर्थात्, निश्चित i > j के लिए, गिवेंस आव्यूह के गैर-शून्य तत्व इस प्रकार दिए गए हैं:
उत्पाद G(i, j, θ)x यूक्लिडियन सदिश के वामावर्त घूर्णन का प्रतिनिधित्व करता है, x में (i, j) का समतल θ रेडियन, इसलिए नाम गिवेंस घूर्णन है।
संख्यात्मक रैखिक बीजगणित में गिवेंस घूर्णन का मुख्य उपयोग सदिश या आव्यूह में शून्य [स्पष्टीकरण की आवश्यकता] को प्रस्तुत करना है। उदाहरण के लिए, इस प्रभाव को आव्यूह के क्यूआर अपघटन की गणना के लिए नियोजित किया जा सकता है। घरेलू परिवर्तनों की तुलना में एक लाभ यह है कि उन्हें आसानी से समानांतर किया जा सकता है, और दूसरा यह है कि प्रायः बहुत विरल आव्यूह के लिए उनकी संचालन संख्या कम होती है।
स्थिर गणना
जब एक गिवेंस घूर्णन आव्यूह, G(i, j, θ), दूसरे आव्यूह को गुणा करता है, A, बाएं से, G A, केवल पंक्तियाँ i और j का A प्रभावित कर रहे हैं। इस प्रकार हम निम्नलिखित वामावर्त समस्या पर ध्यान केंद्रित करते हैं। दिया गया a और b, पाना c = cos θ और s = sin θ ऐसा है कि
जहाँ सदिश की लंबाई है। स्पष्ट गणना θ संभवतया ही कभी आवश्यक या वांछनीय हो। इसके बदले में हम सीधे खोजते हैं c और s. एक स्पष्ट समाधान होगा
हालाँकि, के लिए गणना r अंकगणित अतिप्रवाह या अल्पप्रवाह हो सकता है। इस समस्या से बचने का एक वैकल्पिक सूत्रीकरण (गोलब & वैन लोन 1996, §5.1.8) को कई प्रोग्रामिंग लैंग्वेज में हाइपोट फलन के रूप में कार्यान्वित किया जाता है।
निम्नलिखित फोरट्रान कोड वास्तविक संख्याओं के लिए गिवेंस घूर्णन का एक न्यूनतम कार्यान्वयन है। यदि इनपुट मान 'a' या 'b' प्रायः शून्य होते हैं, तो इन मामलों को संभालने के लिए कोड को अनुकूलित किया जा सकता है जैसा कि प्रस्तुत किया गया है यहां।
subroutine givens_rotation(a, b, c, s, r)
real a, b, c, s, r
real h, d
if (b.ne.0.0) then
h = hypot(a, b)
d = 1.0 / h
c = abs(a) * d
s = sign(d, a) * b
r = sign(1.0, a) * h
else
c = 1.0
s = 0.0
r = a
end if
return
end
इसके अतिरिक्त, जैसा कि एडवर्ड एंडरसन ने लैपैक (LAPACK) को उत्तम बनाने में खोजा था, पहले से अनदेखा किया गया संख्यात्मक विचार निरंतरता है। इसे प्राप्त करने के लिए, हमें r का धनात्मक होना आवश्यक है।[2] निम्नलिखित मैटलैब/जेएनयू (MATLAB/GNU) ऑक्टेव कोड एल्गोरिथम को दर्शाता है।
function [c, s, r] = givens_rotation(a, b)
if b == 0;
c = sign(a);
if (c == 0);
c = 1.0; % Unlike other languages, MatLab's sign function returns 0 on input 0.
end;
s = 0;
r = abs(a);
elseif a == 0;
c = 0;
s = -sign(b);
r = abs(b);
elseif abs(a) > abs(b);
t = b / a;
u = sign(a) * sqrt(1 + t * t);
c = 1 / u;
s = -c * t;
r = a * u;
else
t = a / b;
u = sign(b) * sqrt(1 + t * t);
s = -1 / u;
c = t / u;
r = b * u;
end
end
आईईईई 754 copysign(x,y)
फलन, साइन को कॉपी करने का एक सुरक्षित और सरल तरीका प्रदान करता है y
को x
. यदि वह उपलब्ध नहीं है, |x|⋅sgn(y), निरपेक्ष मान और साइन फलन का उपयोग करना, एक विकल्प है जैसा कि ऊपर किया गया है।
त्रिकोणीकरण
निम्नलिखित को देखते हुए 3×3 आव्यूह:
क्यूआर अपघटन की गणना करने के लिए एक ऊपरी त्रिकोणीय आव्यूह प्राप्त करने के लिए गिवेंस घूर्णन के दो पुनरावृत्तियों को निष्पादित करें (ध्यान दें कि यहां प्रयोग किया गया गिवेंस घूर्णन एल्गोरिदम ऊपर से थोड़ा अलग है)।
वांछित आव्यूह बनाने के लिए, हमें शून्य तत्व (2,1) और (3,2) चाहिए। हम पहले तत्वों (2,1) से शून्य तक का चयन करते हैं। घूर्णन आव्यूह का उपयोग करना:
हमारे पास निम्नलिखित आव्यूह गुणन है:
जहाँ
के लिए इन मानों को प्लग इन करना c और s और प्रस्तुतीकरण के ऊपर आव्यूह गुणन निष्पादित करना A2:
अब हम तत्व को शून्य करना चाहते हैं (3,2) प्रक्रिया को समाप्त करने के लिए। पहले की तरह ही विचार का उपयोग करते हुए, हमारे पास एक घूर्णन आव्यूह है:
हमें निम्नलिखित आव्यूह गुणन प्रस्तुत किया गया है:
जहाँ
c और s के लिए इन मानों को जोड़ने और गुणन करने से हमें A3 प्राप्त होता है:
यह नया आव्यूह A3 क्यूआर अपघटन की पुनरावृत्ति करने के लिए आवश्यक ऊपरी त्रिकोणीय आव्यूह है। Q अब निम्नलिखित तरीके से घूर्णन आव्यूह के स्थानान्तरण का उपयोग करके बनाया गया है:
इस आव्यूह गुणन को निष्पादित करने से प्राप्त होता है:
यह गिवेंस घूर्णन के दो पुनरावृत्तियों को पूरा करता है और क्यूआर अपघटन की गणना अब की जा सकती है।
क्लिफ़ोर्ड बीजगणित में
क्लिफ़ोर्ड बीजगणित और इसकी बाल संरचनाओं जैसे ज्यामितीय बीजगणित में घूर्णनोंको द्विसदिश द्वारा दर्शाया जाता है। दिए गए घूर्णनोंको आधार सदिश के बाहरी उत्पाद द्वारा दर्शाया जाता है। आधार सदिश की किसी भी जोड़ी को देखते हुए दिए गए घूर्णन द्विभाजक हैं:
किसी भी सदिश पर उनकी क्रिया लिखी जाती है:
जहाँ
आयाम 3
आयाम 3 में तीन गिवेंस घूर्णन हैं:
यह देखते हुए कि वे एंडोमोर्फिज्म हैं, इसे ध्यान में रखते हुए, उन्हें एक-दूसरे के साथ जितनी बार चाहें, बनाया जा सकता है g ∘ f ≠ f ∘ g.
ये तीन गिवेंस घूर्णन फंक्शन कंपोजिशन#घूर्णन कंपोजिशन डेवनपोर्ट चेन्ड घूर्णन|डेवेनपोर्ट के चेन्ड घूर्णन प्रमेय के अनुसार किसी भी घूर्णन आव्यूह को उत्पन्न कर सकते हैं। इसका मतलब यह है कि वे अंतरिक्ष के मानक आधार को अंतरिक्ष में किसी अन्य फ्रेम में परिवर्तित (ज्यामिति) कर सकते हैं।
जब घूर्णन सही क्रम में किया जाता है, तो अंतिम फ्रेम के घूर्णन कोणों का मान संबंधित परिपाटी में अंतिम फ्रेम के यूलर कोणों के बराबर होगा। उदाहरण के लिए, एक ऑपरेटर अंतरिक्ष के आधार को कोण रोल, पिच और यॉ के साथ एक फ्रेम में बदल देता है टैट-ब्रायन कोणों में है। टैट-ब्रायन सम्मेलन z-x-y (सम्मेलन जिसमें नोड्स की रेखा z और Y अक्षों के लंबवत होती है, जिसे Y-X′-Z″ भी कहा जाता है)।
इसी कारण से, 3डी में किसी भी घूर्णन आव्यूह को इन त्रि-आयामी घूर्णन ऑपरेटरों में से तीन के उत्पाद में विघटित किया जा सकता है।
दो गिवेन्स घूर्णनोंकी संरचना का अर्थ g ∘ f एक ऑपरेटर है जो पहले सदिश को बदलता है f और फिर द्वारा g, प्राणी f और g अंतरिक्ष के आधार के एक अक्ष के बारे में घूर्णन है। यह यूलर कोणों के समान है#यूलर कोणों के लिए बाहरी घूर्णनोंकी संरचना के रूप में यूलर कोण है।
संघटित घूर्णनोंकी तालिका
निम्न तालिका सक्रिय और निष्क्रिय परिवर्तन की बाहरी संरचना (आधार अक्षों के बारे में घूर्णन की संरचना) और कोणों के धनात्मक संकेत के लिए दाएं हाथ के नियम का उपयोग करके विभिन्न यूलर कोण सम्मेलनों के समतुल्य तीन गिवेंस घूर्णन दिखाती है।
अंकन को इस प्रकार सरल बनाया गया है c1 साधन cos θ1 और s2 साधन sin θ2). कोणों के उपसूचकांक वह क्रम हैं जिसमें उन्हें बाहरी संरचना का उपयोग करके लागू किया जाता है (1 आंतरिक घूर्णन के लिए, 2 संकेतन के लिए, 3 पूर्वगमन के लिए)
चूंकि घूर्णनोंको यूलर कोणों के पूर्णतया विपरीत क्रम में लागू किया जाता है संघटित घूर्णनोंकी तालिका, यह तालिका समान है लेकिन संबंधित प्रविष्टि से जुड़े कोणों में सूचकांक 1 और 3 की अदला-बदली करती है। Zxy जैसी प्रविष्टि का अर्थ है आधार अक्षों में पहले y घूर्णन, फिर x और अंत में z लागू करना।
सभी रचनाएँ आव्यूहों के लिए दाहिने हाथ की परिपाटी को मानती हैं जिन्हें गुणा किया जाता है, जिससे निम्नलिखित परिणाम प्राप्त होते हैं।
xzx xzy xyx xyz yxy yxz yzy yzx zyz zyx zxz zxy
यह भी देखें
- जैकोबी घूर्णन
- घूर्णन का तल
- गृहस्थ परिवर्तन
- डेवनपोर्ट घूर्णन
टिप्पणियाँ
- ↑ The rotation matrix immediately below is not a Givens rotation. The matrix immediately below respects the right-hand rule and is this usual matrix one sees in Computer Graphics; however, a Givens rotation is simply a matrix as defined in the Matrix representation section above and does not necessarily respect the right-hand rule. The below matrix is actually the Givens rotation through an angle of -.
उद्धरण
- ↑ Björck, Ake (1996). न्यूनतम वर्ग समस्याओं के लिए संख्यात्मक विधियाँ (in English). United States: SIAM. p. 54. ISBN 9780898713602. Retrieved 16 August 2016.
- ↑ Anderson, Edward (4 December 2000). "असंतुलित समतल घुमाव और सममित आइगेनवैल्यू समस्या" (PDF). LAPACK Working Note. University of Tennessee at Knoxville and Oak Ridge National Laboratory. Retrieved 16 August 2016.
संदर्भ
- Bindel, D.; Demmel, J.; Kahan, W.; Marques, O. (2000), On Computing Givens rotations reliably and efficiently. LAPACK Working Note 148, University of Tennessee, UT-CS-00-449, January 31, 2001.
- Cybenko, George (March–April 2001), "Reducing Quantum Computations to Elementary Unitary Operations" (PDF), Computing in Science and Engineering, 3 (2): 27–32, doi:10.1109/5992.908999
- Golub, Gene H.; Van Loan, Charles F. (1996), Matrix Computations (3rd ed.), Johns Hopkins, ISBN 978-0-8018-5414-9.
- Press, WH; Teukolsky, SA; Vetterling, WT; Flannery, BP (2007), "Section 11.3.1. Givens Method", Numerical Recipes: The Art of Scientific Computing (3rd ed.), New York: Cambridge University Press, ISBN 978-0-521-88068-8