浏览量:197

1.2. 矩阵

本篇文章禁止用于任何商业目的,版权申明、版本说明等见《前言》。

PDF文档和源码下载地址:https://github.com/twinklingstar20/Programmers_Computational_Geometry

1.2. 矩阵

1.2.1. 矩阵定义

一个\(m \times n\)的矩阵是一个由\(m\)\(n\)列元素排列成的矩形阵列,矩阵里的元素可以是数字、符号或数学式。以下是一个由6个数构成的2行3列的矩阵:

\[\left( {\begin{array}{*{20}{c}}1&9&{12}\\{ - 19}&9&0\end{array}} \right)\]

对于\(m \times n\)的矩阵,如果\(m = n\),则这样的矩阵叫做方阵,对于一般的矩阵,可以表示为:

\[A = \left( {\begin{array}{*{20}{c}}{{a_{1,1}}}&{{a_{1,2}}}& \cdots &{{a_{1,n}}}\\{{a_{2,1}}}&{{a_{2,2}}}& \ldots &{{a_{2,n}}}\\ \vdots & \vdots & \ddots & \vdots \\{{a_{m,1}}}&{{a_{m,2}}}& \ldots &{{a_{m,n}}}\end{array}} \right) \tag{1.13}\]

有时候为了指明所讨论的矩阵的级数,可以把\(m \times n\)矩阵写成\({A_{mn}}\)或者\({({a_{i,j}})_{mn}}\)。数\({a_{ii}}\)\(i = 1,2, \cdots ,m,j = 1,2, \cdots ,n\)称为矩阵\(A\)的元素,\(i\)称为元素\({a_{i,i}}\)的行指标,\(j\)称为列指标。

1.2.2. 矩阵运算

1.加减法

两个矩阵的加法是多元组加法的扩展,如果有两个矩阵\(A = {({a_{i,j}})_{mn}}\)\(B = {({b_{i,j}})_{mn}}\),则这两个矩阵的加法可以表示为

\[A + B = {({a_{i,j}} + {b_{i,j}})_{mn}} = \left( {\begin{array}{*{20}{c}}{{a_{1,1}} + {b_{1,1}}}&{{a_{1,2}} + {b_{1,2}}}& \cdots &{{a_{1,n}} + {b_{1,n}}}\\{{a_{2,1}} + {b_{2,1}}}&{{a_{2,2}} + {b_{2,2}}}& \ldots &{{a_{2,n}} + {b_{2,n}}}\\ \vdots & \vdots & \ddots & \vdots \\{{a_{m,1}} + {b_{m,1}}}&{{a_{m,2}} + {b_{m,2}}}& \ldots &{{a_{m,n}} + {b_{m,n}}}\end{array}} \right) \tag{1.14}\]

矩阵的加法就是矩阵对应的元素相加,当然相加的矩阵必需要有相同的行数和列数。由于矩阵的加法归结为它们的元素的加法,也就是数的加法,所以矩阵加法有如下性质:

  1. 结合律:                     \(A + (B + C) = (A + B) + C\)
  2. 交换律:                     \(A + B = B + A\)

元素全为零的矩阵,称为零矩阵,记为\({O_{mn}}\),在不致引起混淆的时候,可以简单地记为\(O\)。显然,对所有的矩阵\(A\),有\(A + O = A\)

矩阵

\begin{eqnarray}
\left( {\begin{array}{*{20}{c}}{ - {a_{1,1}}}&{ - {a_{1,2}}}& \cdots &{ - {a_{1,n}}}\\
{ - {a_{2,1}}}&{ - {a_{2,2}}}& \ldots &{ - {a_{2,n}}}\\
\vdots & \vdots & \ddots & \vdots \\
{ - {a_{m,1}}}&{ - {a_{m,2}}}& \ldots &{ - {a_{m,n}}}\end{array}} \right)
\tag{1.15}
\end{eqnarray}

称为矩阵\(A\)负矩阵,记为\( - A\),显然\(A + ( - A) = O\)。矩阵的减法定义为\(A - B = A + ( - B)\)

2. 乘法

