pytorch统计矩阵非0的个数_线性代数预习自学笔记-1:矩阵的由来

前言:

本系列文章系《Linear Algebra with Applications (Ninth Edition)》(作者:Steven J. Leon)的个人学习笔记,故系列文章的思路按照该书进行。

一、线性方程组

我们先从一个封闭的列昂惕夫(Leontief)生产-消费模型说起:

假设有一个原始社会的部落,人们从事三种职业:农业生产、工具制作、衣物缝制,我们记这三类人分别为F、M、C。一开始,部落中没有货币制度,人们通过分享的方式进行商品交换。其中:
  • 农民留收成一半给自己,将剩下的均分给手工业者与缝纫工人;
  • 手工业者将他们产品均给三类人;
  • 缝纫工人对他们产品的分配方法与农民相同。

我们将上述数据记成以下表格:

其中,第一列表示农作物收成的分配,第二列表示手工业产品的分配,第三列表示缝纫产品的分配。

而后部落规模不断增大,实物分配的方式就显得十分繁琐,因此部落首长决定采用货币系统。那么问题来了:如何给这三种产品定价,才能公平地体现当前的商品交换系统呢?

也就是说:如何定价才能使每一个人在这一商品换系统下“从他人处得到的货物价值等于分享出去的货物价值”?

假设农作物、手工业产品、缝纫产品的价格分别为

,那么根据以上要求,可以列出如下方程(以农民为例):

这是利用表格的第一行,对农民得到的方程。类似地,我们可以得到以下方程组:

显然,方程组的一个解为

,意味着每种商品的价值为零,而且当我们更换分配方式时,这个解依旧成立,所以这不是我们想要的结果,我们需要找到使
不全为零的解。这便是线性代数的起源。

定义 形如

,其中
,且
为变量的方程称为
含有n个未知量的线性方程

定义 含有m个方程,n个未知量的线性方程组定义为

该方程组称为一个m×n的线性方程组

方程组(1)是一个3×3的线性方程组,它至少存在一个解

定义 若一个线性方程组无解,则称该方程组为不相容的(inconsistent)。反之,若一个线性方程组至少存在一个解,则称该方程组为相容的(consistent)。线性方程组的所有解的集合称为该方程组的解集。若方程组的一个解使全部变量均为0,则该解称为平凡解,其它解(若有)称为非平凡解

因为容易一眼看出来,所以被称为是平凡的。

定义 若一个线性方程组方程的个数多于未知量的个数,则称该方程组为超定的(overdetermined)。若一个线性方程组方程的个数少于未知量的个数,则称该方程组为亚定的(underdetermined)

一个超定方程组通常(但不是一定)是不相容的,一个亚定方程组通常(但不是一定)是相容的,且一个相容的亚定方程组必有无穷多组解。

那么要如何求解一个线性方程组呢?我们在初中学过如何求解一个二元一次方程组,即通过两个方程的加减消去一个变量,从而求得只含有另一个变量的方程,这个方法被称为消元法。我们也知道,将一个方程的k倍加到另一个方程上不会改变该方程组的解。

定义 若两个含有相同变量的方程组具有相同的解集,则称它们是等价的

以下三种运算都可以得到与原方程组等价的新方程组:

  • 交换任意两个方程组的顺序;
  • 任一方程两边乘以一个非零实数;
  • 将任一方程的任意倍数加到另一个方程上。

这将成为今后我们解线性方程组的重要依据。

二、解线性方程组

定义 若m×m方程组中,对于每一个k=1,2,…,m,在第k个方程中,前k-1个变量的系数均为0,且第k个变量的系数不为0,则称该方程组是严格三角形的

观察下列方程组

我们可以立刻由第三个方程得到

,再代入第二个方程可得
,最后由第一个方程得到
,因此该方程组的一个解是

