8.3 单位矩阵和逆矩阵

来源:互联网 发布:mac软件下载的网站 编辑:程序博客网 时间:2024/05/27 20:28

  线性代数提供了被称为逆矩阵(matrix inversion)的强大工具。对于大多数矩阵A,我们都能通过矩阵逆解析地求解式Ax=b

8.3.1 单位矩阵

  为了描述矩阵逆,首先需要定义单位矩阵(identity matrix)的概念。任意向量和单位矩阵相乘,都不会改变。我们将保持n维向量不变的单位矩阵记作In。形式上,InRn×n

xRn,Inx=x(8.20)

  单位矩阵的结构很简单:
  1. 它是“正方形”(行数与列数相同)
  2. 所有沿主对角线的元素都是1,而所有其他位置的元素都是0

100010001

8.3.2 逆矩阵概念

  矩阵A的逆矩阵(matrix inversion)记作A1,其定义的矩阵满足如下条件:

A1A=In(8.21)

  其实矩阵的逆矩阵跟倒数的性质一样,不过只是我们习惯用A1表示。而倒数可以表示成1/x或者x1的形式,而不能把A的逆矩阵写成1/A的形式,其主要原因是矩阵不能被除。
  为了理解矩阵的逆,其和倒数还有其他相似之处:

  • 当我们将一个数乘以它的倒数我们得11×(1/8)=1
  • 当一个矩阵乘以逆时,我们得到了单位矩阵。A×A1=I
  • 矩阵与逆矩阵乘法与数乘一样,交换位置结果不变(1/8)×8=1,即乘法满足交换律A1×A=I

8.3.3 行列式和求解逆矩阵

  以二维矩阵为例,其逆矩阵求解公式如下:

[acbd]1=1adbc[dcba]

  换句话说:交换a和b的位置,将负数置于b和c的前面,并将所有元素除以行列式(ad-bc)。由于0不能为除数,因此判断一个矩阵是否为逆的要条件就是行列式是否为0。矩阵的行列式计为det(determinatnt的缩写),其意义就是决定因子,即决定逆矩阵是否存在。
det[acbd]0[acbd]1

  例题:

求解逆矩阵例题
  利用逆矩阵的概念逆推,即将矩阵乘以逆矩阵,最终求得单位矩阵。

矩阵乘以逆矩阵

8.3.4 求解矩阵方程

  矩阵中没有被除的概念,而矩阵的逆,可以解决“矩阵除法”的问题。假如我们没有“除法”规则,那么解决“把10个苹果分给两个人”的问题,可以采取2的倒数(12=0.5)来计算,那么答案就是10×0.5=5,也就是每个人5个苹果。
  我们也可以利用以上方法,已知矩阵A和矩阵B,求解矩阵X。即XA=B。最好的方法是直接除以A,得到X=B/A,但事实上我们不能直接除以A。但我们可以在公式两边都乘以A1。即XAA1=BA1
  因为AA1=I,所以就得到XI=BA1。而此时单位矩阵I可以直接去掉,于是求得X=BA1。因此通过A1,就可以直接计算出矩阵X

例题:
有一个几个家庭组团出去旅行,出发的时候是乘坐大巴,每位儿童3元,每个大人3.2元,一共花费了118.4元。在回程时,他们选择乘坐火车,每名儿童3.5元,每名成人3.6元,总计135.20元。求解有多少儿童和大人?

  我们尝试用矩阵思维来解答,首先设置好矩阵(注意矩阵的行和列是否正确):

矩阵方程

  然后求解A的逆矩阵:

求解逆矩阵

  根据公式X=BA1,求解X

求解矩阵方程

  根据求解所得,一共有16个儿童和22个大人。这样的计算其实非常有利于工程师设计建筑物,视频游戏和计算机动画等许多地方,它是解线性方程组的一种解法。虽然是求矩阵的逆,只要打开Python工具的NumPy库,输入numpy.inv(A),即可求得A的逆矩阵。虽然这个过程是由计算机完成,但我们还是有必要去了解公式,因为这正是数学的美妙之处。