[线性代数]-1 方程组的几何解释


《线性代数》学习笔记

1. 方程组的几何解释

1.1 二维的行图像

【例1】求解方程:

$$\left\{
       \begin{array}{l}
       2x - y = 0 \\
       -x + 2y = 3
       \end{array}
       \right.$$

我们首先按行将方程写为矩阵形式

$$\begin{bmatrix}
       2 & -1 \\
       -1 & 2
       \end{bmatrix}
       \begin{bmatrix}
       x \\
       y
       \end{bmatrix} =
       \begin{bmatrix}
       0 \\
       3
       \end{bmatrix}$$

系统矩阵    未知向量  向量

接下来我们通过行图像来求解这个方程:所谓行图像,就是在系数矩阵上,一次取一行构成方程,在坐标系上作图。和我们在初等数学中学习的作图求解方程的过程无异。

1.2 二维的列图像

从列图像角度,我们再求解这个方程:

$$\left\{        \begin{array}{l}        2x - y = 0 \\        -x + 2y = 3        \end{array}        \right.$$

这一次求解过程中,将方程按列提取,使用矩阵:

\( \mathbf{x} \begin{bmatrix} 2 \\ -1 \end{bmatrix} + \mathbf{y} \begin{bmatrix} -1 \\ 2 \end{bmatrix} = \begin{bmatrix} 0 \\ 3 \end{bmatrix} \)

我们使用列向量构成系数矩阵,将问题转换为:向量(2,-1)与向量(-1,2)的组合,使其结果组合构成(0,3)

# 可以使用python可视化这个结果:
import matplotlib.pyplot as plt
import numpy as np

fig = plt.figure(figsize=(16, 7), dpi=300)  
ax = fig.add_subplot(projection='3d')

vector_1 = np.array([2, -1, 0])
vector_2 = np.array([-1, 2, -3])
vector_3 = np.array([0, -1, 4])
result_vector = np.array([0, -1, 4])

ax.quiver(0, 0, 0, vector_1[0], vector_1[1], vector_1[2], color='black', label='[2, -1, 0]')
ax.quiver(0, 0, 0, vector_2[0], vector_2[1], vector_2[2], color='orange', label='[-1, 2, -3]')
ax.quiver(0, 0, 0, vector_3[0], vector_3[1], vector_3[2], color='green', label='[0, -1, 4]')
ax.quiver(0, 0, 0, result_vector[0], result_vector[1], result_vector[2], color='blue', label='[1, -1, 4]')

ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
ax.set_xlim([-3, 3])
ax.set_ylim([-3, 3])
ax.set_zlim([-3, 3])
ax.grid(True)
ax.legend()

plt.tight_layout()
plt.show()

即寻找合适的 x,y使得x倍的(2,-1) + y 倍的(-1,2)得到最终的向量(0,3)。在很明显能看出来,1 倍(2,-1) + 2 倍(-1,2)即满足条件。



2. 方程组的几何解释推广

2.1 高维行图像

将方程维数推广,从三维开始,如果我们继续使用做行图像求解,那么会得到一个很复杂的图像。

  \begin{cases}

   2x - y = 0 \\

   -x + 2y - z = -1 \\

   -3y + 4z = 4

\end{cases}

\(
   A = \begin{bmatrix}
   2 & -1 & 0 \\
   -1 & 2 & -1 \\
   0 & -3 & 4
   \end{bmatrix}, \quad
   b = \begin{bmatrix}
   0 \\
   -1 \\
   4
   \end{bmatrix}, \quad
   方程:     \quad Ax = b  \)

$$ \begin{bmatrix} 2 & -1 & 0 \\ -1 & 2 & -1 \\ 0 & -3 & 4 \end{bmatrix} \begin{bmatrix} x \\ y \\ z \end{bmatrix} = \begin{bmatrix} 0 \\ -1 \\ 4 \end{bmatrix} $$

如果绘制行图像,很明显这是一个三个平面相交得到一点,我们想直接看出这个点的性质可谓是难上加难,比较靠谱的思路是先联立其中两个平面,使其相交于一条直线,在研究这条直线与平面相交于哪个点,最后得到点坐标即为方程的解。

2.2 高维列图像

  \begin{cases}    2x - y = 0 \\    -x + 2y - z = -1 \\    -3y + 4z = 4 \end{cases}

如果我们使用列图像的思路进行计算,那矩阵形式就变为:

\( \mathbf{x} \begin{bmatrix} 2 \\ -1 \\ 0 \end{bmatrix} + \mathbf{y} \begin{bmatrix} -1 \\ 2 \\ -3 \end{bmatrix} + \mathbf{z} \begin{bmatrix} 0 \\ -1 \\ 4 \end{bmatrix} = \begin{bmatrix} 0 \\ -1\\ 4 \end{bmatrix} \)

采用python可视化这个结果

matplotlib.pyplot plt
numpy np

fig = plt.figure(=(, ), =)  
ax = fig.add_subplot(=)

vector_1 = np.array([, -, ])
vector_2 = np.array([-, , -])
vector_3 = np.array([, -, ])
result_vector = np.array([, -, ])

ax.quiver(, , , vector_1[], vector_1[], vector_1[], =, =)
ax.quiver(, , , vector_2[], vector_2[], vector_2[], =, =)
ax.quiver(, , , vector_3[], vector_3[], vector_3[], =, =)
ax.quiver(, , , result_vector[], result_vector[], result_vector[], =, =)

ax.set_xlabel()
ax.set_ylabel()
ax.set_zlabel()

ax.set_xlim([-, ])
ax.set_ylim([-, ])
ax.set_zlim([-, ])

ax.grid()
ax.legend()
plt.tight_layout()
plt.show()

很明显这道题是一个特例,我们只需要取 x = 0,y = 0,z = 1。就得到了结果,这在行图像之中并不明显。当然,之所以更推荐使用列图像求解方程,是因为这是一种更系统的求解方法,即寻找线性组合,而用绘制每个行方程的图像之后寻找那个很难看出来的点。另外一个优势在于,如果改变最后的结果b,重新寻找一个线性组合就够了,但是如果使用的是行图像呢?那意味着要完全重画三个平面图像,就简便性来讲,两种方法高下立判。

另外,还要注意的一点是对任意的b不是都能求解Ax = b这个矩阵方程。


2.3 矩阵乘法

例如 $Ax$,如果我们已知一个矩阵 $A$ 和一个向量 $x$,那么我们就怎么求解它们的积呢?

$A = \begin{bmatrix} 2 & 5 \\ 1 & 3 \end{bmatrix}$,$x = \begin{bmatrix} 1 \\ 2 \end{bmatrix}$

方法 1:将矩阵 $A$ 看做列向量的组合:

\[
   \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}
   \]

即 $x$ 每个分量与矩阵中各的列向量相乘,再将其求和。看做 $A$ 各列的线性组合。


方法 2:将矩阵 $A$ 看做行向量的组合:

$$\begin{bmatrix}
 2 & 5 \\
 1 & 3
 \end{bmatrix}
 \begin{bmatrix}
 1 \\
 2
 \end{bmatrix} =
 \begin{bmatrix}
 (2,5) \cdot (1,2) \\
 (1,3) \cdot (1,2)
 \end{bmatrix} =
 \begin{bmatrix}
 12 \\
 7
 \end{bmatrix}$$

即采用这个方式进行向量乘法:


$$\begin{bmatrix} 2 & 5 \\ 1 & 3 \end{bmatrix} \begin{bmatrix} 1 \\ 2 \end{bmatrix} = \begin{bmatrix} 1 \cdot 2 + 2 \cdot 5 \\ 1 \cdot 1 + 2 \cdot 3 \end{bmatrix}$$

$$\begin{bmatrix} 2 & 5 \\ 1 & 3 \end{bmatrix} \begin{bmatrix} 1 \\ 2 \end{bmatrix} = \begin{bmatrix} 1 \cdot 2 + 2 \cdot 5 \\ 1 \cdot 1 + 2 \cdot 3 \end{bmatrix}$$


2024-07-23 

声明:ZY|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - [线性代数]-1 方程组的几何解释