矩阵函数

函数的四要数
函数代表了集合中的元素和中的元素的一种对应关系:
这种对应关系中,有四个重要概念,或者称为函数的四要素:
- 定义域:集合
- 映射法则:指明中的元素怎么和中元素关联
- 值域:通过映射法和定义域决定,表示映射到中的值
- 到达域:集合
四要素包含了函数的所有细节,所以,函数又可以写作:
\begin{align}f:X\to Y\end{align}
值域因为可以由来决定,所以上面的代数式没有表示值域。
韦恩图
可以用韦恩图来表示函数的四要素:
自然定义域
使函数有意义的一切元素组成的集合称为自然定义域
比如,对于函数,它在整个实数范围内都有定义,也就是说它的定义域是实数域:
并且规定,如果函数不指明定义域,那么就默认为自然定义域。比如下面函数的定义域都指的是自然定义域:
\begin{align}y=\sin x,\quad y=\frac{1}{x},\quad A\boldsymbol{x}=\boldsymbol{y}\end{align}
单射、满射以及双射
单射
映射法则是单的,简称单射,当且仅当每一个至多有一个与之对应:
![]() 单射 | ![]() 非单射 |
满射
映射法则是满的,简称满射,当且仅当每一个至少有一个与之对应。此时值域与到达域相等:
![]() 满射 | ![]() 非满射 |
双射
若映射既不是单射,又不是满射,则称为非单射非满射;若映射既是单射,又是满射,则称为双射,或称为一一映射:
![]() 非单射非满射 | ![]() 双射 |
值域
值域由定义域和映射法则共同决定,比如对于:
- 当定义域为的时候,其值域为
- 当定义域为的时候,其值域为
上述第二种情况的图像如下:
到达域
定义到达域的原因如下:
(1)值域不好求。比如下面这个函数的值域就很不好求:
\begin{align}f(x)=\frac{x^3}{1+e^x}\end{align}
但容易知道,值域一定在内。此时,可以说该函数的到达域为,这样就通过到达域给出了值域的大致范围。
(2)值域没法求。比如对于下面两个抽象函数:
\begin{align}f:\mathbb{R}\to\mathbb{R},\quad g:\mathbb{R}\to\mathbb{R}\end{align}
很显然函数的值域是没有办法求出的,但可以知道到达域为,那么该函数可以表示为:
\begin{align}f+g:\mathbb{R}\to\mathbb{R}\end{align}
矩阵函数的四要素
矩阵函数分为列向量矩阵函数和行向量矩阵函数,两者的函数四要素有细微的区别。
列向量矩阵函数
对于的矩阵,根据矩阵乘法合法性,可得列向量矩阵函数:
\begin{align}\begin{array}{c} \underbrace{A}_{m\times n}\quad\underbrace{\boldsymbol{x_{}}}_{n\times 1}\quad = \quad\underbrace{\boldsymbol{y_{}}}_{m\times 1}\\ \Updownarrow \\ \begin{pmatrix}a_{11}&a_{12}&\cdots&a_{1n}\\ a_{21}&a_{22}&\cdots&a_{2n}\\\vdots&\quad&\quad&\vdots\\ a_{m1}&a_{m2}&\cdots&a_{mn}\end{pmatrix} \begin{pmatrix}x_1\\x_2\\\vdots\\x_n\end{pmatrix} = \begin{pmatrix}y_1\\y_2\\\vdots\\y_m\end{pmatrix} \end{array}\end{align}
它的四要素为:
\begin{align}\begin{array}{c|c|c|c} \hline \quad自然定义域\quad&\quad 映射法则 \quad&\quad 值域 \quad&\quad 到达域 \quad\\\hline\\ \quad \mathbb{R}^n \quad&\quad A \quad&\quad A\boldsymbol{x} \quad&\quad \mathbb{R}^m \quad\\ \\ \hline \end{array}\end{align}
因此,该矩阵函数所代表的线性函数可以写作:
\begin{align}\mathcal{L}:\mathbb{R^n}\to \mathbb{R^m}\end{align}
对应的韦恩图如下:
行向量矩阵函数
对于的矩阵,根据矩阵乘法合法性,可得行向量矩阵函数:
\begin{align}\begin{array}{c}\underbrace{\boldsymbol{x}^\mathrm{T}}_{1\times m}\quad\underbrace{A}_{m\times n}\quad=\quad\underbrace{\boldsymbol{y}^\mathrm{T}}_{1\times n}\\\Updownarrow\\\begin{pmatrix}x_1&x_2&\cdots&x_m\end{pmatrix}\begin{pmatrix}a_{11}&a_{12}&\cdots&a_{1n}\\ a_{21}&a_{22}&\cdots&a_{2n}\\\vdots&\quad&\quad&\vdots\\ a_{m1}&a_{m2}&\cdots&a_{mn}\end{pmatrix} = \begin{pmatrix}y_1&y_2&\cdots&y_n\end{pmatrix}\end{array}\end{align}
它的四要素为:
\begin{align}\begin{array}{c|c|c|c} \hline \quad自然定义域\quad&\quad 映射法则 \quad&\quad 值域 \quad&\quad 到达域 \quad\\\hline\\ \quad \mathbb{R}^m \quad&\quad A \quad&\quad \boldsymbol{x}^\mathrm{T}A \quad&\quad \mathbb{R}^n \quad\\ \\ \hline \end{array}\end{align}
因此,该矩阵函数所代表的线性函数可以写作:
\begin{align}\mathcal{L}:\mathbb{R^m}\to \mathbb{R^n}\end{align}
此时的韦恩图如下:
单射
定义域维度=值域维度时,单射
当“定义域维度=值域维度”的时候,可以直观地想象,因为相等,此时值域中的向量和定义域中的向量一样多,所以矩阵函数是单射。而“定义域维度>值域维度”时,此时值域中的向量比定义域中的向量少,所以矩阵函数非单射:
![]() 定义域维度=值域维度,单射 | ![]() 定义域维度 > 值域维度,非单射 |
这是可以证明的:
当定义域为向量空间时,有:
\begin{align}矩阵函数是单射\ \iff\ 定义域的维度=值域的维度\end{align}
以及:
\begin{align}矩阵函数非单射\ \iff\ 定义域的维度 > 值域的维度\end{align}
查看详情
下面对列向量矩阵函数进行证明,结论同样适用于行向量矩阵函数行向量矩阵函数。这里的证明要接着上一节的证明,也就是矩阵函数的定义域 ≥ 值域的证明来看。
(1)先证明,“单射定义域维度与值域维度相同”。用反证法,假设单射时,定义域维度与值域维度不同。已知定义域由基张成,所以定义域的维度为,而值域由张成,因为定义域维度与值域维度不同,所以该向量组必定线性相关(否则维度也为),不妨假设可以被其它向量线性表示:
\begin{align}A\boldsymbol{a}_1=k_2A\boldsymbol{a}_2+k_3A\boldsymbol{a}_3+\cdots+k_nA\boldsymbol{a}_n,\quad k_{2,3,\cdots,n}\in\mathbb{R}\end{align}
移项之后可得:
\begin{align}A(\boldsymbol{a}_1-k_2\boldsymbol{a}_2-\cdots-k_n\boldsymbol{a}_n)=\boldsymbol{0}\end{align}
因为,且为单射,所以必然有:
\begin{align}\boldsymbol{a}_1-k_2\boldsymbol{a}_2-\cdots-k_n\boldsymbol{a}_n=\boldsymbol{0}\end{align}
上式说明向量组线性相关,与该向量组是基的条件相矛盾,所以,“假设单射时,定义域维度与值域维度不同”是错误的。
(2)再证明,“定义域维度与值域维度相同单射”。首先假设在定义域中的两个向量:
\begin{align}\boldsymbol{u}=(u_1,u_2,\cdots,u_n),\quad\boldsymbol{v}=(v_1,v_2,\cdots,v_n)\end{align}
那么有:
\begin{align}\begin{aligned} A\boldsymbol{u}-A\boldsymbol{v} &=A(u_1\boldsymbol{a}_1+u_2\boldsymbol{a}_2+\cdots+u_n\boldsymbol{a}_n)-A(v_1\boldsymbol{a}_1+v_2\boldsymbol{a}_2+\cdots+v_n\boldsymbol{a}_n)\\ \\ &=(u_1-v_1)A(\boldsymbol{a}_1)+(u_2-v_2)A(\boldsymbol{a}_2)+\cdots+(u_n-v_n)A(\boldsymbol{a}_n) \end{aligned}\end{align}
因为定义域维度与值域维度相同,因此向量组线性无关,根据线性无关的定义可得:
\begin{align}\begin{aligned}A\boldsymbol{u}-A\boldsymbol{v}=0&\implies (u_1-v_1)A(\boldsymbol{a}_1)+(u_2-v_2)A(\boldsymbol{a}_2)+\cdots+(u_n-v_n)A(\boldsymbol{a}_n)=0\\ \\&\overset{线性无关}{\implies} u_1-v_1=0,u_2-v_2=0,\cdots,u_n-v_n=0&&\\ \\ &\implies \boldsymbol{u}=\boldsymbol{v} \end{aligned}\end{align}
所以,是单射。
(3)因为矩阵函数的定义域维度 ≥ 值域维度,所以除了“定义域维度=值域维度”,剩下的情况就是“定义域维度 > 值域维度”。因为已经证明了单射的充要条件:
\begin{align}矩阵函数是单射\ \iff\ 定义域的维度=值域的维度\end{align}
所以“定义域维度 > 值域维度”自然就是非单射。
根据上述定理可知,相对于定义域的维度,单射时值域维度会保持不变,非单射时值域会降维:
\begin{align}\begin{array}{c|c|c|c} \hline \quad\quad&\quad 定义域的维度 \quad&\quad 值域的维度 \quad \quad\\\hline\\ \quad 单射 \quad&\quad \begin{aligned}二维空间\\三维空间\end{aligned} \quad&\quad \begin{aligned}二维空间\\三维空间\end{aligned}\quad\\ \\ \hline \\ \quad 非单射 \quad&\quad \begin{aligned}二维空间\\三维空间\end{aligned} \quad&\quad \begin{aligned}一维或零维空间\quad\ \\二维、一维或零维空间\end{aligned}\quad\\ \\ \hline \end{array}\end{align}
满秩与单射
在自然定义域下时,有:
\begin{align}\begin{array}{c|c|c|c} \hline \quad矩阵函数\quad&\quad 单射的充要条件 \quad\\\hline\\ \quad \boldsymbol{A}\boldsymbol{x}=\boldsymbol{y} \quad&\quad 列满秩 \iff 单射 \quad\\ \quad \boldsymbol{x}^\mathrm{T}\boldsymbol{A}=\boldsymbol{y}^\mathrm{T} \quad&\quad 行满秩 \iff 单射\quad\\ \\ \hline \end{array}\end{align}
查看详情
(1)先证明列向量矩阵函数的情况。假设为的矩阵,那么在自然定义域下,列向量矩阵函数的四要素为:
\begin{align}\begin{array}{c|c|c|c} \hline \quad 自然定义域\quad&\quad 映射法则 \quad&\quad 值域 \quad&\quad 到达域 \quad\\\hline\\ \quad \mathbb{R}^n \quad&\quad \boldsymbol{A} \quad&\quad colsp(\boldsymbol{A}) \quad&\quad \mathbb{R}^m \quad\\ \\ \hline \end{array}\end{align}
用韦恩图来表示就是:
之前证明了,定义域维度=值域维度时,矩阵函数是单射。所以当值域扩大到和定义域一样大时,列向量矩阵函数就是单射:
所以单射时有,又有为的矩阵,因此:
\begin{align}rank\left(colsp(\boldsymbol{A})\right)=n\iff \boldsymbol{A}\ \text{是列满秩}\iff \boldsymbol{A}\boldsymbol{x}=\boldsymbol{y}\ \text{是单射}\end{align}
(2)行向量矩阵函数的证明与上面类似,就不再赘述。
比如说是列满秩的,此时的自然定义域为,值域为中的平面,两者的维度一样大,因此是单射:
而对于非列满秩的,此时的自然定义域为,值域为中的直线,两者的维度不同,因此是非单射:
非单射
当矩阵函数为单射时,值域中的任意向量有且只有一个定义域中的向量与之对应。而非单射时,值域中的每一个向量都有无数个定义域中的向量与之对应:
![]() 单射 | ![]() 非单射 |
查看详情
(1)根据单射定义可知,当矩阵函数为单射时,值域中的任意向量有且只有一个定义域中的向量与之对应。
(2)矩阵函数为非单射时,下面以列向量矩阵函数为例进行证明。此时必定存在值域中的向量对应多个定义域中的向量,不妨假设值域中的向量与定义域中两个不相等的、相对应,即有:
\begin{align}A\boldsymbol{c_1}=A\boldsymbol{c_2}=\boldsymbol{a},\quad \boldsymbol{c_1}\ne\boldsymbol{c_2}\end{align}
因为矩阵函数是线性函数,所以可推出:
\begin{align}A\boldsymbol{c_1}-A\boldsymbol{c_2}=A(\boldsymbol{c_1}-\boldsymbol{c_2})=\boldsymbol{0},\quad \boldsymbol{c_1}-\boldsymbol{c_2}\ne\boldsymbol{0}\end{align}
再假设值域中另外一个向量与定义域中的,即,那么可以推出:
\begin{align}\begin{aligned} A\Big(\boldsymbol{c_3}-k(\boldsymbol{c_1}-\boldsymbol{c_2})\Big) &=A\boldsymbol{c_3}-kA(\boldsymbol{c_1}-\boldsymbol{c_2})\\ &=A\boldsymbol{c_3}-\boldsymbol{0}=\boldsymbol{b},\quad k\in\mathbb{R} \end{aligned}\end{align}
也就是说也和相对应,所以得证。
矩阵函数非单射的几何意义是,值域和定义域相比,在维度上缩小了。比如输入为矩形,输出为线段,此时就是非单射:
矩阵函数的定义域维度 ≥ 值域维度
对于矩阵函数而言,当定义域为向量空间时,其值域也为向量空间,且:
\begin{align}定义域的维度\ ≥\ 值域的维度\end{align}
查看详情
下面对列向量矩阵函数进行证明,结论同样适用于行向量矩阵函数:
(1)先证明,“当定义域为向量空间时,其值域也为向量空间”。假设定义域为向量空间,由基张成,那么定义域中的任意向量可以表示为:
\begin{align}\boldsymbol{x}=x_1\boldsymbol{a}_1+x_2\boldsymbol{a}_2+\cdots+x_n\boldsymbol{a}_n,\quad x_{1,2,\cdots,n}\in\mathbb{R}\end{align}
因为矩阵函数是线性函数,所以有:
\begin{align}\begin{aligned} \boldsymbol{y} &=A(x_1\boldsymbol{a}_1+x_2\boldsymbol{a}_2+\cdots+x_n\boldsymbol{a}_n)\\ \\ &=x_1A(\boldsymbol{a}_1)+x_2A(\boldsymbol{a}_2)+\cdots+x_nA(\boldsymbol{a}_n),\quad x_{1,2,\cdots,n}\in\mathbb{R} \end{aligned}\end{align}
所以,值域为向量组的张成空间,也为向量空间。
(2)再证明,“定义域的维度 ≥ 值域的维度”。已知定义域是基的张成空间,所以定义域的维度为。上面又证明了值域是向量组的张成空间。所以,当该向量组线性无关时,值域的维度为;当该向量组线性相关时,值域的维度小于。就是说始终有:
\begin{align}定义域的维度\ ≥\ 值域的维度\end{align}
上面定义也就是说,对于某矩阵函数,如果定义域为,那么值域只能为2维、1维或者0维:
或者通过韦恩图来表示(右图的值域画的显然更小一些,用于表示“定义域 > 值域”):
![]() 定义域维度=值域维度 | ![]() 定义域维度 > 值域维度 |
满射
在自然定义域下时,有:
\begin{align}\begin{array}{c|c|c|c} \hline \quad矩阵函数\quad&\quad 满射的充要条件 \quad\\\hline\\ \quad \boldsymbol{A}\boldsymbol{x}=\boldsymbol{y} \quad&\quad 行满秩 \iff 满射 \quad\\ \quad \boldsymbol{x}^\mathrm{T}\boldsymbol{A}=\boldsymbol{y}^\mathrm{T} \quad&\quad 列满秩 \iff 满射\quad\\ \\ \hline \end{array}\end{align}
查看详情
(1)先证明列向量矩阵函数的情况。假设为的矩阵,那么列向量矩阵函数在自然定义域下的四要素为:
\begin{align}\begin{array}{c|c|c|c} \hline \quad 自然定义域\quad&\quad 映射法则 \quad&\quad 值域 \quad&\quad 到达域 \quad\\\hline\\ \quad \mathbb{R}^n \quad&\quad \boldsymbol{A} \quad&\quad colsp(\boldsymbol{A}) \quad&\quad \mathbb{R}^m \quad\\ \\ \hline \end{array}\end{align}
用韦恩图来表示就是:
根据满射的定义,当值域扩大到和到达域一样大时,列向量矩阵函数就是满射:
所以满射时,有,又因为列秩=行秩,所以:
\begin{align}\left.\begin{aligned}rank\Big(colsp(\boldsymbol{A})\Big)=m\\列秩=行秩\end{aligned}\right\} \implies rank\Big(rowsp(\boldsymbol{A})\Big)=m\end{align}
又有为的矩阵,因此:
\begin{align}rank\Big(rowsp(\boldsymbol{A})\Big)=m\iff \boldsymbol{A}\ 是行满秩\iff \boldsymbol{A}\boldsymbol{x}=\boldsymbol{y}\ 是满射\end{align}
(2)行向量矩阵函数的证明与上面类似,就不再赘述。
比如说是行满秩的,此时的自然定义域为,到达域为,值域也为,到达域=值域,符合满射的定义,因此是满射:
而不是行满秩的,此时的自然定义域为,到达域为,值域为中的平面,到达域值域,因此是非满射:
双射
如果一个映射,既是单射又是满射,那么称为双射。所以结合上矩阵函数的单射以及矩阵函数的满射,可知:
在自然定义域下,有:
\begin{align}\begin{array}{c|c|c|c} \hline \quad矩阵函数\quad&\quad 单射的充要条件 \quad&\quad 满射的充要条件 \quad&\quad 双射的充要条件 \quad\\\hline\\ \quad \begin{aligned}A\boldsymbol{x}=\boldsymbol{y}\ \ \\\boldsymbol{x}^\mathrm{T}A=\boldsymbol{y}^\mathrm{T}\end{aligned} \quad&\quad \begin{aligned}列满秩\\行满秩\end{aligned} \quad&\quad \begin{aligned}行满秩\\列满秩\end{aligned} \quad&\quad 满秩\quad\\ \\ \hline \end{array}\end{align}
比如说是满秩矩阵,此时列向量矩阵函数的自然定义域为,到达域为,值域也为,此时:
\begin{align}定义域的维度=到达域的维度=值域的维度\end{align}
既是单射又是满射,因此是双射:
换成行向量矩阵函数也是双射。