设矩阵\(A = {({a_{i,j}})_{sn}}\)\(B = {({b_{i,j}})_{nm}}\),那么矩阵\(C = {({c_{i,j}})_{sm}}\),其中

\begin{eqnarray}
{c_{i,j}} = {a_{i,1}}{b_{1,j}} + {a_{i,2}}{b_{2,j}} + \ldots + {a_{i,n}}{b_{n,j}} = \sum\limits_{k = 1}^n {{a_{i,k}}{b_{k,j}}}
\tag{1.16}
\end{eqnarray}

称为\(A\)\(B\)的乘积,记为\(C = AB\)

由矩阵乘法的定义可以看出,矩阵\(A\)\(B\)的乘积\(C\)的第\(i\)行第\(j\)列的元素等于第一个矩阵的第\(i\)行与第二个矩阵\(B\)的第\(j\)列的对应元素乘积的和。当然,在乘积的定义中,要求第二个矩阵的行数与第一个矩阵的列数相等。

举个例子,设\(A\)\(B\)两个矩阵如下所示

\[A = \left( {\begin{array}{*{20}{c}}1&0&{ - 4}&2\\3&4&0&{ - 1}\end{array}} \right),B = \left( {\begin{array}{*{20}{c}}1&0\\{ - 1}&2\\0&3\\1&{ - 1}\end{array}} \right)\]

那么

\[C = AB = \left( {\begin{array}{*{20}{c}}1&0&{ - 4}&2\\3&4&0&{ - 1}\end{array}} \right)\left( {\begin{array}{*{20}{c}}1&0\\{ - 1}&2\\0&3\\1&{ - 1}\end{array}} \right) = \left( {\begin{array}{*{20}{c}}3&{ - 14}\\{ - 2}&9\end{array}} \right)\]

矩阵\(C\)的第一行第二列的元素-14是矩阵\(A\)的第一行元素与矩阵\(B\)的第二列对应元素乘积之和,即\(1 \times 0 + 0 \times 2 + \left( { - 4} \right) \times 3 + 2 \times \left( { - 1} \right) = - 14\)。矩阵的乘法适合结合律,即有\((AB)C = A(BC)\)。矩阵的乘法不适合交换律,即一般来说\(AB \ne BA\),这是由于一方面在乘积中要求第一个因子的列数等于第二个因子的行数,否则没有意义。即使当\(AB\)有意义时,\(BA\)不一定有意义。另一方面即使\(AB\)\(BA\)都有意义,它们的级数也不一定相等。此外,矩阵乘法还有一个特点,两个不为零的矩阵的乘积可以是零。矩阵乘法的消去律不成立,即当\(AB = AC\)时,不一定有\(B = C\)

矩阵的乘法和加法适合分配律,即满足等式\(A(B + C) = AB + AC\)\((B + C)A = BA + CA\)

对于主对角线上的元素全是1,其余元素全是0的\(m \times n\)矩阵,称为\(n\)单位矩阵,记为\({E_n}\),在不致引起混淆的时候可以简单写为\(E\)。对于单位矩阵,显然有等式:\({A_{mn}}{E_n} = {A_{mn}}\)\({E_m}{A_{mn}} = {A_{mn}}\)

3. 数量乘法

矩阵与数量的乘法的定义类似于多元组与数量的乘法,矩阵

\begin{eqnarray}
\left( {\begin{array}{*{20}{c}}{k{a_{1,1}}}&{k{a_{1,2}}}& \cdots &{k{a_{1,n}}}\\
{k{a_{2,1}}}&{k{a_{2,2}}}& \ldots &{k{a_{2,n}}}\\
\vdots & \vdots & \ddots & \vdots \\
{k{a_{m,1}}}&{k{a_{m,2}}}& \ldots &{k{a_{m,n}}}\end{array}} \right)
\tag{1.17}
\end{eqnarray}

称为矩阵\(A\)与数量\(k\)数量乘法,记为\(kA\),换句话说,用数\(k\)乘矩阵就是把矩阵的每个元素都乘上\(k\),矩阵的数量乘法有如下性质:

  1. \((k + r)A = kA + rA\)
  2. \(k(A + B) = kA + kB\)
  3. \(k(rA) = (kr)A\)
  4. \(1A = A\)
  5. \(k(AB) = (kA)B = A(kB)\)

