Skip to content

第三十五讲:期末复习

依然是从以往的试题入手复习知识点。

  1. 已知m×n矩阵A,有Ax=[100]无解;Ax=[010]仅有唯一解,求关于m,n,rank(A)的信息。

    首先,最容易判断的是m=3;而根据第一个条件可知,矩阵不满秩,有r<m;根据第二个条件可知,零空间仅有零向量,也就是矩阵消元后没有自由变量,列向量线性无关,所以有r=n

    综上,有m=3>n=r

    根据所求写出一个矩阵A的特例A=[001001]

    detATA=?detAAT:不相等,因为ATA可逆而AAT不可逆,所以行列式不相等。(但是对于方阵,detAB=detBA恒成立。)

    *ATA可逆吗?*是,因为r=n,矩阵列向量线性无关,即列满秩。

    *AAT正定吗?*否,因为AAT3×n矩阵与n×3矩阵之积,是一个三阶方阵,而AAT秩为2,所以不是正定矩阵。(不过AAT一定是半正定矩阵。)

    求证ATy=c至少有一个解:因为A的列向量线性无关,所以AT的行向量线性无关,消元后每行都有主元,且总有自由变量,所以零空间中有非零向量,零空间维数是mr(可以直接从dimN(AT)=mr得到结论)。

  2. A=[v1 v2 v3],对于Ax=v1v2+v3,求x

    按列计算矩阵相乘,有x=[111]

    *若Ax=v_1-v_2+v_3=0,则解是唯一的吗?为什么。*如果解释唯一的,则零空间中只有零向量,而在此例中x=[111]就在零空间中,所以解不唯一。

    *若v1,v2,v3是标准正交向量,那么怎样的线性组合c1v1+c2v2能够最接近v3?*此问是考察投影概念,由于是正交向量,所以只有0向量最接近v3

  3. 矩阵A=[.2.4.3.4.2.3.4.4.4],求稳态。

    这是个马尔科夫矩阵,前两之和为第三列的两倍,奇异矩阵总有一个特征值为0,而马尔科夫矩阵总有一个特征值为1,剩下一个特征值从矩阵的迹得知为.2

    再看马尔科夫过程,设从u(0)开始,uk=Aku0,u0=[0100]。先代入特征值λ1=0, λ2=1, λ3=.2查看稳态uk=c1λ1kx1+c2λ2kx2+c3λ3kx3,当k,第一项与第三项都会消失,剩下u=c2x2

    到这里我们只需求出λ2对应的特征向量即可,带入特征值求解(AI)x=0,有[.8.4.3.4.8.3.4.4.6][???]=[000],可以消元得,也可以直接观察得到x2=[334]

    剩下就是求c2了,可以通过u0一一解出每个系数,但是这就需要解出每一个特征值。另一种方法,我们可以通过马尔科夫矩阵的特性知道,对于马尔科夫过程的每一个uk都有其分量之和与初始值分量之和相等,所以对于x2=[334],有c2=1。所以最终结果是u=[334]

  4. 对于二阶方阵,回答以下问题:

    求投影在直线a=[43]上的投影矩阵:应为P=aaTaTa

    已知特征值λ1=2, x1=[12]λ2=3, x2=[21]求原矩阵A:从对角化公式得A=SΛS1=[1221][0003][1221]1,解之即可。

    A是一个实矩阵,且对任意矩阵BA都不能分解成A=BTB,给出A的一个例子:我们知道BTB是对称的,所以给出一个非对称矩阵即可。 矩阵A有正交的特征向量,但不是对称的,给出一个A的例子:我们在三十三讲提到过,反对称矩阵,因为满足AAT=ATA而同样具有正交的特征向量,所以有A=[0110]或旋转矩阵[cosθsinθsinθcosθ],这些矩阵都具有复数域上的正交特征向量组。

  5. 最小二乘问题,因为时间的关系直接写出计算式和答案,[101112][CD]=[341](Ax=b),解得[C^D^]=[1131]

    求投影后的向量p:向量p就是向量b在矩阵A列空间中的投影,所以p=[p1p2p3]=[101112][C^D^]

    求拟合直线的图像x=0,1,2y=p1,p2,p2所在的直线的图像,y=C^+D^xy=113x

python
%matplotlib inline
import matplotlib.pyplot as plt
from sklearn import linear_model
import numpy as np
import pandas as pd
import seaborn as sns

x = np.array([0, 1, 2]).reshape((-1,1))
y = np.array([3, 4, 1]).reshape((-1,1))
predict_line = np.array([-1, 4]).reshape((-1,1))

regr = linear_model.LinearRegression()
regr.fit(x, y)
ey = regr.predict(x)

fig = plt.figure()
plt.axis('equal')
plt.axhline(y=0, c='black')
plt.axvline(x=0, c='black')

plt.scatter(x, y, c='r')
plt.scatter(x, regr.predict(x), s=20, c='b')
plt.plot(predict_line, regr.predict(predict_line), c='g', lw='1')
[ plt.plot([x[i], x[i]], [y[i], ey[i]], 'r', lw='1') for i in range(len(x))]

plt.draw()
%matplotlib inline
import matplotlib.pyplot as plt
from sklearn import linear_model
import numpy as np
import pandas as pd
import seaborn as sns

x = np.array([0, 1, 2]).reshape((-1,1))
y = np.array([3, 4, 1]).reshape((-1,1))
predict_line = np.array([-1, 4]).reshape((-1,1))

regr = linear_model.LinearRegression()
regr.fit(x, y)
ey = regr.predict(x)

fig = plt.figure()
plt.axis('equal')
plt.axhline(y=0, c='black')
plt.axvline(x=0, c='black')

plt.scatter(x, y, c='r')
plt.scatter(x, regr.predict(x), s=20, c='b')
plt.plot(predict_line, regr.predict(predict_line), c='g', lw='1')
[ plt.plot([x[i], x[i]], [y[i], ey[i]], 'r', lw='1') for i in range(len(x))]

plt.draw()

png

python
plt.close(fig)
plt.close(fig)
  • 接上面的题目

    求一个向量b使得最小二乘求得的[C^D^]=[00]:我们知道最小二乘求出的向量[C^D^]使得A列向量的线性组合最接近b向量(即bA列空间中的投影),如果这个线性组合为0向量(即投影为0),则b向量与A的列空间正交,所以可以取b=[121]同时正交于A的两个列向量。

MIT线性代数的全部课程到此结束

本站没有备案,因为不需要备案