Geeks_Z の Blog Geeks_Z の Blog
首页
  • 学习笔记

    • 《HTML》
    • 《CSS》
    • 《JavaWeb》
    • 《Vue》
  • 后端文章

    • Linux
    • Maven
    • 汇编语言
    • 软件工程
    • 计算机网络概述
    • Conda
    • Pip
    • Shell
    • SSH
    • Mac快捷键
    • Zotero
  • 学习笔记

    • 《数据结构与算法》
    • 《算法设计与分析》
    • 《Spring》
    • 《SpringMVC》
    • 《SpringBoot》
    • 《SpringCloud》
    • 《Nginx》
  • 深度学习文章
  • 学习笔记

    • 《PyTorch》
    • 《ReinforementLearning》
    • 《MetaLearning》
  • 学习笔记

    • 《高等数学》
    • 《线性代数》
    • 《概率论与数理统计》
  • 增量学习
  • 哈希学习
GitHub (opens new window)

Geeks_Z

AI小学生
首页
  • 学习笔记

    • 《HTML》
    • 《CSS》
    • 《JavaWeb》
    • 《Vue》
  • 后端文章

    • Linux
    • Maven
    • 汇编语言
    • 软件工程
    • 计算机网络概述
    • Conda
    • Pip
    • Shell
    • SSH
    • Mac快捷键
    • Zotero
  • 学习笔记

    • 《数据结构与算法》
    • 《算法设计与分析》
    • 《Spring》
    • 《SpringMVC》
    • 《SpringBoot》
    • 《SpringCloud》
    • 《Nginx》
  • 深度学习文章
  • 学习笔记

    • 《PyTorch》
    • 《ReinforementLearning》
    • 《MetaLearning》
  • 学习笔记

    • 《高等数学》
    • 《线性代数》
    • 《概率论与数理统计》
  • 增量学习
  • 哈希学习
GitHub (opens new window)
  • 线性代数

    • 线性代数知识点总结
    • 方程组的几何解释
    • 矩阵消元
    • 乘法和逆矩阵
    • 矩阵的LU分解
    • 转换、置换、向量空间R
    • 列空间和零空间
    • 求解Ax=0主变量——特解
    • 求解Ax=b 可解性和解的结构
    • 线性相关性、基、维数
    • 四个基本子空间
    • 矩阵空间、秩1矩阵和小世界图
    • 图和网络
    • 正交向量与子空间
    • 子空间投影
    • 投影矩阵和最小二乘
    • 正交矩阵和Gram-Schmidt正交化法
    • 行列式及其性质
    • 行列式公式和代数余子式
    • 克拉默法则、逆矩阵、体积
    • 特征值和特征向量
    • 对角化和$A$的幂
    • 微分方程
    • 马尔科夫矩阵、傅里叶级数
    • 对称矩阵及正定性
    • 对称矩阵及正定性
    • 复数矩阵和快速傅里叶变换
    • 正定矩阵和最小值
    • 相似矩阵和若尔当形
    • 奇异值分解
    • 线性变换及对应矩阵
    • 基变换和图像压缩
    • 左右逆和伪逆
  • 概率论与数理统计

  • 矩阵

  • 分布

  • 数学笔记
  • 线性代数
Geeks_Z
2024-04-05

方程组的几何解释

第一讲:方程组的几何解释

我们从求解线性方程组来开始这门课,从一个普通的例子讲起:方程组有2个未知数,一共有2个方程,分别来看方程组的“行图像”和“列图像”。

有方程组{2x−y=0−x+2y=3,写作矩阵形式有[2−1−12][xy]=[03],通常我们把第一个矩阵称为系数矩阵A,将第二个矩阵称为向量x,将第三个矩阵称为向量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()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

png

plt.close(fig)
1

上图是我们都很熟悉的直角坐标系中两直线相交的情况,接下来我们按列观察方程组x[2−1]+y[−12]=[03](我们把第一个向量称作col1,第二个向量称作col2,以表示第一列向量和第二列向量),要使得式子成立,需要第一个向量加上两倍的第二个向量,即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()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

png

plt.close(fig)
1

如图,绿向量col1与蓝向量(两倍的蓝绿向量col2)合成红向量b。

接着,我们继续观察x[2−1]+y[−12]=[03],col1,col2的某种线性组合得到了向量b,那么col1,col2的所有线性组合能够得到什么结果?它们将铺满整个平面。

下面进入三个未知数的方程组:{2x−y=0−x+2y−z=−1−3y+4z=4,写作矩阵形式A=[2−10−12−10−34],b=[0−14]。

在三维直角坐标系中,每一个方程将确定一个平面,而例子中的三个平面会相交于一点,这个点就是方程组的解。

同样的,将方程组写成列向量的线性组合,观察列图像:x[2−10]+y[−12−3]+z[0−14]=[0−14]。易知教授特意安排的例子中最后一个列向量恰巧等于等式右边的b向量,所以我们需要的线性组合为x=0,y=0,z=1。假设我们令b=[11−3],则需要的线性组合为x=1,y=1,z=0。

我们并不能总是这么轻易的求出正确的线性组合,所以下一讲将介绍消元法——一种线性方程组的系统性解法。

现在,我们需要考虑,对于任意的b,是否都能求解Ax=b?用列向量线性组合的观点阐述就是,列向量的线性组合能否覆盖整个三维向量空间?对上面这个例子,答案是肯定的,这个例子中的A是我们喜欢的矩阵类型,但是对另一些矩阵,答案是否定的。那么在什么情况下,三个向量的线性组合得不到b?

——如果三个向量在同一个平面上,问题就出现了——那么他们的线性组合也一定都在这个平面上。举个例子,比如col3=col1+col2,那么不管怎么组合,这三个向量的结果都逃不出这个平面,因此当b在平面内,方程组有解,而当b不在平面内,这三个列向量就无法构造出b。在后面的课程中,我们会了解到这种情形称为奇异、矩阵不可逆。

下面我们推广到九维空间,每个方程有九个未知数,共九个方程,此时已经无法从坐标图像中描述问题了,但是我们依然可以从求九维列向量线性组合的角度解决问题,仍然是上面的问题,是否总能得到b?当然这仍取决于这九个向量,如果我们取一些并不相互独立的向量,则答案是否定的,比如取了九列但其实只相当于八列,有一列毫无贡献(这一列是前面列的某种线性组合),则会有一部分b无法求得。

接下来介绍方程的矩阵形式Ax=b,这是一种乘法运算,举个例子,取A=[2513],x=[12],来看如何计算矩阵乘以向量:

  • 我们依然使用列向量线性组合的方式,一次计算一列,[2513][12]=1[21]+2[53]=[127]
  • 另一种方法,使用向量内积,矩阵第一行向量点乘x向量[25]⋅[12]T=12,[13]⋅[12]T=7。

教授建议使用第一种方法,将Ax看做A列向量的线性组合。

#线性代数
上次更新: 2025/06/25, 11:25:50
线性代数知识点总结
矩阵消元

← 线性代数知识点总结 矩阵消元→

最近更新
01
帮助信息查看
06-08
02
常用命令
06-08
03
学习资源
06-07
更多文章>
Theme by Vdoing | Copyright © 2022-2025 Geeks_Z | MIT License
京公网安备 11010802040735号 | 京ICP备2022029989号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式