矩阵

\begin{eqnarray}
\left( {\begin{array}{*{20}{c}}k&0& \cdots &0\\
0&k& \ldots &0\\
\vdots & \vdots & \ddots & \vdots \\
0&0& \ldots &k\end{array}} \right)
\tag{1.18}
\end{eqnarray}

通常称为数量矩阵,如果\(A\)是一个\(n \times n\)矩阵,那么有\(kA = (kE)A = A(kE)\)

4. 转置

把一矩阵\(A\)的行列互换,所得到的矩阵称为\(A\)的转置,记为\({A^T}\)或者\(A'\)。确切的定义是:

\begin{eqnarray}
{A^T} = \left( {\begin{array}{*{20}{c}}{{a_{1,1}}}&{{a_{2,1}}}& \cdots &{{a_{m,1}}}\\
{{a_{1,2}}}&{{a_{2,2}}}& \ldots &{{a_{m,2}}}\\
\vdots & \vdots & \ddots & \vdots \\
{{a_{1,n}}}&{{a_{2,n}}}& \ldots &{{a_{m,n}}}\end{array}} \right)
\tag{1.19}
\end{eqnarray}

显然,\(m \times n\)矩阵的转置是\(n \times m\)矩阵。

矩阵的转置有如下性质:

  1. \({({A^T})^T} = A\)
  2. \({(A + B)^T} = {A^T} + {B^T}\)
  3. \({(AB)^T} = {B^T}{A^T}\)
  4. \({(kA)^T} = k{A^T}\)

1.2.3. 矩阵的秩

如果把矩阵的每一行看成一个向量,那么矩阵就可以认为是由这些行向量组成的。同样,如果把矩阵的每一列看成一个向量,那么矩阵也可以认为是由列向量组成的。所谓的行秩就是指矩阵的行向量组的秩;矩阵的列秩就是矩阵的列向量组的秩。

例如,矩阵

\[A = \left( {\begin{array}{*{20}{c}}1&1&3&1\\0&2&{ - 1}&4\\0&0&0&5\\0&0&0&0\end{array}} \right)\]

的行向量组是\({\vec a_1} = (1,1,3,1),{\vec a_2} = (0,2, - 1,4),{\vec a_3} = (0,0,0,5),{\vec a_4} = (0,0,0,0)\),很容易证明向量组\({\vec a_1},{\vec a_2},{\vec a_3}\)是向量组\({\vec a_1},{\vec a_2},{\vec a_3},{\vec a_4}\)的一个极大线性无关组。事实上由\({\lambda _1}{\vec a_1} + {\lambda _2}{\vec a_2} + {\lambda _3}{\vec a_3} = \vec 0\),可得\({\lambda _1} = {\lambda _2} = {\lambda _3} = 0\)),这就证明了\({\vec a_1},{\vec a_2},{\vec a_3}\)线性无关。因为\({\vec a_4}\)是零向量,把\({\vec a_4}\)添进去就线性相关了,因此向量组\({\vec a_1},{\vec a_2},{\vec a_3},{\vec a_4}\)的秩是3,也就是说矩阵\(A\)的行秩为3。

\(A\)的列向量组是\({\vec b_1} = (1,0,0,0),{\vec b_2} = (1,2,0,0),{\vec b_3} = (3, - 1,0,0),{\vec b_4} = (1,4,5,0)\),用同样的方法可以得到\({\vec b_1},{\vec b_2},{\vec b_4}\)是线性无关而\({\vec b_3} = \frac{7}{2}{\vec b_1} - \frac{1}{2}{\vec b_2}\),如果把\({\vec b_3}\)添进去就线性相关了,因此,向量组\({\vec b_1},{\vec b_2},{\vec b_4}\)是向量组\({\vec b_1},{\vec b_2},{\vec b_3},{\vec b_4}\)的一个极大线性无关组,秩是3。

可以证明矩阵的行秩和列秩是相等的,所以统称为矩阵的秩

spacer

Leave a reply