2.7 逆矩阵

矩阵代数没定义除法运算,但是它定义了一种乘法的逆(inverse)运算。下面的列表总结了有关逆运算的要点:

1.只有正方形矩阵能做逆运算;所以,当我们说求逆矩阵时是假设我们正在处理的是一个正方形矩阵。

2.一个n×n矩阵M的逆矩阵仍然是一个n×n矩阵,记作M-1

3.不是所有的正方形矩阵都有逆矩阵。有逆矩阵的正方形矩阵称为可逆(invertible)矩阵,没有逆矩阵的称为单调(singular)矩阵。

4.如果存在逆矩阵,则该逆矩阵是唯一的。

5.将一个矩阵与它的逆矩阵相乘,其结果必定为单位矩阵:MM-1=M-1M=I。注意,矩阵与它的逆矩阵的相乘次序可以互换,这是矩阵乘法中的一个特例。

逆矩阵在求解矩阵方程时非常有用。例如,我们给出矩阵方程pʹ=pM,已知pʹ和M的值,求解p。假设M是可逆矩阵(即,M-1存在),那么我们可以按照如下步骤求解:

pʹ=pM  
pʹM-1=pMM-1 等式两边同时乘以M-1
pʹM-1= pI 由逆矩阵的定义可知M-1M=I
pʹM-1=p 由单位矩阵的定义可知pI=p

下面的这个方程可以用来求逆矩阵,本书不会给出证明过程,但是读者可以在任何一本大学线性代数的书籍中找到证明过程,这个方程是用伴随矩阵和行列式的形式给出的:

\({{\bf{A}}^{ - 1}} = \frac{{{{\bf{A}}^*}}}{{\det {\bf{A}}}}\)     (公式2.6)

例2.10

找到一个求2×2矩阵\({\bf{A}} = \left[ {\begin{array}{*{20}{c}}{{A_{11}}}&{{A_{12}}}\\{{A_{21}}}&{{A_{22}}}\end{array}} \right]\)的逆矩阵的通用公式,并使用这个公式求出\({\bf{M}} = \left[ {\begin{array}{*{20}{c}}3&0\\{ - 1}&2\end{array}} \right]\)的逆矩阵。我们已经知道:

\[\det {\bf{A}} = {A_{11}}{A_{22}} - {A_{12}}{A_{21}}\]

\[{{\bf{C}}_A} = \left[ {\begin{array}{*{20}{c}}{{{( - 1)}^{1 + 1}}\det {{\overline {\bf{A}} }_{11}}}&{{{( - 1)}^{1 + 2}}\det {{\overline {\bf{A}} }_{12}}}\\{{{( - 1)}^{2 + 1}}\det {{\overline {\bf{A}} }_{21}}}&{{{( - 1)}^{2 + 2}}\det {{\overline {\bf{A}} }_{22}}}\end{array}} \right] = \left[ {\begin{array}{*{20}{c}}{{A_{22}}}&{ - {A_{21}}}\\{ - {A_{12}}}&{{A_{11}}}\end{array}} \right]\]

所以,

\[{{\bf{A}}^{ - 1}} = \frac{{{{\bf{A}}^*}}}{{\det {\bf{A}}}} = \frac{{{\bf{C}}_A^T}}{{\det {\bf{A}}}} = \frac{1}{{{A_{11}}{A_{22}} - {A_{12}}{A_{21}}}}\left[ {\begin{array}{*{20}{c}}{{A_{22}}}&{ - {A_{12}}}\\{ - {A_{21}}}&{{A_{11}}}\end{array}} \right]\]

现在用这个公式求\({\bf{M}} = \left[ {\begin{array}{*{20}{c}}3&0\\{ - 1}&2\end{array}} \right]\)的逆矩阵:

\[{{\bf{M}}^{ - 1}} = \frac{1}{{3 \cdot 2 - 0 \cdot ( - 1)}}\left[ {\begin{array}{*{20}{c}}2&0\\1&3\end{array}} \right] = \left[ {\begin{array}{*{20}{c}}{1/3}&0\\{1/6}&{1/2}\end{array}} \right]\]

我们只需检验MM-1=M-1M=I就可以证明结果是否正确:

\[\left[ {\begin{array}{*{20}{c}}3&0\\{ - 1}&2\end{array}} \right]\left[ {\begin{array}{*{20}{c}}{1/3}&0\\{1/6}&{1/2}\end{array}} \right] = \left[ {\begin{array}{*{20}{c}}1&0\\0&1\end{array}} \right] = \left[ {\begin{array}{*{20}{c}}{1/3}&0\\{1/6}&{1/2}\end{array}} \right]\left[ {\begin{array}{*{20}{c}}3&0\\{ - 1}&2\end{array}} \right]\]

注意:对于小矩阵(4×4矩阵或更小)来说,使用伴随矩阵的方法更有效率。对于更大的矩阵来说,我们可以使用诸如高斯消元法(http://zh.wikipedia.org/wiki/%E9%AB%98%E6%96%AF%E6%B6%88%E5%8E%BB%E6%B3%95)之类的其他方法求逆矩阵。但是,在3D计算机图形中,我们要处理的矩阵具有特定的形式,因此可以事先确定求逆矩阵的方程,这样我们就无需浪费CPU资源去求一般矩阵的逆矩阵了。这样,在代码中我们往往很少用到公式2.6。

在本节结束之前,我们要介绍一个与逆矩阵相乘时非常有用的代数特性:

(AB)-1=B-1A-1

这个特性假设AB都是可逆的,它们都是维数相同的正方形矩阵。要证明B-1A-1AB的逆矩阵,我们只需要证明(AB)(B-1A-1)=I和(B-1A-1)(AB)=I。推导过程如下:

(AB)(B-1A-1)=A(BB-1)A-1=AIA-1=AA-1=I

(B-1A-1)(AB)=B-1(A-1A)B=B-1IB=B-1B=I

文件下载(已下载 657 次)

发布时间:2014/9/23 下午8:36:56  阅读次数:5028

2006 - 2024,推荐分辨率 1024*768 以上,推荐浏览器 Chrome、Edge 等现代浏览器,截止 2021 年 12 月 5 日的访问次数:1872 万 9823 站长邮箱

沪 ICP 备 18037240 号-1

沪公网安备 31011002002865 号