3D数学基础:正交矩阵
正交矩陣
若方陣M是正交的,則當(dāng)且僅當(dāng)M與它的轉(zhuǎn)置MTM^TMT的乘積等于單位矩陣。見(jiàn)下列公式:
M正交?MMT=IM正交\iff MM^T=IM正交?MMT=I
如何檢測(cè)矩陣的正交性:
矩陣乘以它的逆等于單位矩陣:MM?1=IMM^{-1}=IMM?1=I
所以,如果一個(gè)矩陣是正交的,那么它的轉(zhuǎn)置等于它的逆。即:M正交?M?1=MTM正交\iff M^{-1}=M^TM正交?M?1=MT
這是一條非常有用的性質(zhì),如果知道矩陣是正交的,那么可以避免計(jì)算矩陣的逆,這也大大減少計(jì)算量。
重要性質(zhì)
如果一個(gè)矩陣是正交的,它必須滿足下列條件:
- 矩陣的每一行都是單位向量
- 矩陣的所有行互相垂直
矩陣正交化
有時(shí)可能會(huì)遇到略微違反了正交性的矩陣。例如,可能從外部得到了壞數(shù)據(jù),或者是浮點(diǎn)數(shù)運(yùn)算的累積錯(cuò)誤(稱作“矩陣爬行”)。這些情況下,需要做矩陣正交化,得到一個(gè)正交矩陣,這個(gè)矩陣要盡可能的和原矩陣相同。
構(gòu)造一組正交基向量(矩陣的行)的標(biāo)準(zhǔn)算法是施密特正交化。它的基本思想是,對(duì)每一行,從中減去它平行于已處理過(guò)的行的部分,最后得到垂直向量。
以3X3矩陣為例,用r1,r2,r3r_1,r_2,r_3r1?,r2?,r3?代表3X3階矩陣的行。正交向量組r1′,r2′,r3′r'_1,r'_2,r'_3r1′?,r2′?,r3′?的計(jì)算:
r1′?r1r'_1 \impliedby r_1r1′??r1?
r2′?r2?r2r1′r1′r1′r1′r'_2 \impliedby r_2- \dfrac {r_2r'_1}{r'_1r'_1} r'_1r2′??r2??r1′?r1′?r2?r1′??r1′?
r3′?r3?r3r1′r1′r1′r1′?r3r2′r2′r2′r2′r'_3 \impliedby r_3- \dfrac {r_3r'_1}{r'_1r'_1} r'_1-\dfrac {r_3r'_2}{r'_2r'_2} r'_2r3′??r3??r1′?r1′?r3?r1′??r1′??r2′?r2′?r3?r2′??r2′?
現(xiàn)在r1′,r2′,r3′r'_1,r'_2,r'_3r1′?,r2′?,r3′?互相垂直了,它們是一組正交基。當(dāng)然,它們不一定是單位向量。構(gòu)造正交矩陣需要使用標(biāo)準(zhǔn)正交基,所以必須標(biāo)準(zhǔn)化這些向量。注意,如果一開始就進(jìn)行標(biāo)準(zhǔn)化,就能避免所有除法了。
總結(jié)
以上是生活随笔為你收集整理的3D数学基础:正交矩阵的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Python学习笔记:1.2.8 字典
- 下一篇: CSS中的nth-child和nth-o