线性代数原文 MIT 18.06 线性代数笔记
矩阵论笔记来自 工程矩阵理论
综合线性代数 机器学习的数学基础
配合视频 线性代数 工程矩阵理论
文章目录
一、方程组的几何解释
我们从求解线性方程组来开始这门课,从一个普通的例子讲起:方程组有 2 2 2个未知数,一共有 2 2 2个方程,分别来看方程组的“行图像”和“列图像”。
有方程组 { 2 x − y = 0 − x + 2 y = 3 \begin{cases}2x&-y&=0\\-x&+2y&=3\end{cases} {2x−x−y+2y=0=3,写作矩阵形式有 [ 2 − 1 − 1 2 ] [ x y ] = [ 0 3 ] \begin{bmatrix}2&-1\\-1&2\end{bmatrix}\begin{bmatrix}x\\y\end{bmatrix}=\begin{bmatrix}0\\3\end{bmatrix} [2−1−12][xy]=[03],通常我们把第一个矩阵称为系数矩阵 A A A,将第二个矩阵称为向量 x x x,将第三个矩阵称为向量 b b b,于是线性方程组可以表示为 A x = b Ax=b Ax=b。
我们来看行图像,即直角坐标系中的图像:
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import seaborn as sns
x = [-2, 2, -2, 2]
y = [-4, 4, 0.5, 2.5]
fig = plt.figure()
plt.axhline(y=0, c='black')
plt.axvline(x=0, c='black')
plt.plot(x[:2], y[:2], x[2:], y[2:])
plt.draw()
plt.close(fig)
上图是我们都很熟悉的直角坐标系中两直线相交的情况,接下来我们按列观察方程组 x [ 2 − 1 ] + y [ − 1 2 ] = [ 0 3 ] x\begin{bmatrix}2\\-1\end{bmatrix}+y\begin{bmatrix}-1\\2\end{bmatrix}=\begin{bmatrix}0\\3\end{bmatrix} x[2−1]+y[−12]=[03](我们把第一个向量称作 c o l 1 col_1 col1,第二个向量称作 c o l 2 col_2 col2,以表示第一列向量和第二列向量),要使得式子成立,需要第一个向量加上两倍的第二个向量,即 1 [ 2 − 1 ] + 2 [ − 1 2 ] = [ 0 3 ] 1\begin{bmatrix}2\\-1\end{bmatrix}+2\begin{bmatrix}-1\\2\end{bmatrix}=\begin{bmatrix}0\\3\end{bmatrix} 1[2−1]+2[−12]=[03]。
现在来看列图像,在二维平面上画出上面的列向量:
from functools import partial
fig = plt.figure()
plt.axhline(y=0, c='black')
plt.axvline(x=0, c='black')
ax = plt.gca()
ax.set_xlim(-2.5, 2.5)
ax.set_ylim(-3, 4)
arrow_vector = partial(plt.arrow, width=0.01, head_width=0.1, head_length=0.2, length_includes_head=True)
arrow_vector(0, 0, 2, -1, color='g')
arrow_vector(0, 0, -1, 2, color='c')
arrow_vector(2, -1, -2, 4, color='b')
arrow_vector(0, 0, 0, 3, width=0.05, color='r')
plt.draw()
plt.close(fig)
如图,绿向量 c o l 1 col_1 col1与蓝向量(两倍的蓝绿向量 c o l 2 col_2 col2)合成红向量 b b b。
接着,我们继续观察 x [ 2 − 1 ] + y [ − 1 2 ] = [ 0 3 ] x\begin{bmatrix}2\\-1\end{bmatrix}+y\begin{bmatrix}-1\\2\end{bmatrix}=\begin{bmatrix}0\\3\end{bmatrix} x[2−1]+y[−12]=[03], c o l 1 , c o l 2 col_1,col_2 col1,col2的某种线性组合得到了向量 b b b,那么 c o l 1 , c o l 2 col_1,col_2 col1,col2的所有线性组合能够得到什么结果?它们将铺满整个平面。
下面进入三个未知数的方程组: { 2 x − y = 0 − x + 2 y − z = − 1 − 3 y + 4 z = 4 \begin{cases}2x&-y&&=0\\-x&+2y&-z&=-1\\&-3y&+4z&=4\end{cases} ⎩⎪⎨⎪⎧2x−x−y+2y−3y−z+4z=0=−1=4,写作矩阵形式 A = [ 2 − 1 0 − 1 2 − 1 0 − 3 4 ] , b = [ 0 − 1 4 ] A=\begin{bmatrix}2&-1&0\\-1&2&-1\\0&-3&4\end{bmatrix},\ b=\begin{bmatrix}0\\-1\\4\end{bmatrix} A=⎣⎡2−10−12−30−14⎦⎤, b=⎣⎡0−14⎦⎤。
在三维直角坐标系中,每一个方程将确定一个平面,而例子中的三个平面会相交于一点,这个点就是方程组的解。
同样的,将方程组写成列向量的线性组合,观察列图像: x [ 2 − 1 0 ] + y [ − 1 2 − 3 ] + z [ 0 − 1 4 ] = [ 0 − 1 4 ] x\begin{bmatrix}2\\-1\\0\end{bmatrix}+y\begin{bmatrix}-1\\2\\-3\end{bmatrix}+z\begin{bmatrix}0\\-1\\4\end{bmatrix}=\begin{bmatrix}0\\-1\\4\end{bmatrix} x⎣⎡2−10⎦⎤+y⎣⎡−12−3⎦⎤+z⎣⎡0−14⎦⎤=⎣⎡0−14⎦⎤。易知教授特意安排的例子中最后一个列向量恰巧等于等式右边的 b b b向量,所以我们需要的线性组合为 x = 0 , y = 0 , z = 1 x=0,y=0,z=1 x=0,y=0,z=1。假设我们令 b = [ 1 1 − 3 ] b=\begin{bmatrix}1\\1\\-3\end{bmatrix} b=⎣⎡11−3⎦⎤,则需要的线性组合为 x = 1 , y = 1 , z = 0 x = 1 , y = 1 , z = 0 x=1,y=1,z=0x=1,y=1,z=0 x=1,y=1,z=0x=1,y=1,z=0。
我们并不能总是这么轻易的求出正确的线性组合,所以下一讲将介绍消元法——一种线性方程组的系统性解法。
现在,我们需要考虑,对于任意的 b b b,是否都能求解 A x = b Ax=b Ax=b?用列向量线性组合的观点阐述就是,列向量的线性组合能否覆盖整个三维向量空间?对上面这个例子,答案是肯定的,这个例子中的 A A A是我们喜欢的矩阵类型,但是对另一些矩阵,答案是否定的。那么在什么情况下,三个向量的线性组合得不到 b b b?
——如果三个向量在同一个平面上,问题就出现了——那么他们的线性组合也一定都在这个平面上。举个例子,比如 c o l 3 = c o l 1 + c o l 2 col_3=col_1+col_2 col3=col1+col2,那么不管怎么组合,这三个向量的结果都逃不出这个平面,因此当 b b b在平面内,方程组有解,而当 b b b不在平面内,这三个列向量就无法构造出 b b b。在后面的课程中,我们会了解到这种情形称为奇异、矩阵不可逆、降秩矩阵。
下面我们推广到九维空间,每个方程有九个未知数,共九个方程,此时已经无法从坐标图像中描述问题了,但是我们依然可以从求九维列向量线性组合的角度解决问题,仍然是上面的问题,是否总能得到 b b b?当然这仍取决于这九个向量,如果我们取一些并不相互独立的向量,则答案是否定的,比如取了九列但其实只相当于八列,有一列毫无贡献(这一列是前面列的某种线性组合),则会有一部分 b b b无法求得。
接下来介绍方程的矩阵形式 A x = b Ax=b Ax=b,这是一种乘法运算,举个例子,取 A = [ 2 5 1 3 ] , x = [ 1 2 ] A=\begin{bmatrix}2&5\\1&3\end{bmatrix},\ x=\begin{bmatrix}1\\2\end{bmatrix} A=[2153], x=[12],来看如何计算矩阵乘以向量:
- 我们依然使用列向量线性组合的方式,一次计算一列, [ 2 5 1 3 ] [ 1 2 ] = 1 [ 2 1 ] + 2 [ 5 3 ] = [ 12 7 ] \begin{bmatrix}2&5\\1&3\end{bmatrix}\begin{bmatrix}1\\2\end{bmatrix}=1\begin{bmatrix}2\\1\end{bmatrix}+2\begin{bmatrix}5\\3\end{bmatrix}=\begin{bmatrix}12\\7\end{bmatrix} [2153][12]=1[21]+2[53]=[127]
- 另一种方法,使用向量内积,矩阵第一行向量点乘 x x x向量 [ 2 5 ] ⋅ [ 1 2 ] T = 12 , [ 1 3 ] ⋅ [ 1 2 ] T = 7 \begin{bmatrix}2&5\end{bmatrix}\cdot\begin{bmatrix}1&2\end{bmatrix}^T=12,\ \begin{bmatrix}1&3\end{bmatrix}\cdot\begin{bmatrix}1&2\end{bmatrix}^T=7 [25]⋅[12]T=12, [13]⋅[12]T=7。
教授建议使用第一种方法,将 A x Ax Ax看做 A A A列向量的线性组合
1.N矩阵
N N N矩阵为: N n × n = [ O I n − 1 0 O ] N_{n \times n}=\begin{bmatrix}O&I_{n-1}\\0&O\end{bmatrix} Nn×n=[O0In−1O], N k N^k Nk就是把 1 1 1斜向上推一次, k ≥ n 时 , N k = 0 k\ge n时,N^k=0 k≥n时,Nk=0。任意 J o r d a n Jordan Jordan块都可以分解为 J i = λ i E + N J_i=\lambda_i E+N Ji=λiE+N
2.单位矩阵
文章中提到单位矩阵,大部分用 E E E表示,某些用 I I I表示,相关解释
二、矩阵消元
这个方法最早由高斯提出,我们以前解方程组的时候都会使用,现在来看如何使用矩阵实现消元法。
1.消元法
有三元方程组 { x + 2 y + z = 2 3 x + 8 y + z = 12 4 y + z = 2 \begin{cases}x&+2y&+z&=2\\3x&+8y&+z&=12\\&4y&+z&=2\end{cases} ⎩⎪⎨⎪⎧x3x+2y+8y4y+z+z+z=2=12=2,对应的矩阵形式 A x = b Ax=b Ax=b为 [ 1 2 1 3 8 1 0 4 1 ] [ x y z ] = [ 2 12 2 ] \begin{bmatrix}1&2&1\\3&8&1\\0&4&1\end{bmatrix}\begin{bmatrix}x\\y\\z\end{bmatrix}=\begin{bmatrix}2\\12\\2\end{bmatrix} ⎣⎡130284111⎦⎤⎣⎡xyz⎦⎤=⎣⎡2122⎦⎤。
按照我们以前做消元法的思路:
-
第一步,我们希望在第二个方程中消去 x x x项,来操作系数矩阵 A = [ 1 ‾ 2 1 3 8 1 0 4 1 ] A=\begin{bmatrix}\underline{1}&2&1\\3&8&1\\0&4&1\end{bmatrix} A=⎣⎡130284111⎦⎤,下划线的元素为第一步的主元(pivot): [ 1 ‾ 2 1 3 8 1 0 4 1 ] → r o w 2 − 3 r o w 1 [ 1 ‾ 2 1 0 2 − 2 0 4 1 ] \begin{bmatrix}\underline{1}&2&1\\3&8&1\\0&4&1\end{bmatrix}\xrightarrow{row_2-3row_1}\begin{bmatrix}\underline{1}&2&1\\0&2&-2\\0&4&1\end{bmatrix} ⎣⎡130284111⎦⎤row2−3row1⎣⎡1002241−21⎦⎤
这里我们先不管 b b b向量,等做完 A A A的消元可以再做 b b b的消元。(这是MATLAB等工具经常使用的算法。)
-
第二步,我们希望在第三个方程中消去 y y y项,现在第二行第一个非零元素成为了第二个主元: [ 1 ‾ 2 1 0 2 ‾ − 2 0 4 1 ] → r o w 3 − 2 r o w 2 [ 1 ‾ 2 1 0 2 ‾ − 2 0 0 5 ‾ ] \begin{bmatrix}\underline{1}&2&1\\0&\underline{2}&-2\\0&4&1\end{bmatrix}\xrightarrow{row_3-2row_2}\begin{bmatrix}\underline{1}&2&1\\0&\underline{2}&-2\\0&0&\underline{5}\end{bmatrix} ⎣⎡1002241−21⎦⎤row3−2row2⎣⎡1002201−25⎦⎤
注意到第三行消元过后仅剩一个非零元素,所以它就成为第三个主元。做到这里就算消元完成了。
再来讨论一下消元失效的情形:首先,主元不能为零;其次,如果在消元时遇到主元位置为零,则需要交换行,使主元不为零;最后提一下,如果我们把第三个方程 z z z前的系数成 − 4 -4 −4,会导致第二步消元时最后一行全部为零,则第三个主元就不存在了,至此消元不能继续进行了,这就是下一讲中涉及的不可逆情况。
-
接下来就该回代(back substitution)了,这时我们在 A A A矩阵后面加上 b b b向量写成增广矩阵(augmented matrix)的形式: [ A b ] = [ 1 2 1 2 3 8 1 12 0 4 1 2 ] → [ 1 2 1 2 0 2 − 2 6 0 4 1 2 ] → [ 1 2 1 2 0 2 − 2 6 0 0 5 − 10 ] \left[\begin{array}{c|c}A&b\end{array}\right]=\left[\begin{array}{ccc|c}1&2&1&2\\3&8&1&12\\0&4&1&2\end{array}\right]\to\left[\begin{array}{ccc|c}1&2&1&2\\0&2&-2&6\\0&4&1&2\end{array}\right]\to\left[\begin{array}{ccc|c}1&2&1&2\\0&2&-2&6\\0&0&5&-10\end{array}\right] [Ab]=⎣⎡1302841112122⎦⎤→⎣⎡1002241−21262⎦⎤→⎣⎡1002201−2526−10⎦⎤
不难看出, z z z的解已经出现了,此时方程组变为 { x + 2 y + z = 2 2 y − 2 z = 6 5 z = − 10 \begin{cases}x&+2y&+z&=2\\&2y&-2z&=6\\&&5z&=-10\end{cases} ⎩⎪⎨⎪⎧x+2y2y+z−2z5z=2=6=−10,从第三个方程求出 z = − 2 z=-2 z=−2,代入第二个方程求出 y = 1 y=1 y=1,在代入第一个方程求出 x = 2 x=2 x=2。
2.消元矩阵
上一讲我们学习了矩阵乘以向量的方法,有三个列向量的矩阵乘以另一个向量,按列的线性组合可以写作 [ v 1 v 2 v 3 ] [ 3 4 5 ] = 3 v 1 + 4 v 2 + 5 v 3 \Bigg[v_1\ v_2\ v_3\Bigg]\begin{bmatrix}3\\4\\5\end{bmatrix}=3v_1+4v_2+5v_3 [v1 v2 v3]⎣⎡345⎦⎤=3v1+4v2+5v3。
但现在我们希望用矩阵乘法表示行操作,则有 [ 1 2 7 ] [ r o w 1 r o w 2 r o w 3 ] = 1 r o w 1 + 2 r o w 2 + 7 r o w 3 \begin{bmatrix}1&2&7\end{bmatrix}\begin{bmatrix}&row_1&\\&row_2&\\&row_3&\end{bmatrix}=1row_1+2row_2+7row_3 [127]⎣⎡row1row2row3⎦⎤=1row1+2row2+7row3。易看出这里是一个行向量从左边乘以矩阵,这个行向量按行操作矩阵的行向量,并将其合成为一个矩阵行向量的线性组合。
介绍到这里,我们就可以将消元法所做的行操作写成向量乘以矩阵的形式了。
-
消元法第一步操作为将第二行改成 r o w 2 − 3 r o w 1 row_2-3row_1 row2−3row1,其余两行不变,则有 [ 1 0 0 − 3 1 0 0 0 1 ] [ 1 2 1 3 8 1 0 4 1 ] = [ 1 2 1 0 2 − 2 0 4 1 ] \begin{bmatrix}1&0&0\\-3&1&0\\0&0&1\end{bmatrix}\begin{bmatrix}1&2&1\\3&8&1\\0&4&1\end{bmatrix}=\begin{bmatrix}1&2&1\\0&2&-2\\0&4&1\end{bmatrix} ⎣⎡1−30010001⎦⎤⎣⎡130284111⎦⎤=⎣⎡1002241−21⎦⎤(左边矩阵的第 i i i行可以计算得到结果矩阵的第 i i i行,左边的矩阵按照行来读:结果矩阵的第一行是右边矩阵的( 1 × 1\times 1×第一行 + + + 0 × 0\times 0×第二行 + + + 0 × 0\times 0×第三行)这个结果;结果矩阵的第二行是右边矩阵的( − 3 × -3\times −3×第一行 + + + 1 × 1\times 1×第二行 + + + 0 × 0\times 0×第三行)这个结果;结果矩阵的第三行是右边矩阵的( 0 × 0\times 0×第一行 + + + 0 × 0\times 0×第二行 + + + 1 × 1\times 1×第三行)这个结果;,另外,如果三行都不变,消元矩阵就是单位矩阵 E = [ 1 0 0 0 1 0 0 0 1 ] E=\begin{bmatrix}1&0&0\\0&1&0\\0&0&1\end{bmatrix} E=⎣⎡100010001⎦⎤, E E E之于矩阵运算相当于 1 1 1之于四则运算。)这个消元矩阵我们记作 E 21 E_{21} E21,即将第二行第一个元素变为零。
-
接下来就是求 E 32 E_{32} E32消元矩阵了,即将第三行第二个元素变为零,则 [ 1 0 0 0 1 0 0 − 2 1 ] [ 1 2 1 0 2 − 2 0 4 1 ] = [ 1 2 1 0 2 − 2 0 0 5 ] \begin{bmatrix}1&0&0\\0&1&0\\0&-2&1\end{bmatrix}\begin{bmatrix}1&2&1\\0&2&-2\\0&4&1\end{bmatrix}=\begin{bmatrix}1&2&1\\0&2&-2\\0&0&5\end{bmatrix} ⎣⎡10001−2001⎦⎤⎣⎡1002241−21⎦⎤=⎣⎡1002201−25⎦⎤。这就是消元所用的两个初等矩阵(elementary matrix)。
-
最后,我们将这两步综合起来,即 E 32 ( E 12 A ) = U E_{32}(E_{12}A)=U E32(E12A)=U,也就是说如果我们想从 A A A矩阵直接得到 U U U矩阵的话,只需要 ( E 32 E 21 ) A (E_{32}E_{21})A (E32E21)A即可。注意,矩阵乘法虽然不能随意变动相乘次序,但是可以变动括号位置,也就是满足结合律(associative law),而结合律在矩阵运算中非常重要,很多定理的证明都需要巧妙的使用结合律。
既然提到了消元用的初等矩阵,那我们再介绍一种用于置换两行的矩阵:置换矩阵(permutation matrix):例如 [ 0 1 1 0 ] [ a b c d ] = [ c d a b ] \begin{bmatrix}0&1\\1&0\end{bmatrix}\begin{bmatrix}a&b\\c&d\end{bmatrix}=\begin{bmatrix}c&d\\a&b\end{bmatrix} [0110][acbd]=[cadb],置换矩阵将原矩阵的两行做了互换。顺便提一下,如果我们希望交换两列,则有 [ a b c d ] [ 0 1 1 0 ] = [ b a d c ] \begin{bmatrix}a&b\\c&d\end{bmatrix}\begin{bmatrix}0&1\\1&0\end{bmatrix}=\begin{bmatrix}b&a\\d&c\end{bmatrix} [acbd][0110]=[bdac]。
我们现在能够将 A A A通过行变换写成 U U U,那么如何从 U U U再变回 A A A,也就是求消元的逆运算。对某些“坏”矩阵,并没有逆,而本讲的例子都是“好”矩阵。
3.逆
现在,我们以 E 21 E_{21} E21为例, [ ? ] [ 1 0 0 − 3 1 0 0 0 1 ] = [ 1 0 0 0 1 0 0 0 1 ] \Bigg[\quad ?\quad \Bigg]\begin{bmatrix}1&0&0\\-3&1&0\\0&0&1\end{bmatrix}=\begin{bmatrix}1&0&0\\0&1&0\\0&0&1\end{bmatrix} [?]⎣⎡1−30010001⎦⎤=⎣⎡100010001⎦⎤,什么矩阵可以取消这次行变换?这次变换是从第二行中减去三倍的第一行,那么其逆变换就是给第二行加上三倍的第一行,所以逆矩阵就是 [ 1 0 0 3 1 0 0 0 1 ] \begin{bmatrix}1&0&0\\3&1&0\\0&0&1\end{bmatrix} ⎣⎡130010001⎦⎤。
我们把矩阵 E i j E_{ij} Eij的逆记作 E i j − 1 E^{-1}_{ij} Eij−1,所以有 E i j − 1 E i j = E E^{-1}_{ij}E_{ij}=E Eij−1Eij=E。
矩阵逆的性质有:
- ( A − 1 ) − 1 = A (A^{-1})^{-1}=A (A−1)−1=A
- ( λ A ) − 1 = 1 λ A ({\lambda}A)^{-1}={\frac{1}{\lambda}}A (λA)−1=λ1A
- ( A B ) − 1 = B − 1 A − 1 (AB)^{-1}=B^{-1}A^{-1} (AB)−1=B−1A−1
- ( A T ) − 1 = ( A − 1 ) T (A^{T})^{-1}=(A^{-1})^{T} (AT)−1=(A−1)T
- ( A ∗ ) − 1 = ( A − 1 ) ∗ (A^{*})^{-1}=(A^{-1})^{*} (A∗)−1=(A−1)∗
- A − k = ( A − 1 ) k A^{-k}=(A^{-1})^{k} A−k=(A−1)k
- A 0 = E A^0=E A0=E
- ∣ A − 1 ∣ = 1 ∣ A ∣ |A^{-1}|={\frac{1}{|A|}} ∣A−1∣=∣A∣1
- 可逆矩阵可以表示成初等矩阵的乘积
三、乘法和逆矩阵
上一讲大概介绍了矩阵乘法和逆矩阵,本讲就来做进一步说明。
1.矩阵乘法
-
行列内积:有 m × n m\times n m×n矩阵 A A A和 n × p n\times p n×p矩阵 B B B( A A A的总列数必须与 B B B的总行数相等),两矩阵相乘有 A B = C AB=C AB=C, C C C是一个 m × p m\times p m×p矩阵,对于 C C C矩阵中的第 i i i行第 j j j列元素 c i j c_{ij} cij,有:
c i j = r o w i ⋅ c o l u m n j = ∑ k = i n a i k b k j c_{ij}=row_i\cdot column_j=\sum_{k=i}^na_{ik}b_{kj} cij=rowi⋅columnj=k=i∑naikbkj
其中 a i k a_{ik} aik是 A A A矩阵的第 i i i行第 k k k列元素, b k j b_{kj} bkj是 B B B矩阵的第 k k k行第 j j j列元素。
可以看出 c i j c_{ij} cij其实是 A A A矩阵第 i i i行点乘 B B B矩阵第 j j j列 [ ⋮ r o w i ⋮ ] [ ⋯ c o l u m n j ⋯ ] = [ ⋮ ⋯ c i j ⋯ ⋮ ] \begin{bmatrix}&\vdots&\\&row_i&\\&\vdots&\end{bmatrix}\begin{bmatrix}&&\\\cdots&column_j&\cdots\\&&\end{bmatrix}=\begin{bmatrix}&\vdots&\\\cdots&c_{ij}&\cdots\\&\vdots&\end{bmatrix} ⎣⎢⎢⎡⋮rowi⋮⎦⎥⎥⎤⎣⎡⋯columnj⋯⎦⎤=⎣⎢⎢⎡⋯⋮cij⋮⋯⎦⎥⎥⎤
-
整列相乘:上一讲我们知道了如何计算矩阵乘以向量,而整列相乘就是使用这种线性组合的思想:
[ A c o l 1 A c o l 2 ⋯ A c o l n ] [ ⋯ b 1 j ⋯ ⋯ b 2 j ⋯ ⋯ ⋮ ⋯ ⋯ b n j ⋯ ] = [ ⋯ ( b 1 j A c o l 1 + b 2 j A c o l 2 + ⋯ + b n j A c o l n ) ⋯ ] \begin{bmatrix}&&\\A_{col1}&A_{col2}&\cdots&A_{coln}\\&&\end{bmatrix}\begin{bmatrix}\cdots&b_{1j}&\cdots\\\cdots&b_{2j}&\cdots\\\cdots&\vdots&\cdots\\\cdots&b_{nj}&\cdots\\\end{bmatrix}=\begin{bmatrix}&&\\\cdots&\left(b_{1j}A_{col1}+b_{2j}A_{col2}+\cdots+b_{nj}A_{coln}\right)&\cdots\\&&\end{bmatrix} ⎣⎡Acol1Acol2⋯Acoln⎦⎤⎣⎢⎢⎢⎡⋯⋯⋯⋯b1jb2j⋮bnj⋯⋯⋯⋯⎦⎥⎥⎥⎤=⎣⎡⋯(b1jAcol1+b2jAcol2+⋯+bnjAcoln)⋯⎦⎤
上面的运算为 B B B的第 j j j个列向量右乘矩阵 A A A,求得的结果就是 C C C矩阵的第 j j j列,即 C C C的第 j j j列是 A A A的列向量以 B B B的第 j j j列作为系数所求得的线性组合, C j = b 1 j A c o l 1 + b 2 j A c o l 2 + ⋯ + b n j A c o l n C_j=b_{1j}A_{col1}+b_{2j}A_{col2}+\cdots+b_{nj}A_{coln} Cj=b1jAcol1+b2jAcol2+⋯+bnjAcoln。
-
整行相乘:同样的,也是利用行向量线性组合的思想:
[ ⋮ ⋮ ⋮ ⋮ a i 1 a i 2 ⋯ a i n ⋮ ⋮ ⋮ ⋮ ] [ B r o w 1 B r o w 2 ⋮ B r o w n ] = [ ⋮ ( a i 1 B r o w 1 + a i 2 B r o w 2 + ⋯ + a i n B r o w n ) ⋮ ] \begin{bmatrix}\vdots&\vdots&\vdots&\vdots\\a_{i1}&a_{i2}&\cdots&a_{in}\\\vdots&\vdots&\vdots&\vdots\end{bmatrix}\begin{bmatrix}&B_{row1}&\\&B_{row2}&\\&\vdots&\\&B_{rown}&\end{bmatrix}=\begin{bmatrix}\vdots\\\left(a_{i1}B_{row1}+a_{i2}B_{row2}+\cdots+a_{in}B_{rown}\right)\\\vdots\end{bmatrix} ⎣⎢⎢⎡⋮ai1⋮⋮ai2⋮⋮⋯⋮⋮ain⋮⎦⎥⎥⎤⎣⎢⎢⎢⎡Brow1Brow2⋮Brown⎦⎥⎥⎥⎤=⎣⎢⎢⎡⋮(ai1Brow1+ai2Brow2+⋯+ainBrown)⋮⎦⎥⎥⎤
上面的运算为 A A A的第 i i i个行向量左乘矩阵 B B B,求得的结果就是 C C C矩阵的第 i i i行,即 C C C的第 i i i行是 B B B的行向量以 A A A的第 i i i行作为系数所求的的线性组合, C i = a i 1 B r o w 1 + a i 2 B r o w 2 + ⋯ + a i n B r o w n C_i=a_{i1}B_{row1}+a_{i2}B_{row2}+\cdots+a_{in}B_{rown} Ci=ai1Brow1+ai2Brow2+⋯+ainBrown。
-
列乘以行:用 A A A矩阵的列乘以 B B B矩阵的行,得到的矩阵相加即可:
[ A c o l 1 A c o l 2 ⋯ A c o l n ] [ B r o w 1 B r o w 2 ⋮ B r o w n ] = A c o l 1 B r o w 1 + A c o l 2 B r o w 2 + ⋯ + A c o l n B r o w n \begin{bmatrix}&&\\A_{col1}&A_{col2}&\cdots&A_{coln}\\&&\end{bmatrix}\begin{bmatrix}&B_{row1}&\\&B_{row2}&\\&\vdots&\\&B_{rown}&\end{bmatrix}=A_{col1}B_{row1}+A_{col2}B_{row2}+\cdots+A_{coln}B_{rown} ⎣⎡Acol1Acol2⋯Acoln⎦⎤⎣⎢⎢⎢⎡Brow1Brow2⋮Brown⎦⎥⎥⎥⎤=Acol1Brow1+Acol2Brow2+⋯+AcolnBrown
注意, A c o l i B r o w i A_{coli}B_{rowi} AcoliBrowi是一个 m × 1 m\times 1 m×1向量乘以一个 1 × p 1\times p 1×p向量,其结果是一个 m × p m\times p m×p矩阵,而所有的 m × p m\times p m×p矩阵之和就是计算结果。
-
分块乘法: [ A 1 A 2 A 3 A 4 ] [ B 1 B 2 B 3 B 4 ] = [ A 1 B 1 + A 2 B 3 A 1 B 2 + A 2 B 4 A 3 B 1 + A 4 B 3 A 3 B 2 + A 4 B 4 ] \left[\begin{array}{c|c}A_1&A_2\\\hline A_3&A_4\end{array}\right]\left[\begin{array}{c|c}B_1&B_2\\\hline B_3&B_4\end{array}\right]=\left[\begin{array}{c|c}A_1B_1+A_2B_3&A_1B_2+A_2B_4\\\hline A_3B_1+A_4B_3&A_3B_2+A_4B_4\end{array}\right] [A1A3A2A4][B1B3B2B4]=[A1B1+A2B3A3B1+A4B3A1B2+A2B4A3B2+A4B4]
在分块合适的情况下,可以简化运算。
一些结论:
- ( E + A ) ( E − A ) = ( E − A ) ( E + A ) = E − A 2 (E+A)(E-A)=(E-A)(E+A)=E-A^2 (E+A)(E−A)=(E−A)(E+A)=E−A2
- t r ( A B ) = t r ( B A ) tr(AB)=tr(BA) tr(AB)=tr(BA)
- 与所有 n n n级矩阵可交换的矩阵(可交换指 A B AB AB= B A BA BA)一定是 n n n级数量矩阵
- 可交换矩阵之间的运算符合平方差公式和二项式展开等公式,可以视为常数运算
2.逆(方阵)
首先,并不是所有的方阵都有逆;而如果逆存在,则有 A − 1 A = E = A A − 1 A^{-1}A=E=AA^{-1} A−1A=E=AA−1。教授这里提前剧透,对于方阵,左逆和右逆是相等的,但是对于非方阵(长方形矩阵),其左逆不等于右逆。
对于这些有逆的矩阵,我们称其为可逆的或非奇异的。我们先来看看奇异矩阵(不可逆的): A = [ 1 2 3 6 ] A=\begin{bmatrix}1&2\\3&6\end{bmatrix} A=[1326],在后面将要学习的行列式中,会发现这个矩阵的行列式为 0 0 0。
观察这个方阵,我们如果用另一个矩阵乘 A A A,则得到的结果矩阵中的每一列应该都是 [ 1 2 ] \begin{bmatrix}1\\2\end{bmatrix} [12]的倍数,所以我们不可能从 A B AB AB的乘积中得到单位矩阵 E E E。
另一种判定方法,如果存在非零向量 x x x,使得 A x = 0 Ax=0 Ax=0,则矩阵 A A A不可逆。我们来用上面的矩阵为例: [ 1 2 3 6 ] [ 3 − 1 ] = [ 0 0 ] \begin{bmatrix}1&2\\3&6\end{bmatrix}\begin{bmatrix}3\\-1\end{bmatrix}=\begin{bmatrix}0\\0\end{bmatrix} [1326][3−1]=[00]。
证明:如果对于非零的 x x x仍有 A x = 0 Ax=0 Ax=0,而 A A A有逆 A − 1 A^{-1} A−1,则 A − 1 A x = 0 A^{-1}Ax=0 A−1Ax=0,即 x = 0 x=0 x=0,与题设矛盾,得证。
现在来看看什么矩阵有逆,设 A = [ 1 3 2 7 ] A=\begin{bmatrix}1&3\\2&7\end{bmatrix} A=[1237],我们来求 A − 1 A^{-1} A−1。 [ 1 3 2 7 ] [ a b c d ] = [ 1 0 0 1 ] \begin{bmatrix}1&3\\2&7\end{bmatrix}\begin{bmatrix}a&b\\c&d\end{bmatrix}=\begin{bmatrix}1&0\\0&1\end{bmatrix} [1237][acbd]=[1001],使用列向量线性组合的思想,我们可以说 A A A乘以 A − 1 A^{-1} A−1的第 j j j列,能够得到 E E E的第 j j j列,这时我会得到一个关于列的方程组。
接下来介绍高斯-若尔当(Gauss-Jordan)方法,该方法可以一次处理所有的方程:
-
这个方程组为 { [ 1 3 2 7 ] [ a b ] = [ 1 0 ] [ 1 3 2 7 ] [ c d ] = [ 0 1 ] \begin{cases}\begin{bmatrix}1&3\\2&7\end{bmatrix}\begin{bmatrix}a\\b\end{bmatrix}=\begin{bmatrix}1\\0\end{bmatrix}\\\begin{bmatrix}1&3\\2&7\end{bmatrix}\begin{bmatrix}c\\d\end{bmatrix}=\begin{bmatrix}0\\1\end{bmatrix}\end{cases} ⎩⎪⎪⎨⎪⎪⎧[1237][ab]=[10][1237][cd]=[01],我们想要同时解这两个方程;
-
构造这样一个矩阵 [ 1 3 1 0 2 7 0 1 ] \left[\begin{array}{cc|cc}1&3&1&0\\2&7&0&1\end{array}\right] [12371001],接下来用消元法将左侧变为单位矩阵;
-
[ 1 3 1 0 2 7 0 1 ] → r o w 2 − 2 r o w 1 [ 1 3 1 0 0 1 − 2 1 ] → r o w 1 − 3 r o w 2 [ 1 0 7 − 3 0 1 − 2 1 ] \left[\begin{array}{cc|cc}1&3&1&0\\2&7&0&1\end{array}\right]\xrightarrow{row_2-2row_1}\left[\begin{array}{cc|cc}1&3&1&0\\0&1&-2&1\end{array}\right]\xrightarrow{row_1-3row_2}\left[\begin{array}{cc|cc}1&0&7&-3\\0&1&-2&1\end{array}\right] [12371001]row2−2row1[10311−201]row1−3row2[10017−2−31]
-
于是,我们就将矩阵从 [ A E ] \left[\begin{array}{c|c}A&E\end{array}\right] [AE]变为 [ E A − 1 ] \left[\begin{array}{c|c}E&A^{-1}\end{array}\right] [EA−1]
而高斯-若尔当法的本质是使用消元矩阵 E i j E_{ij} Eij,对 A A A进行操作, E i j [ A E ] E_{ij}\left[\begin{array}{c|c}A&E\end{array}\right] Eij[AE],利用一步步消元有 E i j A = E E_{ij}A=E EijA=E,进而得到 [ E A ] \left[\begin{array}{c|c}E&A\end{array}\right] [EA],其实这个消元矩阵 E i j E_{ij} Eij就是 A − 1 A^{-1} A−1,而高斯-若尔当法中的 E E E只是负责记录消元的每一步操作,待消元完成,逆矩阵就自然出现了。
四、 A A A 的 L U LU LU 分解
A
B
AB
AB的逆矩阵:
A
⋅
A
−
1
=
E
=
A
−
1
⋅
A
(
A
B
)
⋅
(
B
−
1
A
−
1
)
=
E
则
A
B
的逆矩阵为
B
−
1
A
−
1
\begin{aligned} A \cdot A^{-1} = E & = A^{-1} \cdot A\\ (AB) \cdot (B^{-1}A^{-1}) & = E\\ \textrm{则} AB \textrm{的逆矩阵为} & B^{-1}A^{-1} \end{aligned}
A⋅A−1=E(AB)⋅(B−1A−1)则AB的逆矩阵为=A−1⋅A=EB−1A−1
A
T
A^{T}
AT的逆矩阵:
(
A
⋅
A
−
1
)
T
=
E
T
(
A
−
1
)
T
⋅
A
T
=
E
则
A
T
的逆矩阵为
(
A
−
1
)
T
\begin{aligned} (A \cdot A^{-1})^{T} & = E^{T}\\ (A^{-1})^{T} \cdot A^{T} & = E\\ \textrm{则} A^{T} \textrm{的逆矩阵为} & (A^{-1})^{T} \end{aligned}
(A⋅A−1)T(A−1)T⋅AT则AT的逆矩阵为=ET=E(A−1)T
将一个 n n n 阶方阵 A A A 变换为 L U LU LU 需要的计算量估计:
- 第一步,将 a 11 a_{11} a11作为主元,需要的运算量约为 n 2 n^2 n2
[ a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋱ ⋮ a n 1 a n 2 ⋯ a n n ] 消 元 → [ a 11 a 12 ⋯ a 1 n 0 a 22 ⋯ a 2 n 0 ⋮ ⋱ ⋮ 0 a n 2 ⋯ a n n ] \begin{bmatrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{n1} & a_{n2} & \cdots & a_{nn} \\ \end{bmatrix} \underrightarrow{消元} \begin{bmatrix} a_{11} & a_{12} & \cdots & a_{1n} \\ 0 & a_{22} & \cdots & a_{2n} \\ 0 & \vdots & \ddots & \vdots \\ 0 & a_{n2} & \cdots & a_{nn} \\ \end{bmatrix} ⎣⎢⎢⎢⎡a11a21⋮an1a12a22⋮an2⋯⋯⋱⋯a1na2n⋮ann⎦⎥⎥⎥⎤消元⎣⎢⎢⎢⎡a11000a12a22⋮an2⋯⋯⋱⋯a1na2n⋮ann⎦⎥⎥⎥⎤
-
以此类推,接下来每一步计算量约为 ( n − 1 ) 2 、 ( n − 2 ) 2 、 ⋯ 、 2 2 、 1 2 (n-1)^2、(n-2)^2、\cdots、2^2、1^2 (n−1)2、(n−2)2、⋯、22、12。
-
则将 A A A 变换为 L U LU LU 的总运算量应为 O ( n 2 + ( n − 1 ) 2 + ⋯ + 2 2 + 1 2 ) O(n^2+(n-1)^2+\cdots+2^2+1^2) O(n2+(n−1)2+⋯+22+12),即 O ( n 3 3 ) O(\frac{n^3}{3}) O(3n3)。
置换矩阵(Permutation Matrix):
3阶方阵的置换矩阵有6个:
[
1
0
0
0
1
0
0
0
1
]
[
0
1
0
1
0
0
0
0
1
]
[
0
0
1
0
1
0
1
0
0
]
[
1
0
0
0
0
1
0
1
0
]
[
0
1
0
0
0
1
1
0
0
]
[
0
0
1
1
0
0
0
1
0
]
\begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \\ \end{bmatrix} \begin{bmatrix} 0 & 1 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 1 \\ \end{bmatrix} \begin{bmatrix} 0 & 0 & 1 \\ 0 & 1 & 0 \\ 1 & 0 & 0 \\ \end{bmatrix} \begin{bmatrix} 1 & 0 & 0 \\ 0 & 0 & 1 \\ 0 & 1 & 0 \\ \end{bmatrix} \begin{bmatrix} 0 & 1 & 0 \\ 0 & 0 & 1 \\ 1 & 0 & 0 \\ \end{bmatrix} \begin{bmatrix} 0 & 0 & 1 \\ 1 & 0 & 0 \\ 0 & 1 & 0 \\ \end{bmatrix}
⎣⎡100010001⎦⎤⎣⎡010100001⎦⎤⎣⎡001010100⎦⎤⎣⎡100001010⎦⎤⎣⎡001100010⎦⎤⎣⎡010001100⎦⎤
n n n阶方阵的置换矩阵有 ( n 1 ) = n ! \binom{n}{1}=n! (1n)=n!个。
五、转换、置换、向量空间R
1.置换矩阵(Permutation Matrix)与初等变换(Primary Transformations)
置换矩阵 P P P的作用是交换行或列,而转置矩阵的作用是做转置操作 T T T
P P P为置换矩阵,对任意可逆矩阵 A A A有:
P A = L U PA=LU PA=LU
对置换矩阵 P P P,有 P T P = E P^TP = E PTP=E
即 P T = P − 1 P^T = P^{-1} PT=P−1,即 P P P是正交矩阵
初等变换包括初等列变换和初等行变换,初等行变换指:交换行;某行进行数乘;某行数乘后加到另一行,初等列变换不同的只是对列施加操作。初等变换对应的矩阵是初等矩阵,初等矩阵都可逆
2.转置矩阵(Transpose Matrix)
( A T ) i j = ( A ) j i (A^T)_{ij} = (A)_{ji} (AT)ij=(A)ji
- ( A T ) T = A ({A^T})^T=A (AT)T=A
- ( A + B ) T = A T + B T (A+B)^T=A^T+B^T (A+B)T=AT+BT (重要)
- ( λ A ) T = λ A T {({\lambda}A)}^T={\lambda}A^T (λA)T=λAT
- ( A B ) T = B T A T (AB)^T=B^TA^T (AB)T=BTAT
- r a n k ( A T A ) = r a n k ( A ) = r a n k ( A T ) = r a n k ( A A T ) rank(A^TA)=rank(A)=rank(A^T)=rank(AA^T) rank(ATA)=rank(A)=rank(AT)=rank(AAT)
3.对称矩阵(Symmetric Matrix)
A T A^T AT = A A A
对任意矩阵
R
R
R有
R
T
R
R^TR
RTR为对称矩阵:
(
R
T
R
)
T
=
(
R
)
T
(
R
T
)
T
=
R
T
R
即
(
R
T
R
)
T
=
R
T
R
(R^TR)^T = (R)^T(R^T)^T = R^TR\\ \textrm{即}(R^TR)^T = R^TR
(RTR)T=(R)T(RT)T=RTR即(RTR)T=RTR
对任意矩阵
A
A
A,
A
T
A
A^TA
ATA是对称半正定矩阵
4.线性空间(Linear Space)
本节的笔记来源 Mathor’s blog
线性空间是定义在数域 F \Bbb{F} F上满足某些运算规律的向量集合,而数域本身也是一种特殊的集合。所以我们先讲数域,再讲线性空间
什么是数域?数域是一种数集,元素的和、差、积、商仍在数集中(具有封闭性),称为数域。如有理数域 Q \Bbb{Q} Q,复数域 C \Bbb{C} C,实数域 R \Bbb{R} R,复数域包含实数域
线性空间的定义:
设 V V V 是以 α , β , γ , ⋯ \alpha,\beta,\gamma,\cdots α,β,γ,⋯ 为元素的非空集合, F \Bbb{F} F 是一个数域,定义两种运算:加法 ∀ α , β ∈ V , α + β ∈ V ∀α,β∈V,α+β∈V ∀α,β∈V,α+β∈V;数乘 ∀ k ∈ F , α ∈ V , k α ∈ V ∀k∈\Bbb{F},α∈V,kα∈V ∀k∈F,α∈V,kα∈V。满足 8 条:加法交换律、加法结合律、数乘结合律、两个分配律,零元 (单位元) 存在,1 (幺) 元存在,负元存在。则称 V V V 为数域 F \Bbb{F} F 上的线性空间
- 交换律 α + β = β + α α+β=β+α α+β=β+α
- 结合律 α + ( β + γ ) = ( α + β ) + γ α+(β+γ)=(α+β)+γ α+(β+γ)=(α+β)+γ
- 零元素 在 V V V中有一元素 0 0 0(称作零元素,注:该 0 0 0 为向量),对于 V V V中任一元素 α α α 都有 α + 0 = α α+0=α α+0=α
- 负元素 对于 V V V中每一个元素 α α α,都有 V V V中的元素 β β β,使得 α + β = 0 α+β=0 α+β=0,其中, 0 0 0 代表的是零元素,但不一定永远都是 0 0 0 这个数,视具体题目而定
- α ・ 1 = α α・1=α α・1=α,其中 1 1 1是数,不是向量
- ( α l ) k = α ( k l ) (αl)k=α(kl) (αl)k=α(kl)
- α ( k + l ) = α k + α l α(k+l)=αk+αl α(k+l)=αk+αl
- ( α + β ) k = α k + β k (α+β)k=αk+βk (α+β)k=αk+βk
注 : α , β , γ ∈ V 且 1 , k , l ∈ F 注:α,β,γ∈V 且1,k,l∈\Bbb{F} 注:α,β,γ∈V且1,k,l∈F
简单点说,上述 8 条,只要有任意一条不满足,则 V V V就不是数域 F \Bbb{F} F上的线性空间(线性空间中的元素叫向量)
例 1
V = { 0 } V=\{0\} V={0}, F \Bbb{F} F 是数域,判断 V V V 是否为数域 F \Bbb{F} F 上的线性空间
解:判断是否线性空间,只需要证明集合 V V V 在数域 F \Bbb{F} F 上是否满足上述 8 条。这里明显满足条件,因此 V V V 是数域 F \Bbb{F} F 上的线性空间
例 2
R + R^+ R+ 表示所有正实数集合,在 R + R^+ R+ 中定义加法 ⊕ ⊕ ⊕ 与数量乘法 ⊙ ⊙ ⊙ 分别为
a ⊕ b = a b ( ∀ a , b ∈ R + ) a⊕b=ab(∀a,b∈R^+) a⊕b=ab(∀a,b∈R+)
k ⊙ a = a k ( ∀ a ∈ R + , k ∈ R ) k⊙a=a^k(∀a∈R^+,k∈\Bbb{R}) k⊙a=ak(∀a∈R+,k∈R)
判断 R + R^+ R+ 是否构成实数域 R \Bbb{R} R 上的线性空间
解:通过证明交换律,结合律,零元素,负元素,数乘结合律,两个分配律。因此 R + R^+ R+ 是实数域 R \Bbb{R} R 上的线性空间
- 交换律: a ⊕ b = a b = b a = b ⊕ a a⊕b=ab=ba=b⊕a a⊕b=ab=ba=b⊕a
- 结合律: a ⊕ ( b ⊕ c ) = a ( b c ) = ( a b ) c = ( a ⊕ b ) ⊕ c a⊕(b⊕c)=a(bc)=(ab)c=(a⊕b)⊕c a⊕(b⊕c)=a(bc)=(ab)c=(a⊕b)⊕c
- 零元素:这个比较复杂,我详细推导一下。原始定义中 α ⊕ 0 = α α⊕0=α α⊕0=α,因此 0 0 0 就是零元素。但是对于这道题,我们需要找到一个数 x x x,使得 a ⊕ x = a x = a a⊕x=ax=a a⊕x=ax=a,显然, x = 1 x=1 x=1。因此, R + R^+ R+ 存在零元素,零元素是 1 1 1
- 负元素:与零元素同理,原始定义中 α ⊕ β = 0 α⊕β=0 α⊕β=0,因此 β β β 就是 α α α 的负元素。对于这道题,我们需要找到一个数 y y y,使得 α ⊕ y = α y = 0 α⊕y=αy=0 α⊕y=αy=0。但是要注意,这里的 0 是零元素,而上面我们已经推出零元素是 1。所以这里我们需要证明的式子应该是 α ⊕ y = α y = 1 α⊕y=αy=1 α⊕y=αy=1,显然, y = 1 α y=\frac{1}{α} y=α1,并且 α α α 是正实数集合中的元素,因此 α ≠ 0 α≠0 α=0
- 数乘结合律: k ⊙ ( l ⊙ α ) = k ⊙ ( α l ) = α l k = α k l = ( k l ) ⊙ α k⊙(l⊙α)=k⊙(α^l)=α^{lk}=α^{kl}=(kl)⊙α k⊙(l⊙α)=k⊙(αl)=αlk=αkl=(kl)⊙α
- 分配律 1: ( k + l ) ⊙ α = α k + l = α k α l = α k ⊕ α l = ( k ⊙ α ) ⊕ ( l ⊙ α ) (k+l)⊙α=α^{k+l}=α^{k}α^l=α^k⊕α^l=(k⊙α)⊕(l⊙α) (k+l)⊙α=αk+l=αkαl=αk⊕αl=(k⊙α)⊕(l⊙α)
- 分配律 2: k ⊙ ( α ⊕ β ) = ( α β ) k = α k β k = ( k ⊙ α ) ⊕ ( k ⊙ β ) k⊙(α⊕β)=(αβ)^k=α^kβ^k=(k⊙α)⊕(k⊙β) k⊙(α⊕β)=(αβ)k=αkβk=(k⊙α)⊕(k⊙β)
例 3
设 V V V 是由系数在实数域 R \Bbb{R} R 上,次数为 n n n 的 n n n 次多项式 f ( x ) f(x) f(x) 构成的集合,其加法运算与数乘运算按照通常规定,举例说明 V V V 不是 R \Bbb{R} R 上的线性空间
解: V V V 是由次数为 n n n 的 n n n 次多项式 f ( x ) f(x) f(x) 构成的集合,显然加法不封闭。例如 x ∈ V x∈V x∈V,则 x + ( − x ) = 0 x+(−x)=0 x+(−x)=0, 0 0 0 的次数不再是 n n n,次数下降,不再属于 V V V 了。同理,数乘也不封闭。例如 x ∈ V x∈V x∈V,则 x ・ 0 = 0 x・0=0 x・0=0,次数同样下降,不属于 V V V。因此 V V V 不是 R \Bbb{R} R 上的线性空间
线性空间的性质
- 加法零元 (单位元) 唯一
证:设 0 1 0_1 01, 0 2 0_2 02 是两个零元,则 0 1 = 0 1 + 0 2 = 0 2 + 0 1 = 0 2 0_1=0_1+0_2=0_2+0_1=0_2 01=01+02=02+01=02
- 加法负元唯一
证:设 α α α 的负元为 β 1 , β 2 β_1,β_2 β1,β2,则 β 1 = β 1 + 0 = β 1 + ( α + β 2 ) = ( β 1 + α ) + β 2 = β 2 β_1=β_1+0=β1+(α+β_2)=(β_1+α)+β_2=β_2 β1=β1+0=β1+(α+β2)=(β1+α)+β2=β2
・ ∀ α ∈ V , 0 ・ α = 0 ∀α∈V,0・α=0 ∀α∈V,0・α=0,其中,第一个 0 0 0 是数,第二个 0 0 0 是向量
・ ∀ k ∈ F , k ・ 0 = 0 ∀k∈F,k・0=0 ∀k∈F,k・0=0,其中的两个 0 0 0 是相同的,都是向量
若 k α = 0 , 则 k = 0 或 α = 0 kα=0,则 k=0 或 α=0 kα=0,则k=0或α=0
若 α + β = α + γ , 则 β = γ α+β=α+γ,则 β=γ α+β=α+γ,则β=γ
设 V V V 是 F \Bbb{F} F 上的线性空间, α 1 , α 2 , . . . , α p α_1,α_2,...,α_p α1,α2,...,αp 和 β 1 , β 2 , . . . , β q β_1,β_2,...,β_q β1,β2,...,βq 是 V V V 中的两个向量组, β ∈ V β∈V β∈V
- 如果存在 p p p 个数 k i ∈ F , i = 1 , 2 , . . . , p k_i∈\Bbb{F},i=1,2,...,p ki∈F,i=1,2,...,p,使得 α 1 k 1 + α 2 k 2 + ・ ・ ・ + α p k p = β α_1k_1+α_2k_2+・・・+α_pk_p=β α1k1+α2k2+・・・+αpkp=β,称向量 β β β 可由向量组 α 1 , α 2 , . . . , α p α_1,α_2,...,α_p α1,α2,...,αp 线性表示
- 如果每个 β j β_j βj 都可以由向量组 α 1 , α 2 , . . . , α p α_1,α_2,...,α_p α1,α2,...,αp 线性表示, j = 1 , 2 , . . . , q j=1,2,...,q j=1,2,...,q。为了方便, β 1 , β 2 , . . . , β q β_1,β_2,...,β_q β1,β2,...,βq 可由 α 1 , α 2 , . . . , α p α_1,α_2,...,α_p α1,α2,...,αp 线性表示,用符号记为 { β 1 , β 2 , . . . , β q } ≤ l i n { α 1 , α 2 , . . . , α p } \{β_1,β_2,...,β_q\}≤_{lin}\{α_1,α_2,...,α_p\} {β1,β2,...,βq}≤lin{α1,α2,...,αp}
线性表示关系的传递性
设 V V V 是 F \Bbb{F} F 上的线性空间, α 1 , α 2 , . . . , α p ; β 1 , β 2 , . . . , β q ; γ 1 , γ 2 , . . . , γ t α_1,α_2,...,α_p;β_1,β_2,...,β_q;γ_1,γ_2,...,γ_t α1,α2,...,αp;β1,β2,...,βq;γ1,γ2,...,γt是 V V V 中三个向量组。若
{ α 1 , α 2 , . . . , α p } ≤ l i n { β 1 , β 2 , . . . , β q } \{α_1,α_2,...,α_p\}≤_{lin}\{β_1,β_2,...,β_q\} {α1,α2,...,αp}≤lin{β1,β2,...,βq}
{ β 1 , β 2 , . . . , β q } ≤ l i n { γ 1 , γ 2 , . . . , γ t } \{β_1,β_2,...,β_q\}≤_{lin}\{γ_1,γ_2,...,γ_t\} {β1,β2,...,βq}≤lin{γ1,γ2,...,γt}
则 { α 1 , α 2 , . . . , α p } ≤ l i n { γ 1 , γ 2 , . . . , γ t } \{α_1,α_2,...,α_p\}≤_{lin}\{γ_1,γ_2,...,γ_t\} {α1,α2,...,αp}≤lin{γ1,γ2,...,γt}
-
基的引入将抽象线性空间内的问题转化为了代数问题,例如判断线性空间中的元素是否线性相关,只需要将这些元素转化为它们对应的坐标,再判断坐标是否线性相关即可