什么是正交矩阵?
正交矩阵是方块矩阵,行向量和列向量皆为正交的单位向量。
行向量皆为正交的单位向量,任意两行正交就是两行点乘结果为0,而因为是单位向量,所以任意行点乘自己结果为1。
对于3x3正交矩阵,每行是一个3维向量,两个3维向量正交的几何意义就是这两个向量相互垂直。
所以3x3正交矩阵的三行可以理解为一个3D坐标系里的三个坐标轴,下面是3*3正交矩阵M,
x1,x2,x3,//x轴y1,y2,y3,//y轴z1,z2,z3,//z轴
单位矩阵表示的三个坐标轴就是笛卡尔坐标系里的x,y,z轴:
1,0,0,//x轴0,1,0,//y轴0,0,1,//z轴
一个向量乘以3x3正交矩阵的几何意义就是把这个向量从当前坐标系变换到这个矩阵所表示的坐标系里,比如下面的矩阵M1,
0,1,0,1,0,0,0,0,1,
一个向量(1,2,3)右乘这个矩阵M1得到新的向量(2,1,3),就是把原向量从原坐标系变换到一个新的坐标系。
新坐标系的x轴在原坐标系里是(0,1,0),即落在原坐标系的y轴上,
新坐标系就是把原坐标系的x和y轴对调,所以这个正交矩阵M1作用于向量(1,2,3)后把向量的x和y分量对调了。
正交矩阵的定义“行向量和列向量皆为正交的单位向量”带来了另一个好处:正交矩阵的转置就是正交矩阵的逆,比普通矩阵求逆矩阵简单多了。
下面解释一下为什么正交矩阵的转置就是正交矩阵的逆:
还是开头说的正交矩阵M:
x1,x2,x3,//rowxy1,y2,y3,//rowyz1,z2,z3,//rowz
每行都是单位长度向量,所以每行点乘自己的结果为1。
任意两行正交就是两行点乘结果为0。
矩阵M的转置矩阵MT是:
x1,y1,z1,x2,y2,z2,x3,y3,z3,
两个矩阵相乘Mmul=M*MT:
rowx*rowx,rowx*rowy,rowx*rowz,rowy*rowx,rowy*rowy,rowy*rowz,rowz*rowx,rowz*rowy,rowz*rowz,
点乘自己结果为1,点乘别的行结果为0,所以Mmul等于单位矩阵
1,0,0,0,1,0,0,0,1,
逆矩阵的定义就是逆矩阵乘以原矩阵等于单位矩阵,所以,
正交矩阵的转置就是正交矩阵的逆。
扩展资料
正交矩阵定义:
如果:AA'=E(E为单位矩阵,A'表示“矩阵A的转置矩阵”.)或A′A=E,则n阶实矩阵A称为正交矩阵,若A为单位正交阵,则满足以下条件:1)A是正交矩阵。
判断是正交矩阵的方法:
一般就是用定义来验证,若AA' = I,则A为正交矩阵,也就是验证每一行(或列)向量的模是否为1
任意两行(或列)的内积是否为0。