因此,严格三角形方程组的定义是自然的,因为对于每一个严格三角形方程组,我们可以利用上述方法,即回代法求解。而且我们可以看到一个严格三角形的方程组有且仅有一组解。我们可以利用得到等价方程组的运算,将一个方程组尽可能化为严格三角形的。但事实上,由于严格三角形方程组是m×m的,就要求方程组既不能是超定的也不能是亚定的。

在运算中,我们变化的只是变量的系数,变量本身依然是变量。因此我们省略掉变量

,仅将方程组中的m×n个系数阵列起来,写成

称为一个矩阵,同时也是该线性方程组的系数矩阵。但为了体现方程组等号右侧的

,我们在矩阵的右端添加一列:

称为该线性方程组的增广矩阵(一般在左数倒数第二列与最后一列之间加一条竖线以分隔)。这个增广矩阵实际上蕴含了原方程组的所有信息,因此我们可以仅借助这一简单结构求原方程组的解集。

定义 一个m行n列的矩阵称为m×n矩阵。当m=n时,该矩阵又称方阵

对应可以得到等价方程组的运算,我们定义初等行运算:

定义 一个矩阵的初等行运算包括:

  • Ⅰ.交换两行;
  • Ⅱ.任一行乘以一个非零实数;
  • Ⅲ.将任一行的任意倍数加到另一行上。

在得到严格三角形方程组的过程中,我们希望我们的消元算法是这样工作的:

若在消元过程中能得到一个等价的严格三角形方程组,那么我们便可以求出该方程组的解。然而事实不一定遂如人愿,考虑下面一个消元后的增广矩阵:

这个矩阵并不对应一个严格三角形方程组,并且显然这个矩阵对应的方程组无解。观察这个矩阵的形式,我们得到如下定义:

定义 一个矩阵称为行阶梯形矩阵,当且仅当:

  • 元素不全为零的行(非零行)的第一个非零元为1;
  • 若第k行元为非零行,则第k+1行的第一个非零元前0的个数多于第k行的第一个非零元前0的个数;
  • 元素全为零的行都在非零行下方。

其中每个非零行的第一个非零元素对应的变量称为首变量,其余的(化简过程中跳过的)称为自由变量。事实上,将化简后的方程组中的自由变量移到等号右边,我们将得到关于首变量的严格三角形方程组,因此若方程组是相容的,那么我们可以对自由变量任意赋值,再得到首变量的值,进而得到方程组的一个解。这也解释了为什么一个相容的亚定方程组必有无穷多组解,因为一个亚定方程组必有自由变量。

定义 利用初等行运算将线性方程组的增广矩阵化为行阶梯形的过程称为高斯消元法

当然我们的化简可以更加深入:

定义 一个矩阵称为行最简形矩阵,当且仅当:

  • 它是行阶梯形的;
  • 每一行的第一个非零元是该列唯一的非零元。

定义 利用初等行运算将线性方程组的增广矩阵化为行最简形的过程称为高斯-若尔当消元法

最后,对于我们开篇提出的封闭的列昂惕夫生产-消费模型中得到的方程组,我们还有如下定义:

定义 若一个线性方程组等号右端全为0,则称该方程组是一个齐次方程组

因为全部项均可以看作是关于变量的一次项。

显然,齐次方程组必有平凡解。并且,若齐次方程组有非平凡解,那么它一定有无穷多组解。因为若

是某个齐次方程组的一组解,那么对于任意标量
也是该方程组的一组解。

最后,我们用一个重要定理作为结尾(事实上,这个结论是研究亚定方程组时得出的结论的一个推论):

定理1.1 若n>m,则一个m×n的齐次方程组必有非平凡解;即,亚定齐次方程组必有非平凡解。

首先,一个齐次方程组一定是相容的。一个m×n的齐次方程组的增广矩阵的行阶梯形最多有m个非零行,故最多有m<n个首变量,故必有自由变量,我们对自由变量任意赋值,均可得到齐次方程组的一个解。

下一篇:线性代数预习自学笔记-2:矩阵算术

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值