浏览量:279

1.2. 矩阵

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

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

1.2. 矩阵

1.2.1. 矩阵定义

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

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

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

(1.13)   \[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) \]

有时候为了指明所讨论的矩阵的级数,可以把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}},则这两个矩阵的加法可以表示为

(1.14)   \[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) \]

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

  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}

称为AB的乘积,记为C = AB

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

举个例子,设AB两个矩阵如下所示

    \[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不一定有意义。另一方面即使ABBA都有意义,它们的级数也不一定相等。此外,矩阵乘法还有一个特点,两个不为零的矩阵的乘积可以是零。矩阵乘法的消去律不成立,即当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