V teorii matice je rotační matice reálná čtvercová matice, jejíž transpozice je její inverzní a jejíž determinant je +1 (tj. je to reálná speciální ortogonální matice)
Matice se nazývá proto, že geometricky odpovídá lineární mapě, která posílá vektory k odpovídajícímu vektoru otočenému kolem počátku o pevný úhel.
Rotační matice mohou být zobecněny až do n-rozměrného euklidovského prostoru a mohou pracovat na jakémkoli komutativním skalárním poli, nicméně pro reálné aplikace je typické uvažovat jen o rotačních maticích ve 2 nebo 3 rozměrech a s reálnými součástmi.
2-dimenzionální rotační matice
Je levou rukou 2-dimenzionální rotace radiánů ve směru hodinových ručiček o původu.
Pro rotaci proti směru hodinových ručiček, nebo pro rotaci souřadnicového systému po směru hodinových ručiček (udržování bodu v rovnováze) lze použít výše uvedenou matici, která se nahrazuje
3-dimenzionální rotační matice
Existují tři trojrozměrné rotační matice, které odpovídají rotacím okolo os x, y a z.
kde pošle vektor na vektor otočil radiány po směru hodinových ručiček (při pohledu podél osy s pozitivní osy natahující se před vámi) o ose .
Chcete-li najít rotační matici odpovídající rotaci proti směru hodinových ručiček kolem osy, nebo rotaci souřadnicového systému kolem osy, nahraďte v některém z matic.
V letectví a dynamice letu se rotace kolem os x, y a z jmenuje roll, pitch a yaw, respektive, kde souřadnicový systém má osu x podél směru letu a kladnou osu y směřující doprava.
Vlastnosti rotační matice
Pro všechny rotační matice a , Identita v
Rotace o libovolném vektoru
Rotace o libovolný vektor normalizované tak, že o úhlu je dána matice
Tato reprezentace rotace, odlišná od té přes Eulerovy úhly, je pro některé aplikace docela výhodná.
Rotace, která nenechává „handedness“ beze změny, se nazývá Improper Rotation nebo Rotoinversion
Vezmeme-li pevný bod jako počátek karteziánské souřadnicové soustavy, pak každý bod může mít souřadnice jako posunutí od počátku. Tak můžeme pracovat s vektorovým prostorem posunutí místo bodů samotných. Nyní předpokládejme (p1,…,pn) jsou souřadnice vektoru p od počátku, O, do bodu P. Zvolte ortonormální základ pro naše souřadnice; pak čtvercová vzdálenost k P, podle Pythagoras, je
které můžeme spočítat pomocí maticového násobení
Geometrická rotace transformuje přímky na přímky a zachovává poměry vzdáleností mezi body. Z těchto vlastností můžeme ukázat, že rotace je lineární transformace vektorů, a tudíž může být zapsána v maticové formě, Qp. Skutečnost, že rotace zachovává nejen poměry, ale i samotné vzdálenosti, můžeme uvést jako
Protože tato rovnice platí pro všechny vektory, p, dojdeme k závěru, že každá rotační matice, Q, splňuje podmínku ortogonality,
Rotace zachovávají ovladatelnost, protože nemohou změnit pořadí os, z čehož vyplývá speciální podmínka matice,
Stejně důležité je, že můžeme ukázat, že každá matice splňující tyto dvě podmínky působí jako rotace.
Inverzní na rotační matice je jeho transponovat, což je také rotační matice:
Součin dvou rotačních matic je rotační matice:
Pro n větší než 2 není násobení n×n rotačních matic komutativní.
Uvědomíme-li si, že každá matice identity je rotační matice a že násobení matice je asociativní, můžeme shrnout všechny tyto vlastnosti tak, že n×n rotační matice tvoří skupinu, která pro n >2 není abelovská. Nazýváme ji speciální ortogonální skupinou a označujeme ji SO(n), SO(n,R), SOn nebo SOn(R), skupina n×n rotačních matic je izomorfní ke skupině rotací v n-rozměrném prostoru. To znamená, že násobení rotačních matic odpovídá složení rotací.
Výklad rotační matice může být předmětem mnoha nejasností.
Ve většině případů je důsledkem nejednoznačnosti transpozice nebo invertování matice.
Vezměme si rotační matici 3×3
Pokud Q působí v určitém směru, v, čistě jako škálování faktorem λ, pak máme
λ je tedy kořenem charakteristického polynomu pro Q,
Za zmínku stojí dva rysy. Za prvé, jeden z kořenů (neboli vlastních čísel) je 1, což nám říká, že nějaký směr matice neovlivňuje. Pro rotace ve třech rozměrech je to osa rotace (pojem, který nemá význam v žádném jiném rozměru). Za druhé, další dva kořeny jsou dvojice komplexních konjugátů, jejichž součin je 1 (konstantní výraz kvadratické rovnice) a jejichž součet je 2 cos θ (negovaný lineární výraz). Tato faktorizace je zajímavá pro 3×3 rotační matice, protože u všech z nich dochází ke stejnému jevu. (Jako zvláštní případy jsou pro nulovou rotaci „komplexní konjugáty“ oba 1 a pro 180° rotaci oba −1.) Dále platí podobná faktorizace pro každou n×n rotační matici. Pokud je rozměr n lichý, vznikne „klátící se“ vlastní číslo 1 a pro každou dimenzi zbytek polynomiálních faktorů do kvadratických výrazů, jako je ten zde (s uvedením dvou zvláštních případů). Je nám zaručeno, že charakteristický polynom bude mít stupeň n a tedy n vlastních čísel. A protože rotační matice obchází se svým transpozicí, je to normální matice, takže může být diagonalizována. Z toho vyvozujeme, že každá rotační matice, je-li vyjádřena ve vhodné souřadnicové soustavě, rozděluje se do nezávislých rotací dvourozměrných podprostorů, z nichž nejvýše n⁄2.
Součet zápisů na hlavní diagonále matice se nazývá trace; nemění se, pokud přeorientujeme souřadnicovou soustavu, a vždy se rovná součtu vlastních hodnot. To má pro rotační matice 2×2 a 3×3 příhodný důsledek, že trace odhaluje úhel rotace θ ve dvourozměrném (sub-)prostoru. Pro matici 2×2 je trace 2 cos(θ) a pro matici 3×3 je to 1+2 cos(θ). V trojrozměrném případě se subprostor skládá ze všech vektorů kolmých k ose rotace (invariantní směr, s vlastní hodnotou 1). Tak můžeme z každé rotační matice 3×3 extrahovat rotační osu a úhel, a ty zcela určují rotaci.
Omezení na 2×2 rotační matice znamenají, že musí mít formu
s a2+b2 = 1. Proto můžeme nastavit a = cos θ a b = sin θ, pro nějaký úhel θ. Pro řešení pro θ nestačí podívat se pouze na a nebo b; musíme vzít v úvahu oba dohromady, abychom umístili úhel do správného kvadrantu, za použití dvouargumentové funkce arctangent.
Nyní zvažte první sloupec rotační matice 3×3,
Přestože a2+b2 se pravděpodobně nebude rovnat 1, ale nějaké hodnotě r2 < 1, můžeme použít mírnou odchylku předchozího výpočtu k nalezení tzv. Givensovy rotace, která transformuje sloupec na
nulování b. Působí na podprostor rozložený na osy x a y. Poté můžeme opakovat proces pro podprostor xz na nulu c. Působí na plnou matici, tyto dvě rotace vytvářejí schematický tvar
Při přesunu pozornosti na druhý sloupec může nyní Givensova rotace podprostoru yz vynulovat hodnotu z. Tím se do formuláře dostane celá matice
což je matice identity. Takto jsme rozložili Q jako
n×n rotační matice bude mít (n−1)+(n−2)+⋯+2+1, nebo
zápisy pod úhlopříčkou k nule. Můžeme je vynulovat rozšířením stejné myšlenky procházení sloupci s řadou otáček v pevném sledu rovin. Došli jsme k závěru, že soubor n×n rotačních matic, z nichž každá má n2 zápisy, může být parametrizován n(n−1)/2 úhly.
Ve třech dimenzích to znovu formuluje do maticové formy pozorování provedené Eulerem, takže matematici nazývají uspořádanou posloupnost tří úhlů Eulerovými úhly. Situace je však poněkud složitější, než jsme dosud uváděli. Navzdory malému rozměru máme vlastně značnou volnost v posloupnosti osových párů, které používáme; a máme také určitou volnost ve volbě úhlů. Tak nacházíme mnoho různých konvencí používaných, když jsou trojrozměrné rotace parameterizovány pro fyziku, nebo medicínu, nebo chemii, nebo jiné disciplíny. Když zahrneme možnost světových os nebo tělesných os, je možné 24 různých posloupností. A zatímco některé disciplíny nazývají jakoukoli posloupnost Eulerovými úhly, jiné dávají různým posloupnostem různá jména (Euler, Cardano, Tait-Byan, roll-pitch-yaw).
Jedním z důvodů velkého počtu možností je to, že, jak již bylo uvedeno dříve, rotace ve třech rozměrech (a vyšších) nekomutují. Pokud obrátíme danou posloupnost rotací, dostaneme jiný výsledek. Z toho také vyplývá, že nemůžeme skládat dvě rotace sečtením jejich odpovídajících úhlů. Eulerovy úhly tedy nejsou vektory, navzdory podobnosti vzhledu jako trojice čísel.
3×3 rotační matice jako
navrhuje 2×2 rotační matici,
je vložen v levém horním rohu:
To není žádná iluze; ne jen jedna, ale mnoho kopií n-rozměrných rotací se nachází uvnitř (n+1)-rozměrných rotací, jako podskupin. Každé vnoření ponechává jeden směr pevný, což je v případě matice 3×3 osa rotace. Například máme
stanovení osy x, osy y a osy z. Osa rotace nemusí být souřadnicová osa; pokud u = (x,y,z) je jednotkový vektor v požadovaném směru, pak
kde cθ = cos θ, sθ = sin θ, je rotace o úhel θ opouštějící osu u pevnou.
Směr v (n+1)-rozměrném prostoru bude jednotkový vektor velikosti, který můžeme považovat za bod na zobecněné kouli, Sn. Je tedy přirozené popsat rotační skupinu SO(n+1) jako kombinaci SO(n) a Sn. Vhodným formalismem je svazek vláken,
kde pro každý směr v „základním prostoru“, Sn, „vlákno“ nad ním v „celkovém prostoru“, SO(n+1), je kopií „vláknového prostoru“, SO(n), tedy rotací, které udržují tento směr neměnný.
Můžeme tedy postavit n×n rotační matici tak, že začneme s maticí 2×2, zaměříme její pevnou osu na S2 (obyčejná koule v trojrozměrném prostoru), zaměříme výslednou rotaci na S3 a tak dále nahoru přes Sn−1. Bod na Sn lze vybrat pomocí n čísel, takže opět máme n(n−1)/2 čísla pro popis libovolné n×n rotační matice.
Ve skutečnosti můžeme považovat sekvenční úhlovou dekompozici, o které jsme mluvili dříve, za obrácení tohoto procesu. Složení n−1 Givensových rotací přivádí první sloupec (a řádek) do (1,0,…,0), takže zbytek matice je rotační matice o jeden rozměr menší, vložená tak, aby zůstala (1,0,…,0) pevná.
Když n×n rotační matice, Q, nezahrnuje −1 jako vlastní číslo, takže žádná z planárních rotací, z nichž se skládá, není 180° rotací, pak Q+I je invertibilní matice. Většina rotačních matic odpovídá tomuto popisu a pro ně můžeme ukázat, že (Q−I)(Q+I)−1 je zkosená symetrická matice, A. Tedy AT = −A; a protože úhlopříčka je nutně nulová, a protože horní trojúhelník určuje ten spodní, A obsahuje n(n−1)/2 nezávislá čísla. Výhodné je, že I−A je invertibilní vždy, když A je zkosená-symetrická; tak můžeme obnovit původní matici pomocí Cayleyho transformace,
který mapuje jakoukoliv zkosenou symetrickou matici A do rotační matice. Ve skutečnosti, kromě uvedených výjimek, můžeme tímto způsobem vyrobit jakoukoliv rotační matici. Ačkoli v praktických aplikacích si těžko můžeme dovolit ignorovat 180° rotace, Cayleyho transformace je stále potenciálně užitečný nástroj, který dává parametrizaci většiny rotačních matic bez trigonometrických funkcí.
Ve třech rozměrech, například, máme (Cayley 1846)
Pokud zhustíme zkosené vstupy do vektoru, (x,y,z), pak vytvoříme 90° rotaci kolem osy x pro (1,0,0), kolem osy y pro (0,1,0) a kolem osy z pro (0,0,1). 180° rotace jsou právě mimo dosah; neboť v limitě, kdy x jde do nekonečna, (x,0,0) se blíží 180° rotaci kolem osy x a podobně i pro ostatní směry.
Zjistili jsme, že n×n rotační matice tvoří grupu, speciální ortogonální grupu SO(n). Tato algebraická struktura je spojena s topologickou strukturou v tom smyslu, že operace násobení a braní inverzní matice (což je zde pouze transpozice) jsou spojité funkce maticových vstupů. Tak SO(n) je klasický příklad topologické grupy. (V čistě topologickém pojetí je to kompaktní varieta.) Dále, operace jsou nejen spojité, ale hladké, takže SO(n) je diferencovatelná varieta a Lieova grupa (Baker (2003); Fulton & Harris (1991)).
Většina vlastností rotačních matic závisí jen velmi málo na rozměru, n; přesto v teorii Lieových grup vidíme systematické rozdíly mezi sudými a lichými rozměry. Stejně tak existují některé nepravidelnosti pod n = 5; například SO(4) není anomálně jednoduchá Lieova grupa, ale místo toho je izomorfní k součinu S3 a SO(3).
S každou Lieovou skupinou je spojena Lieova algebra, lineární prostor vybavený bilineárním střídavým součinem zvaným závorka. Algebra pro SO(n) je označena
a skládá se ze všech šikmo-symetrických n×n matic (jak vyplývá z diferenciace ortogonální podmínky, I = QTQ). Závorka, [A1,A2], dvou šikmo-symetrických matic je definována jako A1A2−A2A1, což je opět šikmo-symetrická matice. Tato závorka Lieovy algebry zachycuje podstatu součinu Lieovy skupiny přes infinitezimály.
Pro 2×2 rotační matice je Lieova algebra jednorozměrný vektorový prostor, násobky
Zde závorka vždy zmizí, což nám říká, že ve dvou rozměrech rotace dojíždí. Ne tak v žádném vyšším rozměru. Pro 3×3 rotační matice máme trojrozměrný vektorový prostor s výhodným základem (generátory)
Podstata závorky pro tyto bázové vektory vychází následovně.
Můžeme pohodlně identifikovat jakoukoliv matici v této Lež algebry s vektorem v R3,
Pod touto identifikací má so(3) závorka zapamatovatelný popis; jedná se o vektorový křížový součin,
Matice identifikované s vektorem v je také zapamatovatelné, protože
Všimněte si, že z toho vyplývá, že v je v nulovém prostoru zkosené symetrické matice, s níž je identifikováno, protože v×v je vždy nulový vektor.
Propojení Lieovy algebry s Lieovou grupou je exponenciální mapa, kterou definujeme pomocí známé mocninné řady pro ex (Wedderburn 1934, §8.02),
Pro jakékoliv zkosené symetrické A je exp(A) vždy rotační matice.
Důležitým praktickým příkladem je případ 3×3, kde jsme viděli, že můžeme identifikovat každou zkosenou symetrickou matici s vektorem ω = uθ, kde u = (x,y,z) je jednotkový vektor velikosti. Připomeňme si, že u je v nulovém prostoru matice spojené s ω, takže pokud použijeme základ s u jako osu z, bude konečný sloupec a řádek nulový. Tudíž víme předem, že exponenciální matice musí nechat u pevné. Je matematicky nemožné dodat přímočarý vzorec pro takový základ jako funkci u (jeho existence by porušila chlupatou kuličkovou větu), ale přímá exponenciace je možná a přináší
kde c = cos θ⁄2, s = sin θ⁄2. Poznáváme to jako naši matici pro rotaci kolem osy u podle úhlu θ. Poznamenáváme také, že toto mapování vychýlených symetrických matic je zcela odlišné od Cayleyho transformace, o které jsme mluvili dříve.
V jakékoli dimenzi, pokud si zvolíme nějaké nenulové A a zvážíme všechny jeho skalární násobky, exponenciace přinese rotační matice podél geodetické grupy, tvořící jednoparametrovou podskupinu Lieovy grupy. Obecněji řečeno, exponenciální mapa poskytuje homeomorfismus mezi oblastí původu v Lieově algebře a oblastí identity v Lieově grupě. Ve skutečnosti můžeme vytvořit jakoukoli rotační matici jako exponenciální část nějaké vychýlené symetrické matice, takže pro tyto skupiny je exponenciální mapa domněnkou.
Bakerova–Campbellova–Hausdorffova formule
Předpokládejme, že nám jsou dány A a B v Lieově algebře. Jejich exponenciály, exp(A) a exp(B), jsou rotační matice, které můžeme násobit. Vzhledem k tomu, že exponenciální mapa je domněnka, víme, že pro některé C v Lieově algebře, exp(A)exp(B) = exp(C), a píšeme
Když exp(A) a exp(B) dojíždějí (což se děje vždy pro matice 2×2, ale ne vyšší), pak C = A+B, napodobující chování složité exponenciace. Obecný případ je dán vzorcem BCH, řadou rozšířenou z hlediska závorky (Hall 2004, Ch. 3; Varadarajan 1984, §2.15). Pro matice je závorka stejná operace jako u komutátoru, který detekuje nedostatek komutativity při násobení. Obecný vzorec začíná takto.
Znázornění rotační matice jako sekvenčního úhlového rozkladu, jako v Eulerových úhlech, nás může svádět k tomu, abychom považovali rotace za vektorový prostor, ale termíny vyššího řádu v BCH vzorci odhalují, že jde o chybu.
Znovu se zajímáme o případ 3×3, kde [A,B] se rovná křížovému součinu A×B. Pokud jsou A a B lineárně nezávislé, pak A, B a A×B mohou být použity jako základ; pokud ne, pak A a B dojíždějí. A příhodně v tomto rozměru má sumace v BCH vzorci uzavřenou formu (Engø 2001) jako αA+βB+γ(A×B).
Lieova skupina n×n rotačních matic, SO(n), je kompaktní a dráhou propojená mnohočetnost, a tedy lokálně kompaktní a propojená. Nicméně není jednoduše propojená, takže Lieova teorie nám říká, že je to jakýsi „stín“ (homomorfní obraz) univerzální krycí skupiny. Často krycí skupina, která je v tomto případě spinovou skupinou označovanou Spin(n), je jednodušší a přirozenější na práci (Baker 2003, Ch. 5; Fulton & Harris 1991, s. 299-315).
V případě rovinných rotací je SO(2) topologicky kruh, S1. Jeho univerzální krycí skupina, Spin(2), je izomorfní k reálné přímce, R, pod sčítáním. Jinými slovy, kdykoli použijeme úhly libovolné velikosti, což často děláme, v podstatě využíváme pohodlnosti „mateřského prostoru“. Každá 2×2 rotační matice je vytvořena spočitatelným nekonečnem úhlů, oddělených celočíselnými násobky 2π. Odpovídajícím způsobem je základní skupina SO(2) izomorfní k celým číslům, Z.
V případě prostorových rotací je SO(3) topologicky ekvivalentní trojrozměrnému reálnému projektivnímu prostoru, RP3. Jeho univerzální krycí skupina Spin(3) je izomorfní vůči trojsféře, S3. Každá 3×3 rotační matice je vytvořena dvěma protilehlými body na sféře. Odpovídajícím způsobem je základní skupina SO(2) izomorfní vůči dvouprvkové skupině, Z2. Spin(3) můžeme také popsat jako izomorfní vůči kvaternionům jednotkové normy při násobení, nebo vůči určitým 4×4 reálným maticím, nebo vůči 2×2 složitým speciálním jednotkovým maticím.
Konkrétně, jednotka kvaternion, q, s
vytváří rotační matici
Mnoho rysů tohoto případu je pro vyšší rozměry stejných. Kryty jsou všechny dva ku jedné, přičemž SO(n), n >2 má základní skupinu Z2. Přirozené nastavení těchto skupin je v rámci Cliffordovy algebry. A působení rotací je vyvoláno jakýmsi „sendvičem“, označovaným qvq∗.
Matice v Lieově algebře nejsou samy o sobě rotacemi; zkosené symetrické matice jsou derivacemi, proporcionálními rozdíly rotací. Skutečná „diferenciální rotace“, neboli infinitezimální rotační matice má tvar
kde dθ je mizivě malé. Tyto matice nesplňují všechny stejné vlastnosti jako běžné konečné rotační matice při obvyklém zacházení s infinitezimálami (Goldstein, Poole & Safko 2002, §4.8). Abychom pochopili, co to znamená, zvažme
Nejprve testujeme podmínku pravoúhlosti, QTQ = I. Produkt je
Odlišuje se od matice identit infinitezimálami druhého řádu, kterých se zbavujeme. Takže podle prvního řádu je infinitezimální rotační matice ortogonální matice. Dále zkoumáme druhou mocninu matice.
Opět odhodíme efekty druhého řádu a vidíme, že úhel se jednoduše zdvojnásobí. To naznačuje nejzásadnější rozdíl v chování, který můžeme vykazovat za pomoci druhé infinitezimální rotace,
Porovnejte produkty dAxdAy a dAydAx.
Vzhledem k tomu, že dθ dφ je druhý řád, vyřadíme jej; tedy, na první řád, násobení infinitezimálních rotačních matic je komutativní. Ve skutečnosti,
Ale musíme být vždy opatrní, abychom odlišili (ošetření prvního řádu) tyto infinitezimální rotační matice jak od konečných rotačních matic, tak od derivací rotačních matic (jmenovitě vychýlených-symetrických matic). Srovnejme chování konečných rotačních matic v BCH vzorci s chováním infinitezimálních rotačních matic, kde všechny komutátorové výrazy budou infinitezimální druhého řádu, takže máme vektorový prostor.
Viděli jsme existenci několika rozkladů, které platí v jakémkoli rozměru, konkrétně v nezávislých rovinách, sekvenčních úhlech a vnořených rozměrech. Ve všech těchto případech můžeme buď rozložit matici, nebo ji zkonstruovat. Zvláštní pozornost jsme věnovali také 3×3 rotačním maticím a ty si zaslouží další pozornost, a to v obou směrech (Stuelpnagel 1964).
Přepište 3×3 rotační matice znovu, jako
Nyní se zdá, že každá kvaternionová složka se vynásobí dvěma v součtu stupně dva, a pokud jsou všechny takové součty nula, zbyde nám matice identity. To vede k efektivní, robustní konverzi z jakékoliv kvaternionu – ať už jednotky, nonjednotky, nebo dokonce nuly – na rotační matici 3×3.
Osvobozeni od poptávky po jednotkové kvaternionu, zjistíme, že nenulové kvaternionty fungují jako homogenní souřadnice pro 3×3 rotační matice. Cayleyho transformace, o které jsme mluvili dříve, je získána škálováním kvaternionu tak, že jeho w složka je 1. Pro 180° rotaci kolem libovolné osy, w bude nula, což vysvětluje Cayleyho omezení.
Součet vstupů podél hlavní úhlopříčky (křivky) plus jedna se rovná 4−4(x2+y2+z2), což je 4w2. Samotnou křivku tedy můžeme zapsat jako 2w2+2w2−1; a z předchozí verze matice vidíme, že samotné úhlopříčkové vstupy mají stejný tvar: 2×2+2w2−1, 2y2+2w2−1 a 2z2+2w2−1. Velikosti všech čtyř kvaternionových složek tedy můžeme snadno porovnat pomocí maticové úhlopříčky. Všechny čtyři velikosti totiž můžeme získat pomocí součtů a odmocnin a zvolit konzistentní znaménka pomocí zkosené symetrické části vstupů mimo úhlopříčku.
Případně použít jednu druhou odmocninu a dělení
To je numericky stabilní, pokud stopa t není záporná; jinak riskujeme dělení (téměř) nulou. V takovém případě předpokládejme, že Qxx je největší diagonální vstup, takže x bude mít největší magnitudu (ostatní případy jsou podobné); pak je následující bezpečné.
Pokud matice obsahuje významnou chybu, například akumulovanou numerickou chybu, můžeme sestrojit symetrickou 4×4 matici,
a najít vlastní číslo (x,y,z,w) jeho největší velikosti vlastní číslo. (Pokud je Q skutečně rotační matice, bude tato hodnota 1.) Takto získaná kvaternion bude odpovídat rotační matici, která je nejblíže dané matici (Bar-Itzhack 2000).
Pokud n×n matice M není singulární, jsou její sloupce lineárně nezávislými vektory; Gramův–Schmidtův proces je tedy může upravit tak, aby byly ortonormální bází. Řečeno z hlediska numerické lineární algebry, převedeme M na ortogonální matici Q pomocí QR dekompozice. Často však dáváme přednost Q „nejblíže“ k M, což tato metoda nedocílí. Pro to je nástrojem, který chceme, polární dekompozice (Fan & Hoffman 1955; Higham 1989).
I když se píše v maticových pojmech, objektivní funkce je jen kvadratický polynom. Můžeme ji minimalizovat obvyklým způsobem, tím, že zjistíme, kde je její derivace nulová. Pro matici 3×3 znamená ortogonální omezení šest skalárních rovnic, které musí splňovat položky Q. Pro začlenění omezení (omezení) můžeme použít standardní techniku, Lagrangeovy násobiče, sestavené jako symetrická matice, Y.
Vezměme si příklad 2×2. Včetně omezení se snažíme minimalizovat
Vezmeme-li derivaci s ohledem na Qxx, Qxy, Qyx, Qyy postupně, sestavíme matici.
Obecně získáme rovnici
kde Q je ortogonální a S je symetrické. Pro zajištění minima musí být matice Y (a tedy S) pozitivní definitní. Lineární algebra nazývá QS polární rozklad M, kde S je kladná odmocnina z S2 = MTM.
Když je M jiné než singulární, Q a S faktory polárního rozkladu jsou jednoznačně určeny. Nicméně determinant S je pozitivní, protože S je pozitivní definitivní, takže Q zdědí znaménko determinantu M. To znamená, že Q je pouze ortogonální, ne rotační matice. To je nevyhnutelné; M s negativním determinantem nemá jednoznačně definovanou nejbližší rotační matici.
Pro efektivní konstrukci rotační matice z úhlu θ a jednotkové osy u můžeme využít symetrie a šikmé symetrie v rámci vstupů.
Určení osy a úhlu, stejně jako určení kvaternionu, je možné pouze do znaménka; to znamená, (u,θ) a (−u,−θ) odpovídají stejné rotační matici, stejně jako q a −q. Stejně tak extrakce úhel-osa přináší další potíže. Úhel může být omezen na 0° až 180°, ale úhly jsou formálně nejednoznačné násobky 360°. Když je úhel nula, osa není definována. Když je úhel 180°, matice se stane symetrickou, což má vliv na extrakci osy. Blízko násobkům 180°, je třeba dbát na to, aby se předešlo numerickým problémům: při extrakci úhlu se dvouargumentový arktangent s atan2(sin θ,cos θ) rovnající se θ vyhne necitlivosti arkosinu; a při výpočtu velikosti osy k vynucení jednotkové velikosti může přístup hrubou silou ztratit přesnost skrze podtečení (Moler & Morrison 1983).
Částečný přístup je následující.
Složitost konverze se stupňuje s Eulerovými úhly (zde použitými v širším slova smyslu). Prvním problémem je určit, kterou ze čtyřiadvaceti variant pořadí karteziánských os použijeme. Předpokládejme, že tyto tři úhly jsou θ1, θ2, θ3; fyzika a chemie je mohou interpretovat jako
zatímco dynamika letadla může využít
Jeden systematický přístup začíná výběrem osy nejvíce vpravo. Ze všech permutací (x,y,z) pouze dvě umístí tuto osu na první místo; jedna je sudá permutace a druhá lichá. Volbou parity tak vznikne prostřední osa. Pro osu nejvíce vlevo tak zbývají dvě volby, buď duplikující první, nebo ne. Tyto tři volby nám dávají 3×2×2 = 12 variací; zdvojnásobíme to na 24 výběrem statických nebo rotujících os.
To stačí k sestavení matice z úhlů, ale trojice lišící se v mnoha ohledech mohou dát stejnou rotační matici. Například předpokládejme, že použijeme zyzovu konvenci výše; pak máme následující ekvivalentní páry:
Problém singulárního zarovnání, matematické analogie fyzikálního gimbalového zámku, nastává, když střední rotace zarovnává osy první a poslední rotace. Postihuje každý axiální řád v sudých nebo lichých násobcích 90°, což způsobuje, že Eulerovy úhly jsou v mnoha aplikacích opuštěny pro kvaterniony. Ponecháme-li stranou tyto nevyhnutelné problémy, úhly pro jakýkoli řád lze nalézt pomocí stručné běžné rutiny (Herter & Lott 1993; Shoemake 1994).
Jednotné matice náhodné rotace
Někdy potřebujeme vygenerovat rovnoměrně rozloženou náhodnou rotační matici. Zdá se intuitivně jasné ve dvou rozměrech, že to znamená, že úhel rotace je rovnoměrně rozložen mezi 0 a 2π. Tato intuice je správná, ale nepřenáší se do vyšších rozměrů. Pokud například rozložíme 3×3 rotační matice ve tvaru osa-úhel, úhel by neměl být rovnoměrně rozložen; pravděpodobnost, že (velikost) úhel je nanejvýš θ, by měla být 1⁄π(θ − sin θ), pro 0 ≤ θ ≤ π.
Vzhledem k tomu, že SO(n) je spojená a lokálně kompaktní Lieova skupina, máme jednoduché standardní kritérium pro jednotnost, a to, že rozdělení se nemění, když se skládá s libovolnou rotací (Lieova skupina „překlad“). Tato definice odpovídá tomu, co se nazývá Haarova míra. León, Massé & Rivest (2006) ukazují, jak používat Cayleyho transformaci pro generování a testování matic podle tohoto kritéria.
Můžeme také vygenerovat rovnoměrné rozdělení v libovolné dimenzi pomocí algoritmu podskupiny Diaconis & Shashahani (1987). To rekurzivně využívá vnořenou strukturu skupiny dimenzí SO(n) takto. Vygenerujte rovnoměrný úhel a sestrojte 2×2 rotační matici. Pro přechod z n na n+1 vygenerujte vektor v rovnoměrně rozložený na n-kouli, Sn, vložte n×n matici do další větší velikosti s posledním sloupcem (0,…,0,1), a otočte větší matici tak, aby se poslední sloupec stal v.
Jako obvykle máme speciální alternativy pro případ 3×3. Každá z těchto metod začíná třemi nezávislými náhodnými skaláry rovnoměrně rozmístěnými na jednotkovém intervalu. Arvo (1992) využívá lichý rozměr ke změně odrazu Domácníka na rotaci pomocí negace a toho využívá k zaměření osy rovnoměrné planární rotace.
Jiná metoda používá jednotkové kvaterniony. Násobení rotačních matic je homomorfní pro násobení kvaternionů a násobení jednotkovou kvaternioní rotuje jednotkovou sféru. Protože homomorfizmus je lokální izometrie, okamžitě dojdeme k závěru, že pro vytvoření rovnoměrného rozdělení na SO(3) můžeme použít rovnoměrné rozdělení na S3.
Eulerovy úhly mohou být také použity, i když ne s každým úhlem rovnoměrně rozloženým (Murnaghan 1962; Miles 1965).
Pro tvar osa-úhel je osa rovnoměrně rozložena přes jednotkovou sféru směrů, S2, zatímco úhel má nerovnoměrné rozložení přes [0,π] uvedené dříve (Miles 1965).