8.2 矩阵的运算

来源:互联网 发布:协同过滤 稀疏矩阵 编辑:程序博客网 时间:2024/09/12 17:53

8.2.1 矩阵的转置(transpose)

  矩阵的转置是以对角线为轴的镜像,这条从左上角到右下角的对角线被称为主对角线(main diagonal)。转置是矩阵的重要操作之一,我们将矩阵A的转置表示为AT,即(AT)i,j=Aj,i。比如,3x2矩阵的转置矩阵就是2x3矩阵。
  

A=A1,1A2,1A3,1A1,2A2,2A3,2AT=[A1,1A1,2A2,1A2,2A3,1A3,2]

  矩阵的转置可以看成是以主对角线为轴的一个镜像。也就是说,转置矩阵是指将m×n矩阵的行和列交换后得到的n×m矩阵。
  向量可以看作是只有一列的矩阵。对应地,向量的转置可以看作是只是一行的矩阵。有时,我们将通过向量元素作为行矩阵写在文本中,然后使用转置操作将其变为标准的列向量,来定义一个向量,比如x=[x1,x2,x3]T
  标量可以看作是只有一个元素的矩阵。因此,标量的转置等于它本身,a=aT

8.2.2 两矩阵相加/减

  行列值相同的矩阵才能进行求和或求差运算,其运算规则是两矩阵对应元素的相加或相减运算。只要矩阵的形状一样,我们可以把两个矩阵相加。比如C=A+B,其中Ci,j=Ai,j+Bi,j

8.2.3 标量和矩阵相乘

  标量与矩阵的积,其规则是标量与矩阵中的每个元素进行乘积运算。注意二者不能交换位置,即只能标量在前,矩阵在后。比如D=aB+c,其中Di,j=aBi,j+c

8.2.4 矩阵和矩阵相乘

  矩阵乘法是矩阵运算中最重要的操作之一。两个矩阵AB的矩阵乘积(matrix product)是第三个矩阵C。为了使乘法定义良好,矩阵A的列数必须和矩阵B的行数相等。如果矩阵A的形状是m×n,矩阵B的形状是n×p,那么矩阵C的形状是m×p。我们可以通过将两个或多个矩阵并列放置以书写矩阵乘法,例如

C=AB

  具体的,该乘法操作定义为
Ci,j=kAi,kBk,j

  需要注意的是,两个矩阵的标准乘积不是指两个矩阵中对应元素的乘积。不过,那样的矩阵操作确实是存在的,被称为元素对应乘积(element-wise product)或者Hadamard乘积(Hadamard product),记为AB
  两个相同维数的向量xy的点积(dot product)可看作是矩阵乘积xTy。我们把矩阵乘积C=AB中计算Ci,j的步骤看作是A的第i行和B的第j列之间的点积(dot product)。
两个相同维数向量x和y的点积可看作是矩阵乘积xTy
  矩阵乘积运算有许多有用的性质,从而使矩阵的数学分析更加方便。比如,矩阵乘积服从分配率:
  
A(B+C)=AB+AC

  矩阵乘积也服从结合律:
  
A(BC)=(AB)C

  不同于标量乘积,矩阵乘积并不满足交换律(AB=BA的情况并非总是满足)。然而,两个向量的点积满足交换律:
  
xTy=yTx

  此外,矩阵的转置有着简单的形式:
(AB)T=BTAT

  利用向量乘积是标量,标量转置是自身的事实,我们可以证明以下公式成立:
xTy=(xTy)T=yTx

8.2.5 线性方程组

  现在我们已经知道了足够多的线性代数符号,可以表达下列线性方程组:

Ax=b(8.11)

  其中ARm×n是一个已知矩阵,bRm是一个已知向量,xRn是一个我们要求解的未知向量。向量x的每一个元素xi都是未知的。矩阵A的每一行和b中对应的元素构成一个约束。我们可以把式(8.11)重写为
A1,:x=b1A2,:x=b2Am,:x=bm(8.12)(8.13)(8.14)(8.15)

  或者,更明确地,写作
A1,1x1+A1,2x2+A1,nxn=b1A2,1x1+A2,2x2+A2,nxn=b2Am,1x1+Am,2x2+Am,nxn=bm.(8.16)(8.17)(8.18)(8.19)

  矩阵向量乘积符号为这种形式的方程提供了更紧凑的表示。

原创粉丝点击