主要内容\(\renewcommand{\deg}{\rm deg\, }
\newcommand{\Ima}{\rm Im }
\newcommand{\N}{\mathbb N}
\newcommand{\Z}{\mathbb Z}
\newcommand{\Q}{\mathbb Q}
\newcommand{\R}{\mathbb R}
\newcommand{\F}{\mathbb F}
\newcommand{\C}{\mathbb C}
\newcommand{\K}{\mathbb K}
\newcommand{\myunit}{1 cm}
\newcommand{\blue}[1]{{\color{blue}#1}}
\tikzset{
node style sp/.style={draw,circle,minimum size=\myunit},
node style ge/.style={circle,minimum size=\myunit},
arrow style mul/.style={draw,sloped,midway,fill=white},
arrow style plus/.style={midway,sloped,fill=white},
}
\newcommand{\lt}{<}
\newcommand{\gt}{>}
\newcommand{\amp}{&}
\definecolor{fillinmathshade}{gray}{0.9}
\newcommand{\fillinmath}[1]{\mathchoice{\colorbox{fillinmathshade}{$\displaystyle \phantom{\,#1\,}$}}{\colorbox{fillinmathshade}{$\textstyle \phantom{\,#1\,}$}}{\colorbox{fillinmathshade}{$\scriptstyle \phantom{\,#1\,}$}}{\colorbox{fillinmathshade}{$\scriptscriptstyle\phantom{\,#1\,}$}}}
\)
节 2.2 矩阵及其运算
矩阵是线性代数最重要的概念之一。它在数学与其他自然科学领域,以及在工程技术、经济、管理科学中均有广泛的应用。矩阵可以看作是数的推广,其作用和地位也类似。
子节 2.2.1 矩阵的定义
线性方程组的一般形式为
\begin{equation}
\left\{\begin{array}{cl}
a_{11}x_1+\cdots+a_{1n}x_n&= b_1,\\
a_{21}x_1+\cdots+a_{2n}x_n&= b_2,\\
\vdots& \\
a_{m1}x_1+\cdots+a_{mn}x_n&= b_m.\\
\end{array}\right.\tag{2.2.1}
\end{equation}
注意到线性方程组本质上是由方程中所有的数字及其排列方式决定的。将上式中未知数的系数按其原有相对位置排成一个2维数组,则可以得到如下的定义。
定义 2.2.1.
由\(mn\)个数\(a_{ij}\ (i=1,\ldots, m;\ j=1,\ldots,n) \) 排成\(m\)行、\(n\)列的矩形阵列:
\begin{equation*}
A = {\color{blue} \begin{pmatrix}
{{a_{11}}}&{{a_{12}}}& \cdots &{{a_{1n}}}\\
{{a_{21}}}&{{a_{22}}}& \cdots &{{a_{2n}}}\\
\vdots & \vdots &{\ddots}& \vdots \\
{{a_{m1}}}&{{a_{m2}}}& \cdots &{{a_{mn}}}
\end{pmatrix}}{\triangleq (a_{ij})_{m\times n}}
\end{equation*}
称为\(m\)行\(n\)列矩阵,或简记为 \(m\times n\) 矩阵。
当矩阵
\(A\)的所有元素
\(a_{ij}\)都属于同一个数域
\(\F\)时,我们也称
\(A\)为数域
\(\F\)上的矩阵。用记号
\(\F^{m\times n}\)表示数域
\(\F\)上的所有
\(m\times n\)矩阵构成的集合。后续我们会经常使用
\(A\in \F^{m\times n} \)来声明
\(A\)表示一个数域
\(\F\)上的所有
\(m\times n\)矩阵。
本书中选择使用圆括号()作为矩阵的整体性标志符,除了这种记法外,另一种常用记法是使用方括号[],即矩阵也常被记作
\begin{equation*}
A = {\color{blue} \begin{bmatrix}
{{a_{11}}}&{{a_{12}}}& \cdots &{{a_{1n}}}\\
{{a_{21}}}&{{a_{22}}}& \cdots &{{a_{2n}}}\\
\vdots & \vdots &{\ddots}& \vdots \\
{{a_{m1}}}&{{a_{m2}}}& \cdots &{{a_{mn}}}
\end{bmatrix}}{\triangleq [a_{ij}]_{m\times n}},
\end{equation*}
这两者只是记号上的区别。
与矩阵相关的还有如下一些常用术语:
-
-
称
\(m\times n\)为矩阵的
阶数,需要注意的是这里
\(\times\)只是一个记号,不代表乘法运算,
\(3\times 2\)和
\(2\times 3\)表示不同的矩阵阶数。
特别地,方阵的阶数一个数字就够了,
\(n\times n\)矩阵也被简称为
\(n\)阶方阵。
-
称
\(a_{ij}\)为矩阵
\(A\)的第
\(i\)行第
\(j\)列元素或第
\((i,\ j)\)元素;
\(i\)称为
\(a_{ij}\)的
行指标,
\(j\)称为
\(a_{ij}\)的
列指标;
-
行、列指标相同的元素称为
(主)对角元,如
\(a_{ii}\)就是
\(A\)的第
\(i\)个对角元。
将线性方程组等式右端所有的常数项按列的方式排列也可以获得一个矩阵
\begin{equation*}
\begin{pmatrix}
b_1 \\ \vdots\\ b_n
\end{pmatrix},
\end{equation*}
这样的列数为1的矩阵也可称为
列矩阵(或
列向量)。这种矩阵有着特别的意义,在后续
章 4中,我们将从另一个角度来重新理解这种矩阵。类似地也可以定义
行矩阵(或
行向量)。
数域
\(\F\)上的
\(n\)行列矩阵(列向量)构成的集合被记作
\(\F^{n}\)。
若矩阵\(A\)的元素全为实数,即
\begin{equation*}
a_{ij}\in {\mathbb{R}}\ (i=1, \ldots,m;\ j=1,\ldots,n),
\end{equation*}
则称\(A\)为实矩阵。类似可以定义复矩阵、有理矩阵等。
例 2.2.2. 矩阵的简单例子.
\(\begin{pmatrix}
1 & 0 & 5\\
3 & -9 & 2
\end{pmatrix}\)是一个
\(2\times 3\)阶实矩阵,其行数为2,列数为3。矩阵的
\((2,2)\)-元素为
\(-9\)。
\(\begin{pmatrix}
1 & 0 \\
3i & -9
\end{pmatrix}\)是一个2阶复方阵,
\(-9\)是它的第2个对角元。
用matrix生成同一个矩阵有多种方法,例如下面的命令也可以。
更多生成矩阵的方式,请使用 "matrix?"命令查看官方文档。
由定义,矩阵是由其所有元素及元素的排列方式共同决定的,因此只有这些都一样时,对应的矩阵才一样。具体地, 设\(A=(a_{ij})_{m\times n}\)、\(B=(b_{ij})_{p\times q}\)是两个矩阵,则当下述条件:
-
两个矩阵阶数相同,即
\(m=p\)且
\(n=q\);
-
元素对应相等,即对
\(\forall i=1,\dots,m;j=1,\dots,n\)均有
\(a_{ij}=b_{ij}\);
都满足时,定义\(A\)与\(B\)相等,记作\(A=B\)。
在sage中,可以使用双等号==来判断两个给定的矩阵是否相等。
子节 2.2.2 矩阵的乘法运算
作为数字的推广,矩阵中也定义有多种运算。矩阵运算的概念是应实际需要引进的,而不是数学家的任意创造。下面优先介绍矩阵的最重要运算,即矩阵乘法运算。我们将用这个运算来化简线性方程组的表示方式。
定义 2.2.3.
设\(A= (a_{ij})_{{\color{blue}m}\times {\color{red}k}}\)是\({\color{blue}m}\times {\color{red}k}\)矩阵,\(B=(b_{ij})_{{\color{red}k}\times {\color{blue}n}}\)是\({\color{red}k}\times {\color{blue}n}\)矩阵,此时定义\(A\)与\(B\)的乘积是一个\({\color{blue}m}\times {\color{blue}n}\)矩阵\(C=(c_{ij})_{{\color{blue}m}\times {\color{blue}n}}\),其中
\begin{align*}
c_{{\color{blue}i}j} & = a_{{\color{blue}i}{\color{red}1}}b_{{\color{red}1}j} +a_{{\color{blue}i}{\color{red}2}}b_{{\color{red}2}j}+\cdots+ a_{{\color{blue}i}{\color{red}k}}b_{{\color{red}k}j}\\
& = \sum_{s=1}^k a_{{\color{blue}i}{\color{red}s}}b_{{\color{red}s}j},
\end{align*}
记作\(C=A\times B\)、\(C=A \cdot B\)、 或\(C=AB\)。
例 2.2.4. 矩阵乘法具体举例.
设\(A=\begin{pmatrix}
1 & -1\\
0 & 2\\
-3 & 5
\end{pmatrix} \),\(B=\begin{pmatrix}
1 & 2\\
3 & 4\\
\end{pmatrix} \)。则此时\(A\)的阶数为\(3\times 2\),\(B\)的阶数为\(2\times 2\),即\(m=3\),\(k=2\),\(n=2\),于是\(AB\)是一个\(3\times 2\)阶矩阵,且
\begin{align*}
AB \amp = \begin{pmatrix}
1 & -1\\
0 & 2\\
-3 & 5
\end{pmatrix}\begin{pmatrix}
1 & 2\\
3 & 4\\
\end{pmatrix} \\
\amp = \begin{pmatrix}
1\times 1+(-1)\times 3 & 1\times 2+(-1)\times 4\\
0\times 1+2\times 3 & 0\times 2+2\times 4\\
-3\times 1+5\times 3 & -3\times 2+5\times 4
\end{pmatrix} \\
\amp = \begin{pmatrix}
-2 & -2\\
6 & 8\\
12 & 14
\end{pmatrix}.
\end{align*}
实际使用过程中,除非为了强调,矩阵乘法的记号通常省略乘号
\(\times\)或
\(\cdot\),直接写作
\(AB\)。
对于初学者,矩阵乘法是一个相对复杂的运算,需要付出更多的精力。在学习初期,我们建议先手动计算一些矩阵的乘法,然后利用sage来检验计算结果是否正确,获得对矩阵乘法的直观感觉。
关于矩阵乘法,有如下几个要点需要提醒:
-
矩阵乘法对矩阵阶数有限制,不是任给两个矩阵都可乘,也不是两个同阶矩阵都可乘。两个矩阵
\(A\)与
\(B\)的乘积
\(AB\)有意义当且仅当
\(A\)的列数与
\(B\)的行数相等。
-
当乘积矩阵
\(AB\)有意义时,
\(AB\)的行数等于矩阵
\(A\)的行数,
\(AB\)的列数等于矩阵
\(B\)的列数。
-
乘积矩阵
\(AB\)第
\(i\)行、第
\(j\)列的元素由矩阵
\(A\)的第
\(i\)行和矩阵
\(B\)的第
\(j\)列共同决定,而与矩阵的其它元素无关。
矩阵乘法中元素的对应关系可以用下图来更直观地描述。
图 2.2.5. 矩阵乘法中元素对应关系示意图(本图修改自https://texample.net/tikz/examples/中的一个例子)
\begin{equation*}
A = \begin{pmatrix}
a_{11} & \cdots & a_{1n}\\
\vdots & \ddots & \vdots\\
a_{m1} & \cdots & a_{mn}
\end{pmatrix},\quad
X = \begin{pmatrix}
x_1\\ \vdots \\ x_n
\end{pmatrix},\quad \beta = \begin{pmatrix}
b_1\\ \vdots \\ b_m
\end{pmatrix},
\end{equation*}
\begin{equation*}
AX= \beta,
\end{equation*}
称\(A\)为此线性方程组的系数矩阵,\(\beta\)为右端项或常数项。 这种记法使得一般的线性方程组与一元一次方程\(ax=b\)在形式上得到了统一。
子节 2.2.3 矩阵乘法的性质
随着学习的深入,相信同学们会逐渐意识到矩阵乘法是最重要、最有用的运算之一。下面来进一步熟悉这个运算的性质,这些性质有些和数的运算性质相同,有些则非常不同。
矩阵乘法与数字乘法的第一个显著差别是交换律。我们知道任给两个数字
\(a\)和
\(b\),
\(ab\)和
\(ba\)必定相等,即
\(ab=ba\),这个性质常被称为数字乘法满足
交换律。当我们把数字
\(a\)、
\(b\)换成矩阵
\(A\)、
\(B\)时,等式
\(AB=BA\)就不再一定成立了。来看下面的例子。
例 2.2.6. 矩阵乘法的不可交换性.
-
取
\begin{equation*}
A = \begin{pmatrix}
1 & 0 & 1\\
2 & 1 & 0
\end{pmatrix},\quad B=\begin{pmatrix}
1 & 0 & 1 & 1\\
1 & 1 & 2 & -1\\
-1 & 0 & -1 & 0
\end{pmatrix},
\end{equation*}
则此时\(AB\)有定义,但\(BA\)没有定义。
-
取
\(A = \begin{pmatrix}
1 & 0 & 4
\end{pmatrix}\),
\(B=\begin{pmatrix}
1\\
1\\
0
\end{pmatrix}\),此时
\(AB\)和
\(BA\)都有定义,但
\(AB=1\)是一个数(即
\(1\times 1\)阶矩阵),
\(BA\)却是一个
\(3\times 3\)阶矩阵,
\(AB\)和
\(BA\)不可能相等。
-
取
\(A=\begin{pmatrix}
0 & 0\\
0 & 1
\end{pmatrix}\),
\(B= \begin{pmatrix}
0 & 1\\
0 & 0
\end{pmatrix}\),此时
\(AB\)和
\(BA\)都是2阶方阵,但
\(AB=\begin{pmatrix}
0 & 0\\
0 & 0
\end{pmatrix}\),
\(BA=\begin{pmatrix}
0 & 1\\
0 & 0
\end{pmatrix}\),二者仍不相等。
总结一下,矩阵乘法不满足交换律有下面3层含义:
-
\(AB\)有定义的前提是
\(A\)的列数等于
\(B\)的行数,这个前提不能保证
\(B\)的列数也等于
\(A\)的行数,即
\(AB\)有定义不能保证
\(BA\)有定义。当
\(AB\)有定义但
\(BA\)没有定义时,此时
\(AB\)和
\(BA\)不可能相等;
-
即便
\(AB\)和
\(BA\)都有定义,
\(AB\)和
\(BA\)的阶数也可能不同,当阶数不同时
\(AB\)和
\(BA\)不可能相等;
-
即便
\(AB\)和
\(BA\)都有定义且
\(AB\)和
\(BA\)的阶数也一样,此时仍有可能
\(AB\ne BA\)。
虽然一般情况下
\(AB\)和
\(BA\)不一定相等,但对于一些特定的
\(A\)和
\(B\),
\(AB\)和
\(BA\)有可能相等。若
\(AB=BA\),则称矩阵
\(A\)和
\(B\)可交换。容易看到可交换的两个矩阵一定是同阶方阵。
例 2.2.7. 单位矩阵和可交换性.
称所有对角元都为1、非对角元都为0的\(n\)阶方阵为\(n\)阶单位矩阵,记作\(E_n\)(或\(I_n\)),即
\begin{equation*}
E_n(= I_n)= \begin{pmatrix}
1 & 0 & \cdots & 0\\
0 & 1 & \ddots &
\vdots\\
\vdots & \ddots & \ddots & 0\\
0 & \cdots & 0 & 1
\end{pmatrix}.
\end{equation*}
设\(B\)是任意的一个\(n\)阶方阵,则可以验证\(E_n\)与\(B\)可交换,且
\begin{equation*}
E_nB=BE_n=B.
\end{equation*}
上例说明单位矩阵
\(E_n\)在矩阵乘法中起到了类似于数字1在数字乘法的作用。单位矩阵
\(E_n\)是一种非常重要的矩阵,后面我们会经常用到它。
Sage中生成单位矩阵的命令为identity_matrix。
所有非对角元都为0的方阵称为对角矩阵。\(n\)阶对角矩阵可以由它的\(n\)个对角元决定,因此可用\({\rm diag}(d_1,\ldots,d_n)\)来表示一个对角矩阵,即
\begin{equation*}
{\rm diag}(d_1,\ldots,d_n) =\begin{pmatrix}
d_1 & 0 & \cdots & 0\\
0 & d_2 & \ddots &
\vdots\\
\vdots & \ddots & \ddots & 0\\
0 & \cdots & 0 & d_n
\end{pmatrix}.
\end{equation*}
单位矩阵是对角元都为1的对角矩阵。
Sage中生成对角矩阵的命令为diagonal_matrix。
对角矩阵也是一类非常简单且重要的矩阵。对角矩阵参与的矩阵乘法也有较为明显的规律。
例 2.2.8. 对角矩阵与矩阵乘法.
设\(A={\rm diag}(a_1,\dots,a_n)\)是一个对角矩阵,\(B = (b_{ij})_{n\times k}\)和\(C = (c_{ij})_{m\times n}\)是两个一般的矩阵。则
\begin{equation*}
AB = \begin{pmatrix}
a_1b_{11} & a_{1}b_{12} & \cdots & a_1 b_{1k}\\
a_2b_{21} & a_2b_{22} & \cdots & a_2 b_{2k}\\
\vdots & \vdots & \ddots & \vdots\\
a_nb_{n1} & a_nb_{n2} & \cdots & a_nb_{nk}
\end{pmatrix},
\end{equation*}
\begin{equation*}
CA = \begin{pmatrix}
a_1c_{11} & a_2c_{12} & \cdots & a_n c_{1n}\\
a_1c_{21} & a_2c_{22} & \cdots & a_n c_{2n}\\
\vdots & \vdots & \ddots & \vdots\\
a_1c_{m1} & a_2b_{m2} & \cdots & a_nc_{mn}
\end{pmatrix}.
\end{equation*}
特别地,若\(D = {\rm diag}(d_1,\dots,d_n)\),则\(AD\)和\(DA\)都是对角矩阵,且
\begin{equation*}
AD=DA ={\rm diag}(a_1d_1,\dots,a_nd_n).
\end{equation*}
称形如
\begin{equation*}
A=\begin{pmatrix}
a_{11} & a_{12} & \cdots & a_{1n}\\
{\color{red}0} & a_{22} & \ddots & \vdots\\
{\color{red}\vdots} & {\color{red}\ddots} & \ddots & a_{n-1,n}\\
{\color{red}0} &{\color{red}\cdots} & {\color{red}0} & a_{nn}
\end{pmatrix}
\end{equation*}
的矩阵为上三角矩阵,即矩阵\(A\)的元素满足\(a_{ij}=0\),\(\forall i>j\),\(i,j=1,\dots,n\)。
类似地,称形如
\begin{equation*}
A=\begin{pmatrix}
a_{11} & {\color{red}0} & {\color{red}\cdots} & {\color{red}0}\\
a_{21} & a_{22} & {\color{red}\ddots} & {\color{red}\vdots}\\
\vdots & \ddots & \ddots & {\color{red}0}\\
a_{n1} & \cdots & a_{n,n-1} & a_{nn}
\end{pmatrix}
\end{equation*}
的矩阵为下三角矩阵,即矩阵\(A\)的元素满足\(a_{ij}=0\),\(\forall i < j\),\(i,j=1,\dots,n\)。
上三角矩阵和下三角矩阵都是方阵。对角矩阵既是上三角矩阵也是下三角矩阵。上三角矩阵和下三角矩阵的乘法也有较为明显的规律。
命题 2.2.9.
-
设
\(A\)和
\(B\)是同阶上三角矩阵,则
\(AB\)也是上三角矩阵。
-
设
\(A\)和
\(B\)是同阶下三角矩阵,则
\(AB\)也是下三角矩阵。
-
设
\(A\)和
\(B\)是同阶对角矩阵,则
\(AB\)也是对角矩阵。
所有元素都是0的矩阵称为
零矩阵,
\(m\times n\)阶零矩阵常被记作
\(0_{m\times n}\),当阶数已知或不重要时,零矩阵也常用0直接表示。
Sage中可以用命令zero_matrix生成零矩阵。
零矩阵在矩阵乘法中具有和数字0类似的性质。在可乘的前提下,零矩阵与任意其它矩阵相乘,无论是乘在左边还是右边,其结果一定是零矩阵。
在数字乘法中,我们熟悉的一个事实是两个非0的数乘积一定非0。这个规律迁移到矩阵乘法时不再成立。例如前面例子中已经出现的,取
\(A=\begin{pmatrix}
0 & 0\\
0 & 1
\end{pmatrix}\),
\(B= \begin{pmatrix}
0 & 1\\
0 & 0
\end{pmatrix}\),
\(A\)、
\(B\)均不是零矩阵,但
\(AB=0_{2\times 2}\)。
非0矩阵乘积可能为0的事实直接导致的结果是矩阵乘法消去律不再成立。
命题 2.2.10.
矩阵乘法不满足消去律,即
-
\(A\ne0,\ AB=AC {\color{red}\not\Rightarrow} B=C\);
-
\(AB=0\)且
\(A\ne 0\)\({\color{red}\not\Rightarrow}\) \(B=0\)。
上述命题中,我们列出的是“左”消去律不成立,即消去的矩阵写在左边;事实上“右”消去律也不成立,这部分请读者自行完成。
矩阵乘法和数字乘法的相同点之一是它们都满足结合律。
定理 2.2.11.
设\(A = (a_{ij})_{m\times n}\)、\(B = (b_{ij})_{n\times k}\)、\(C = (c_{ij})_{k\times p}\),则
\begin{equation*}
(AB)C = A(BC).
\end{equation*}
证明.
因为\(AB\)是\(m\times k\)矩阵,\(BC\)是\(n\times p\)矩阵,所以\((AB)C\)和\(A(BC)\)都是\(m\times p\)矩阵。对任意\(1\leq i\leq m, 1\leq j\leq p\),接下来我们考虑\((AB)C\)与\(A(BC)\)的第\(i\)行第\(j\)列元素。为方便起见,以下记
\begin{equation*}
AB=\left(u_{il}\right)_{m\times k}, BC=\left(v_{sj}\right)_{n\times p},
\end{equation*}
其中
\begin{equation*}
u_{il}=\sum\limits_{s=1}^na_{is}b_{sl}, v_{sj}=\sum\limits_{l=1}^kb_{sl}c_{lj}.
\end{equation*}
则\((AB)C\)的第\(i\)行第\(j\)列元素为
\begin{equation*}
\sum\limits_{l=1}^k u_{il}c_{lj}=\sum\limits_{l=1}^k\left(\sum\limits_{s=1}^na_{is}b_{sl}\right)c_{lj}=\sum\limits_{l=1}^k\sum\limits_{s=1}^n a_{is}b_{sl}c_{lj},
\end{equation*}
\(A(BC)\)的第\(i\)行第\(j\)列元素为
\begin{equation*}
\sum\limits_{s=1}^n a_{is}v_{sj}=\sum\limits_{s=1}^n a_{is}\left(\sum\limits_{l=1}^kb_{sl}c_{lj}\right)=\sum\limits_{s=1}^n\sum\limits_{l=1}^k a_{is}b_{sl}c_{lj}.
\end{equation*}
由于
\begin{equation*}
\sum\limits_{l=1}^k\sum\limits_{s=1}^n a_{is}b_{sl}c_{lj}=\sum\limits_{s=1}^n\sum\limits_{l=1}^k a_{is}b_{sl}c_{lj},
\end{equation*}
故\((AB)C\)与\(A(BC)\)的第\(i\)行第\(j\)列元素相同(\(i=1,\ldots,m,j=1,\ldots,p\)),从而\((AB)C=A(BC)\)。
虽然结合律保证了在进行多个矩阵相乘时,无论怎样的运算次序,最终获得的结果都是一样的,但实际计算时,不同运算次序的选择对于运算量有很大影响。
例 2.2.12. 乘法次序对运算量的影响.
取
\(A=(1,2,3,4,5)\)、
\(B=\begin{pmatrix}
6\\7\\8\\9\\10
\end{pmatrix}\),分别按照
\(ABA =(AB)A\)和
\(ABA = A(BA)\)两个公式计算
\(ABA\),并比较两者在运算量上的差异。
子节 2.2.4 矩阵的其它常用运算
除乘法外,我们还会用到其它一些矩阵的运算,这些运算相对于乘法都比较简单,我们在本小节中一并介绍。
定义 2.2.13.
设\(A=(a_{ij})_{m\times n}\)、\(B=(b_{ij})_{m\times n}\)是两个同阶矩阵。定义\(A\)与\(B\)的和,记作\(A+B\),为对应元素相加所得的矩阵,即
\begin{equation*}
A+B =(a_{ij}+b_{ij})_{m\times n}.
\end{equation*}
类似地,定义\(A\)与\(B\)的差,记作\(A-B\),为对应元素相加所得的矩阵,即
\begin{equation*}
A-B =(a_{ij}-b_{ij})_{m\times n}.
\end{equation*}
容易验证矩阵加法满足下面的运算规则
-
-
-
-
存在负元:
\(A+(-A)=0\),其中负元
\({\color{red}-A}\triangleq 0-A=({\color{red}-a_{ij}})_{m\times n}\);
-
定义 2.2.14.
设\(c\in \F\)是一个数,\(A=(a_{ij})_{m\times n}\)是一个矩阵。定义\(c\)与\(A\)的数乘,记作\(cA\),为将\(A\)的每一个元素都乘以\(c\)所获得的与\(A\)同阶的矩阵,即
\begin{equation*}
cA =(ca_{ij})_{m\times n}.
\end{equation*}
在sage中,矩阵乘法和数乘都使用“*”做为运算符,但两者是不同的运算,请读者体会两者间的差异。
与矩阵数乘有关的运算规则有:
-
数乘和加法的协调:
\(c(A+B)=cA+cB\);
-
数的加法与数乘的协调:
\((c+d)A=cA+dA\);
-
数的乘法与数乘的协调:
\((cd)A=c(dA)\);
-
-
数0与数乘的协调:
\({\color{blue}0}A={\color{red}0_{m\times n}}\)。
此外,矩阵乘法与加法、数乘运算还满足下面的运算规律:
-
乘法关于加法的分配律:
\(A(B+C) = AB + AC\),
\((A+B)C = AC + BC\);
-
乘法和数乘的交换律:
\(cAB = (cA)B = A(cB)\)。
定义 2.2.15.
设
\(A=(a_{ij})_{m\times n}\),
\(B=(b_{ij})_{n\times m}\)。若
\(b_{{\color{blue} i}{\color{red} j}} = a_{{\color{red} j}{\color{blue} i}}\)对
\(\forall i,j\)均成立,则称
\(B\)是
\(A\)的
转置,记作
\(B=A^{T}\)(或
\(B=A'\))。
转置运算满足下列性质:
-
-
-
-
\({\color{red}(AB)^T= B^T A^T}\);
-
\({\color{red}(A_1A_2\cdots A_s)^T= A_s^T A_{s-1}^T\cdots A_1^T}\)。
上述性质都可以直接验证,使用时需要特别注意的是最后两条性质。
定义 2.2.16.
一个方阵
\(A\)若满足
\(A=A^T\),则称
\(A\)为
对称矩阵;若
\(A= {\color{red}-} A^T\),则称
\(A\)为
反对称矩阵。
任意方阵
\(A\)都可以分解为对称矩阵与反对称矩阵的和,即存在对称矩阵
\(B\),反对称矩阵
\(C\), 使得
\(A=B+C\)。这个结论的证明留作习题。
共轭运算通常只针对复矩阵。注意到复数是有共轭运算的:设复数
\(z=a+bi\in \mathbb{C} (a,b\in \mathbb{R})\),称
\(a-bi\)为
\(z\)的共轭元,记为
\(\overline{z}\)。
定义 2.2.17.
复数域
\(\mathbb{C}\)上矩阵
\(A=(a_{jk})_{m\times n}\)的
共轭矩阵,记作
\(\bar{A}\),定义为
\(\bar{A} = (\overline{a_{jk}})_{m\times n}\)。
共轭运算有如下一些常用的运算规则:
-
\(\overline{(\bar{A})}=A\);
-
\(\overline{A+B}=\bar{A}+\bar{B} \);
-
\(\overline{cA}=\bar{c}\bar{A} \);
-
\(\overline{AB}=\bar{A}\bar{B}\);
-
\(\overline{(A^T)}=\bar{A}^T \)。
类似于多个相同的数相乘可以写成幂的形式,多个相同方阵的乘积也可以写成幂的形式。
定义 2.2.18.
设\(A\)是一个方阵,定义方阵的幂:
\begin{equation*}
A^2 \triangleq A\times A,
\end{equation*}
\begin{equation*}
A^3 \triangleq A\times A\times A,
\end{equation*}
\begin{equation*}
\vdots
\end{equation*}
\begin{equation*}
A^r\triangleq A^{r-1}\times A=\underbrace{A\times A\times\cdots\times A}_{r}.
\end{equation*}
方阵的幂有如下一些常用性质:
-
\(A^r\times A^s=A^{r+s}\);
-
-
若
\(AB=BA\),则
\((AB)^s=A^sB^s\)。
-
若\(AB=BA\),则
\begin{equation*}
(A+B)^s=\sum_{i=0}^s {s\choose i} A^{s-i}B^{i}
\end{equation*}
例 2.2.19.
-
设
\(A=\begin{pmatrix}
0 & 1\\
0 & 0
\end{pmatrix}\),求
\(A^2\)。
-
设
\(B= \begin{pmatrix}
0 & 1 & 0\\
0 & 0 & 1\\
0 & 0 & 0
\end{pmatrix}\),求
\(B^2\),
\(B^3\)。
请同学们试着讨论更一般的结论,即设
\(A =\begin{pmatrix}
0 & {\color{red}1} & 0 & \cdots & 0\\
0 & 0 & {\color{red}1} & \ddots &\vdots\\
\vdots &\ddots & \ddots & {\color{red}\ddots} & 0\\
0 & \cdots & 0 & 0 & {\color{red}1}\\
0 & 0 & \cdots & 0 & 0
\end{pmatrix}_{n\times n}\),求
\(A^k\)。这个矩阵
\(A\)是很重要的一种矩阵,请同学们理解这个矩阵在乘法中起到的作用。
例 2.2.20.
设
\begin{equation*}
A= \begin{pmatrix}
\lambda & 1 & 0\\
0 & \lambda & 1\\
0 & 0 &\lambda
\end{pmatrix},
\end{equation*}
求 \(A^n\)。
解答.
记 \(J=\begin{pmatrix}
0 & 1 & 0\\
0 & 0 & 1\\
0 & 0 &0
\end{pmatrix}\),则\(A=\lambda E_3+J\)。因为
\begin{equation*}
(\lambda E_3)J=\lambda(E_3 J)=\lambda J=\lambda (JE_3)=J(\lambda E_3),
\end{equation*}
且
\begin{equation*}
J^2=\begin{pmatrix}
0 & 0 & 1\\
0 & 0 & 0\\
0 & 0 &0
\end{pmatrix}, J^3=0,
\end{equation*}
所以
\begin{equation*}
\begin{array}{rl}
A^n = & (\lambda E_3+J)^n\\
= &(\lambda E_3)^n + {n\choose 1}(\lambda E_3)^{n-1}J + {n\choose 2} (\lambda E_3)^{n-2}J^2+\cdots +J^n\\
= & (\lambda E_3)^n + {n\choose 1}(\lambda E_3)^{n-1}J + {n\choose 2} (\lambda E_3)^{n-2}J^2\\
= & \begin{pmatrix}
\lambda^n & n\lambda^{n-1} & \frac{n(n-1)}{2}\lambda^{n-2}\\
0 & \lambda^n & n\lambda^{n-1}\\
0 & 0 & \lambda^n
\end{pmatrix}.
\end{array}
\end{equation*}
例 2.2.21.
设
\begin{equation*}
A= \begin{pmatrix}
1 & -1 & 3\\
-1 & 1 & -3\\
2 & -2 & 6
\end{pmatrix},
\end{equation*}
求 \(A^{2025}\)。
解答.
记
\begin{equation*}
\alpha=\begin{pmatrix}
1 \\ -1 \\ 2
\end{pmatrix},\beta=\begin{pmatrix}
1 & -1 & 3
\end{pmatrix},
\end{equation*}
则\(A=\alpha\beta\)。注意到 \(\beta\alpha=8\),由矩阵乘法结合律得
\begin{equation*}
\begin{array}{rl}
A^{2025}= & \overbrace{(\alpha\beta)(\alpha\beta)\cdots (\alpha\beta)}^{2025个}\\
= &\alpha\overbrace{(\beta\alpha)(\beta\alpha)\cdots (\beta\alpha)}^{2024个}\beta\\
= & 8^{2024}\alpha\beta\\
= & \begin{pmatrix}
8^{2024} & -8^{2024} & 3\cdot 8^{2024}\\
-8^{2024} & 8^{2024} & -3\cdot 8^{2024}\\
2\cdot 8^{2024} & -2\cdot 8^{2024} & 6\cdot 8^{2024}
\end{pmatrix}.
\end{array}
\end{equation*}
子节 2.2.5 矩阵应用举例之计算机图形*
矩阵作为一个2维数表,在很多实际问题中都是一种常用的数据格式。特别的,在计算机图形学中,一个数字黑白图像的存储方式就是存为一个矩阵。
对于一个只含有0和1的矩阵,把矩阵中的0对应于一个纯白色块,1对应于一个纯黑色块,然后把这些色块按照其在矩阵中的位置连续拼接起来,就可以获得一张黑白图片。这种图片通常被称为
二值图。
色块形状的可以有很多选择,通常选择为正方形。Sage中提供了命令matrix_plot()就是按照这种方式将矩阵转化为图像。当以0,1矩阵为输入时,此命令可以输出相应的二值图,如下例所示。
黑白图像中另一种有代表性的图像是
灰度图,也称
灰阶图。灰度图也是由纯色色块拼接成的图像,这些纯色的色块通常也被称为
像素。 与二值图不同的是:灰阶图中除纯黑和纯白两种颜色的像素外,还有很多介于这两种颜色之间的颜色,统称为
灰色。最常用的灰度图在计算机上存储时,通常用0到255这256个整数表示色块的颜色,其中0代表纯黑,255代表纯白,越接近0的数字代表的颜色越黑,越接近255代表的颜色越白。表示颜色的数字通常也被称为所表示颜色的
灰度。
我们来看一个具体的例子: 下载
图 2.2.23中的图片,查看其属性可知这张图片的尺寸为
\(165\times 220\),也就是说这张图片是由
\(165\times 220\)个像素点构成的。
图 2.2.23. 刘徽(约225年—约295年),汉族,山东滨州邹平市人,魏晋期间伟大的数学家,中国古典数学理论的奠基人之一。在中国数学史上作出了极大的贡献,他的杰作《九章算术注》是宝贵的数学遗产。我们可以用下面的程序片段把这张黑白图片转化为矩阵。转化过程中需要使用Python中的一些基础库和模块。将图片转化为矩阵以及之后的运算会使用的计算资源和传输数据量均较大,使用云服务器计算要等待很长时间,因此建议把下面的程序片段拷贝到本地安装的sage中,并修改相应的本地存储图片路径,再运行相关代码。
为了简单,我们仍可以使用matrix_plot()命令来把矩阵转化为图片。注意到matrix_plot()命令中数字越小颜色越白,数字越大颜色越黑,这刚好和灰度图像中的颜色对应关系刚好相反,因此我们需要先做如下一个操作,然后即可用matrix_plot()将矩阵转化为图像。
在将图形用矩阵表示之后,对图形的很多常见操作,如旋转、翻转等,都可以通过矩阵的运算来“精确”实现。
练习 2.2.6 练习
基础题.
1.
分别写出\(4\)阶方阵\(A\),其第\(i\)行第\(j\)列元素如下:
-
-
\(\displaystyle a_{ij}=\left\{\begin{array}{lc}
j-i+1,& i\leq j,\\
0,& i>j;\end{array}\right.\)
-
-
2.
判断乘积矩阵\(AB,BA\)是否有意义。若有意义,写出该乘积矩阵。
-
\(A=\begin{pmatrix}
1&2&0\\1&-1&1
\end{pmatrix}\),
\(B= \begin{pmatrix}
1&3\\0&1\\1&-1
\end{pmatrix}\);
-
\(A=\begin{pmatrix}
a_1&a_2&a_3&a_4\\
b_1&b_2&b_3&b_4\\
c_1&c_2&c_3&c_4
\end{pmatrix}\),
\(B=\begin{pmatrix}
1\\1\\1\\1
\end{pmatrix}\);
-
\(A=\begin{pmatrix}
a_1&a_2&a_3&a_4\\
b_1&b_2&b_3&b_4\\
c_1&c_2&c_3&c_4
\end{pmatrix}\),
\(B=\begin{pmatrix}
1&1&1
\end{pmatrix}\);
-
\(A=\begin{pmatrix}
a_{11}& a_{12}& a_{13}\\
a_{21}& a_{22}& a_{23}\\
a_{31}& a_{32}& a_{33}
\end{pmatrix}\),
\(B=\begin{pmatrix}
0& 0& 0\\
0& 0& 1\\
0& 0& 0
\end{pmatrix}\);
-
\(A=\begin{pmatrix}
a_{11}& a_{12}& a_{13}\\
a_{21}& a_{22}& a_{23}\\
a_{31}& a_{32}& a_{33}
\end{pmatrix}\),
\(B=\begin{pmatrix}
1& 0& 0\\
0& 0& 1\\
0& 1& 0
\end{pmatrix}\);
-
\(A=\begin{pmatrix}
a_{11}& a_{12}& a_{13}\\
a_{21}& a_{22}& a_{23}\\
a_{31}& a_{32}& a_{33}
\end{pmatrix}\),
\(B=\begin{pmatrix}
1& 0& 0\\
0& c& 0\\
0& 0& 1
\end{pmatrix}\);
-
\(A=\begin{pmatrix}
a_{11}& a_{12}& a_{13}\\
a_{21}& a_{22}& a_{23}\\
a_{31}& a_{32}& a_{33}
\end{pmatrix}\),
\(B=\begin{pmatrix}
1& 0& 0\\
0& 1& c\\
0& 0& 1
\end{pmatrix}\)。
3.
主对角线上元素是同一个数\(c\),其余元素全为\(0\)的\(n\)阶方阵称为数量矩阵,记作\(cE_n\)(或\(cI_n\)),即
\begin{equation*}
cE_n(= cI_n)= \begin{pmatrix}
c & 0 & \cdots & 0\\
0 & c & \ddots &
\vdots\\
\vdots & \ddots & \ddots & 0\\
0 & \cdots & 0 & c
\end{pmatrix}.
\end{equation*}
设\(A\)为\(n\)阶方阵,求\(A(cE_n)\),\((cE_n)A\)。
4.
证明:两个上(下)三角矩阵的积仍是上(下)三角矩阵。
5.
设
\(A=\begin{pmatrix}
0& 1& 0\\0& 0& 1\\0& 0& 0
\end{pmatrix}\) ,求所有与
\(A\)可交换的矩阵。
6.
设
\(A\)是数域
\(\F\)上的
\(n\)阶方阵,
\(k\in\F\)。证明:若
\(B\),
\(C\)都与
\(A\)可交换,那么
\(B+C\),
\(kB\),
\(BC\)也都与
\(A\)可交换。
7.
设\(J\)是元素全为\(1\)的\(n\)阶方阵,请将矩阵
\begin{equation*}
A=\begin{pmatrix}
a& b& b& \cdots& b\\
b& a& b& \cdots& b\\
b& b& a& \cdots& b\\
\vdots& \vdots& \vdots& \ddots& \vdots\\
b& b& b& \cdots& a
\end{pmatrix}
\end{equation*}
表示成\(xE_n+yJ\)的形式,其中\(x\),\(y\)为待定系数。
8.
计算:
-
\(\begin{pmatrix}
0& 0& 1\\
0& 1& 0\\
1& 0& 0
\end{pmatrix}^n\);
-
\(\begin{pmatrix}
1& 1& 1\\
1& 1& 1\\
1& 1& 1
\end{pmatrix}^n\);
-
\(\begin{pmatrix}
\cos\theta& \sin\theta\\
-\sin\theta& \cos\theta
\end{pmatrix}^n\);
-
\(\begin{pmatrix}
1& -1& -1& -1\\
-1& 1& -1& -1\\
-1& -1& 1& -1\\
-1& -1& -1& 1
\end{pmatrix}^2\);
-
\(\begin{pmatrix}
1& -1& -1& -1\\
-1& 1& -1& -1\\
-1& -1& 1& -1\\
-1& -1& -1& 1
\end{pmatrix}^n\)。
9.
设
\(A=\begin{pmatrix}
1& 0& 1\\0& 2& 0\\1& 0& 1
\end{pmatrix}\),
\(n\geq 2\),求
\(A^n-2A^{n-1}\)。
10.
举例说明存在非零
\(n\)阶方阵
\(A\),使得
\(A^2={\bf 0}\)。
11.
设\(A\)是数域\(\F\)上\(n\)阶方阵且\(A^k={\bf 0}\),求
\begin{equation*}
(E_n-A)(E_n+A+A^2+\cdots +A^{k-1}).
\end{equation*}
12.
设
\(A\),
\(B\)是数域
\(\F\)上
\(n\)阶方阵,满足
\(A=\frac{1}{2}(B+E_n)\)。证明:
\(A^2=A\)的充分必要条件是
\(B^2=E_n\)。(注:称
\(A^2=A\)的矩阵
\(A\)为
幂等矩阵,称
\(B^2=E_n\)的矩阵
\(B\)为
对合矩阵。)
提高题.
13.
证明:如果
\(A={\rm diag} (a_1,\ldots ,a_n)\),其中
\(a_1,\ldots ,a_n\)两两互异,那么与矩阵
\(A\)可交换的矩阵只能是对角矩阵。
14.
若
\(n\)阶方阵的第
\(i\)行第
\(j\)列元素是
\(1\),其余元素都是
\(0\),则称该方阵为
\(n\)阶
基础矩阵,记为
\(E_{ij}\)。证明:如果
\(A\)是
\(n\)阶方阵满足
\(AE_{ij}=E_{ij}A\),那么
\(a_{ii}=a_{jj}\)且当
\(k\neq i\)时
\(a_{ki}=0\),当
\(l\neq j\)时
\(a_{jl}=0\)。
15.
设
\(A\)是数域
\(\F\)上
\(n\)阶方阵,证明:如果
\(A\)与所有数域
\(\F\)上的
\(n\)阶方阵可交换,那么
\(A\)一定是数量矩阵。
16.
一个\(n\)阶方阵\(A\)的 迹定义为
\begin{equation*}
{\rm tr} (A)=a_{11}+a_{22}+\cdots +a_{nn}.
\end{equation*}
证明:对任意\(n\)阶方阵\(A,B\),对任意常数\(k\),有
-
\({\rm tr} (A+B)={\rm tr} (A)+{\rm tr} (B)\);
-
\({\rm tr} (kA)=k{\rm tr} (A)\);
-
\({\rm tr} (AB)={\rm tr} (BA)\)。
17.
证明:不存在数域
\(\F\)上
\(n\)阶方阵
\(A,B\),使得
\(AB-BA=E_n\)。
18.
设
\(A=\begin{pmatrix}
a_{11}& a_{12}& a_{13}\\
a_{21}& a_{22}& a_{23}\\
a_{31}& a_{32}& a_{33}
\end{pmatrix},X=\begin{pmatrix}x_1\\x_2\\x_3\end{pmatrix}\),求
\(X^TAX\)。
19.
设
\(A\),
\(B\)都是
\(n\)阶对称矩阵,证明:
\(AB\)是对称矩阵的充分必要条件是
\(AB=BA\)。
20.
证明:如果
\(A\),
\(B\)都是
\(n\)阶反对称矩阵,那么
\(AB-BA\)也是反对称矩阵。
21.
设
\(A\)是
\(n\)阶反对称矩阵,
\(\alpha\)是
\(n\)维列向量,证明:
\(\alpha^TA\alpha=0\)。
22.
设
\(A\)是
\(m\times n\)实矩阵,证明:
\({\rm tr}(A^TA)\geq 0\),等号成立当且仅当
\(A={\bf 0}\)。
23.
设\(A\)是\(m\times n\)实矩阵,\(B\)是\(n\times k\)实矩阵,且\(ABB^T={\bf 0}\),证明:
\begin{equation*}
AB={\bf 0}.
\end{equation*}
24.
设
\(A\)是
\(m\times n\)复方阵,证明:
\({\rm tr}(\overline{A}^TA)\geq 0\),等号成立当且仅当
\(A={\bf 0}\)。
25.
设
\(A\),
\(B\)都是数域
\(\F\)上
\(n\)阶方阵(
\(n\geq 2\))。如果
\(A^2=B^2\),是否可推出
\(A=B\)或
\(A=-B\)?若正确请证明,若不正确请举出一个反例。
26.
设\(A\)是数域\(\F\)上\(n\)阶方阵,
\begin{equation*}
f(x)=a_mx^m+\cdots+a_0\in\F[x],
\end{equation*}
把\(x\)用\(A\)代入,得
\begin{equation*}
f(A)=a_mA^m+\cdots+a_1A+a_0E_n,
\end{equation*}
称\(f(A)\)为矩阵\(A\)的多项式。设
\begin{equation*}
A=\begin{pmatrix}
0& 1& 0& \cdots & 0\\
0& 0& 1& \cdots & 0\\
\vdots& \vdots& \vdots& \ddots & \vdots\\
0& 0& 0& \cdots & 1\\
1& 0& 0& \cdots & 0\\
\end{pmatrix}
\end{equation*}
是\(n\)阶方阵,\(f(x)=a_nx^n+\cdots+a_0\),求\(f(A)\)。
27.
设\(A\)是数域\(\F\)上\(n\)阶方阵,\(f(x),g(x)\in\F[x]\),证明:
\begin{equation*}
f(A)g(A)=g(A)f(A).
\end{equation*}
28.
设\(A,B,C\)是数域\(\F\)上\(n\)阶方阵,\(f(x)\in\F[x]\)。 若\(AB=BC\),证明:
-
对任意正整数
\(k\),有
\(A^kB=BC^k\);
-
对任意
\(f(x)\in\F[x]\),有
\(f(A)B=Bf(C)\)。
29.
设
\(A\)是
\(n\)阶复矩阵,若
\(\overline{A}^T=A\),则称
\(A\)是一个
Hermite矩阵。若
\(\overline{A}^T=-A\),则称
\(A\)是一个
斜Hermite矩阵。证明:任一复
\(n\)阶矩阵均可唯一地表示成一个Hermite矩阵与一个斜Hermite矩阵之和。
挑战题.
30.
试求两个
\(n\)阶方阵
\(B_1,B_2\),使得与
\(B_1,B_2\)都可交换的矩阵必为数量矩阵。
31.
记\(\F^{n\times n}\)为数域\(\F\)上所有\(n\)阶方阵构成的集合。若映射 \(\varphi:\F^{n\times n}\rightarrow\F\)满足:对任意\(A,B\in\F^{n\times n},c\in\F\),有
-
\(\varphi (A+B)=\varphi(A)+\varphi(B)\),
-
\(\varphi(cA)=c\varphi(A)\),
-
\(\varphi(AB)=\varphi(BA)\),
证明:存在\(a\in\F\),使得\(\varphi(A)=a{\rm tr}(A),\forall A\in\F^{n\times n}\)。
32.
设
\(A,B\)是数域
\(\F\)上二阶方阵,满足
\(AB-BA=A\),证明:
\(A^2={\bf 0}\)。
33.
设
\(A,B\)是
\(n\)阶实对称矩阵,
\(C\)为
\(n\)阶实反对称矩阵,且
\(A^2+B^2=C^2\),证明:
\(A=B=C=0\)。
34.
设
\(n\)阶方阵
\(A\)每行元素之和都是
\(a\),证明:对任意正整数
\(k\),
\(A^k\)每行元素之和都是
\(a^k\)。