गिवेंस घूर्णन
संख्यात्मक रैखिक बीजगणित में, गिवेन्स रोटेशन दो निर्देशांक अक्षों द्वारा फैले विमान में एक घूर्णन (गणित) है। गिवेंस रोटेशन का नाम वालेस गिवेन्स के नाम पर रखा गया है, जिन्होंने 1950 के दशक में उन्हें संख्यात्मक विश्लेषकों से परिचित कराया था जब वह आर्गोन नेशनल लेबोरेटरी में काम कर रहे थे।
मैट्रिक्स प्रतिनिधित्व
गिवेन्स रोटेशन को फॉर्म के मैट्रिक्स (गणित) द्वारा दर्शाया जाता है
कहाँ c = cos θ और s = sin θ चौराहों पर दिखाई देते हैं iवें और jवीं पंक्तियाँ और स्तंभ। यानी तय के लिए i > j, गिवेंस मैट्रिक्स के गैर-शून्य तत्व इस प्रकार दिए गए हैं:
उत्पाद G(i, j, θ)x यूक्लिडियन वेक्टर के वामावर्त घुमाव का प्रतिनिधित्व करता है x में (i, j) का विमान θ रेडियन, इसलिए नाम गिवेंस रोटेशन।
संख्यात्मक रैखिक बीजगणित में गिवेंस रोटेशन का मुख्य उपयोग शून्य का परिचय देना है[clarification needed] सदिशों या आव्यूहों में। उदाहरण के लिए, इस प्रभाव को मैट्रिक्स के क्यूआर अपघटन की गणना के लिए नियोजित किया जा सकता है। घरेलू परिवर्तनों पर एक फायदा यह है कि उन्हें आसानी से समानांतर किया जा सकता है, और दूसरा यह है कि अक्सर बहुत विरल मैट्रिक्स के लिए उनकी संचालन संख्या कम होती है।
स्थिर गणना
जब एक गिवेंस रोटेशन मैट्रिक्स, G(i, j, θ), दूसरे मैट्रिक्स को गुणा करता है, A, बाएं से, G A, केवल पंक्तियाँ i और j का A प्रभावित कर रहे हैं। इस प्रकार हम निम्नलिखित वामावर्त समस्या पर ध्यान केंद्रित करते हैं। दिया गया a और b, पाना c = cos θ और s = sin θ ऐसा है कि
कहाँ वेक्टर की लंबाई है . की स्पष्ट गणना θ शायद ही कभी आवश्यक या वांछनीय हो। इसके बजाय हम सीधे खोजते हैं c और s. एक स्पष्ट समाधान होगा
हालाँकि, के लिए गणना r अंकगणित अतिप्रवाह या अल्पप्रवाह हो सकता है। इस समस्या से बचने का एक वैकल्पिक सूत्रीकरण (Golub & Van Loan 1996, §5.1.8) को कई प्रोग्रामिंग भाषाओं में हाइपोट फ़ंक्शन के रूप में कार्यान्वित किया जाता है।
निम्नलिखित फोरट्रान कोड वास्तविक संख्याओं के लिए गिवेंस रोटेशन का एक न्यूनतम कार्यान्वयन है। यदि इनपुट मान 'ए' या 'बी' अक्सर शून्य होते हैं, तो इन मामलों को संभालने के लिए कोड को अनुकूलित किया जा सकता है जैसा कि प्रस्तुत किया गया है यहां।
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 अब निम्नलिखित तरीके से रोटेशन मैट्रिक्स के स्थानान्तरण का उपयोग करके बनाया गया है:
इस मैट्रिक्स गुणन को निष्पादित करने से प्राप्त होता है:
यह गिवेंस रोटेशन के दो पुनरावृत्तियों को पूरा करता है और क्यूआर अपघटन की गणना अब की जा सकती है।
क्लिफ़ोर्ड बीजगणित में
क्लिफ़ोर्ड बीजगणित और इसकी बाल संरचनाओं जैसे ज्यामितीय बीजगणित में घुमावों को bivector द्वारा दर्शाया जाता है। दिए गए घुमावों को आधार वैक्टर के बाहरी उत्पाद द्वारा दर्शाया जाता है। आधार वैक्टर की किसी भी जोड़ी को देखते हुए दिए गए घूर्णन द्विभाजक हैं:
किसी भी वेक्टर पर उनकी क्रिया लिखी जाती है:
कहाँ
आयाम 3
आयाम 3 में तीन गिवेंस घुमाव हैं:
यह देखते हुए कि वे एंडोमोर्फिज्म हैं, इसे ध्यान में रखते हुए, उन्हें एक-दूसरे के साथ जितनी बार चाहें, बनाया जा सकता है g ∘ f ≠ f ∘ g.
ये तीन गिवेंस रोटेशन फंक्शन कंपोजिशन#रोटेशन कंपोजिशन डेवनपोर्ट चेन्ड रोटेशन|डेवेनपोर्ट के चेन्ड रोटेशन प्रमेय के अनुसार किसी भी रोटेशन मैट्रिक्स को उत्पन्न कर सकते हैं। इसका मतलब यह है कि वे अंतरिक्ष के मानक आधार को अंतरिक्ष में किसी अन्य फ्रेम में परिवर्तित (ज्यामिति) कर सकते हैं।[clarification needed]
जब घूर्णन सही क्रम में किया जाता है, तो अंतिम फ्रेम के घूर्णन कोणों का मान संबंधित परिपाटी में अंतिम फ्रेम के यूलर कोणों के बराबर होगा। उदाहरण के लिए, एक ऑपरेटर अंतरिक्ष के आधार को कोण रोल, पिच और यॉ के साथ एक फ्रेम में बदल देता है टैट-ब्रायन कोणों में | टैट-ब्रायन सम्मेलन 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