为什么会有矩阵这东西?

编者按:本文推荐两篇关于矩阵(矩阵和矩阵的逆分别有什么作用)的科学散文,再次体会学问之美,然后看看数学课本上的9大变态:)

为什么会有矩阵这东西,矩阵到底有什么用

原本想这个周末可以好好休息一下,没想到10岁表妹竟然来了。进门的那种气势感觉势不可挡。。。

表妹:表弟他学会行列式,你今天一定要跟我说说矩阵。

超模君:哦,不过我要先写文章,你先去那看《衡水宝典》

表妹:表哥,如果现在你教我的话,我就介绍隔壁家的漂亮姐姐给你认识,那个姐姐…

超模君:你等会,先不要看《衡水宝典》,最近衡水中学的学生清华浙大都不录取了,还是我来给你讲讲矩阵吧,这样才能帮助你学习。

在《线性代数》书中,行列式和矩阵总是如影随行,而且两个确实长得很相似,所以也经常有人混淆两者。

矩阵:有勾必火

虽然这个时代很看颜值(矩阵有勾,确实比较火一点),不过超模君可不是这么肤浅,超模君还是很看重内涵。

行列式:是指将一些数据建立成计算方阵,经过规定的计算方法最终得到一个数。换句话说,行列式代表的是一个值。

矩阵则不同,矩阵表示的是一个数表,是一个数据的集合体。换句话说,矩阵更神似于一张n行m列的数字表格,或者Excel表。

最近这几天,京西旅馆的大厨还没到位,采购蔬菜的事情还是落在了小天的身上。

这不,精打细算(抠门)的刘强西就派小天到村头菜市场村尾王大妈菜摊隔壁村老王农场去调研不同菜品的价格,说是不能乱花一分钱。。。

小天分别去三个地方分别调研了三种菜品,发现价格真有不同。。。

而之后小天便将得到的数据用矩阵表示出来。

刘强西看到小天提供的矩阵:这是什么鬼,小天,你干嘛用矩阵来表示呀?!

小天:因为矩阵也是一种表示多维度数据的方式呀!

刘强西:但这个比Excel表难看,不喜欢,而且没什么用。

小天此时露出鄙夷的眼光:刘boss,你竟然说矩阵没什么用(这个也不怪你,就是现在还有人说数学没什么用),其实之所以做成矩阵的形式,就为了四个字:便于计算

我记得上一次你还跟我说过三种蔬菜的需求量,那我们将需求量做成需求矩阵B

那我们就可以得到三个地方的价格(价格矩阵C):

如果此时我们再考虑距离因素和时间成本,那也就是增加距离矩阵D时间矩阵E,最后再用上我们最简单的运算法则:加减乘除

那这样的话,我们就可以对三个购菜点进行综合评估,选出最好的供应商了。

刘强西:小天越来越聪明了,讲的很有道理。

小天:我一直都很聪明。

据知情人士爆料,矩阵最开始是用于线性变换。

那什么是线性变换?

向量空间V到其自身的映射称为V的变换,V到V的线性映射称为V的线性变换,简言之,线性映射就是保持线性关系的映射。

超模君,咱能好好得讲话吗?

行行行,就来!从最简单的例子来说,假设X是(a, b, c)这样的数字向量,那么我们经常讲的线性方程组就是对于这个向量做变换,而矩阵乘法就是用来接线性方程组的。

那当我们把X看成函数,我们常讲的微分运算也是一种线性变换,而此时的矩阵乘法则是被用来解微分方程

学过气象的同学应该对矩阵也很了解,因为他们经常会用矩阵运算来对未来的天气进行预测。

每一天的天气状况在观测后就会是一个具体值,而在观测到之前,我们可以把它想象成一个概率的向量(比如今天的气温22°C的概率是85%,23°C的概率是10%,24°C的概率是5%)。

然后呢,假设每一天的天气和前一天的天气构成马尔可夫链:

马尔可夫链(Markov Chain),描述了一种状态序列,其每个状态值取决于前面有限个状态。马尔可夫链是具有马尔可夫性质的随机变量的一个数列。

也就是说明天的天气是今天天气的线性变换,所以矩阵的乘法可以帮助你预测n天后的天气

从刚才讲的几个例子,各位模友可能会发现:

好像很多东西都是线性变换啊?

原因还简单,以为线性关系足够简单,就比如牛顿定理F=ma。

事实上,无论是大数学家还是大物理学家,每个人都希望用最简单的方式去解决问题,还有在我们的数学建模竞赛中,一种简单明了的算法总是会比各种复杂算法更容易让人接受。

而这种对于线性关系的追求,其实也是能力所限制,当我们不知道所研究的对象服从什么规则的时候,我们通常会假设这个现象是服从线性关系(不因为别的,还是因为简单)。

如果太复杂了的怎么办,我们也总是会在复杂的内部关系里面找出线性关系的存在。

你看,线性关系的基础就是ax+b,没错,这里的运算规则就只有乘法和加法(相信小学就会了)。

矩阵的运算其实就是简单的乘法和加法,而矩阵的出现,也是为了让我们能更好地处理更多维度的数据情况。

最后再讲一点:

  • 什么是矩阵的秩

关于矩阵的秩,超模君曾在知乎上看过到这么一个回答:

你们家r口人,然后拍了n张照片。

这个r就是秩了。

这样看下来,秩便是线性组合出所有照片所需要的最少独一无二的人的数量。

 

花了10分钟,终于明白矩阵的逆到底有什么用

首先,我们先来看看这个数的倒数:

其实矩阵的逆矩阵也跟倒数的性质一样,不过只是我们习惯用A-1表示:

问题来了,既然是和倒数的性质类似,那为什么不能写成1/A

其实原因很简单,主要是因为矩阵不能被除。不过 1/8 倒可以被写成 8-1

矩阵的逆倒数还有其他相似之处吗?

  • 当我们将一个数乘以它的倒数我们得到1。

8 × (1/8) = 1

  • 当一个矩阵乘以逆时,我们得到了单位矩阵(而单位矩阵,其实也就是矩阵中的“1”)。

A × A-1 = I

  • 而此时我们将矩阵的逆放在前面,很明显,结果还是一样的

(1/8) × 8 = 1

A-1 × A = I

模友:超模君,刚才讲的“单位矩阵”是什么意思,你还没说明呢

超模君:别急,慢慢来!关于单位矩阵,其实就是一个相当于数字“1”的矩阵:

·3×3的单位矩阵

那怎样的矩阵才是单位矩阵呢?

①它是“正方形”(行数与列数相同);

②它的对角线上的数字都是1,其他地方都是0。

  • 那问题来了,我们该如何去计算矩阵的逆呢?

换句话说:交换a和d的位置,将负数置于b和c的前面,并将所有事物除以行列式(ad-bc)

举个栗子:

不过该如何去判断这是正确的答案呢?

那这个时候就要用到我们最开始讲的公式:

A × A-1 = I

所以,让我们检查一下,当我们将矩阵乘以矩阵的逆时,会是怎样的?

嘿嘿嘿嘿!我们最终得到了单位矩阵!

留个作业:试试这样,能不能得到单位矩阵呢?

其实,在了解矩阵的过程中,总是会有个疑问:为什么我们需要矩阵的逆呢?

其主要原因是:矩阵没办法被除。(这个时间各位模友可以回想一下:是不是从来都没看过矩阵被除

换句话说,矩阵根本就没有被除的概念

而矩阵的逆,正好是被我们用来解决“矩阵除法”的问题。

各位模友,假如我们没有“除法”这个规则,那当有人问你“如何把10分苹果平分给两个人”

想到怎么解答没?

那我们是不是可以采取2的倒数(1/2=0.5)来计算,那答案就很清晰啦:

10 × 0.5 = 5

也就是每个人5个苹果

那我们是不是也可以将同样的方法应用到矩阵上呢?

那故事就这么开始了,我们知道矩阵A矩阵B,并且想要找到矩阵X

XA = B
那最好的方法就是直接除以A(得到X = B / A),但事实上我们不能直接除以矩阵A。

但是我们却可以在公式两边都乘以AA-1=I:

XAA-1 = BA-1

因为我们都知道AA-1=I,所以也就能得到

XI = BA-1

而此时单位矩阵I我们是可以直接去掉的,也就能得到你:

X = BA-1

所以呢,此时我们只要知道怎么计算A-1,那就可以直接算出矩阵X(而对于计算A-1早已解决)。

丢个栗子

有一个几个家庭组团出去旅行,出发的时候是乘坐大巴,每位儿童3元,每个大人3.2元,一共花费了118.4元。

在回程时,他们选择乘坐火车,每名儿童3.5元,每名成人3.6元,总计135.20元。

那问题来了,这里边有多少个小孩和大人呢?

虽然这道题用线性方程组来解很简单,但这次我们尝试用矩阵思维来解答。

首先,我们设置好矩阵(此时要注意好矩阵的行和列是否正确)

那我们根据公式:

XA = B

要解决这个问题,那也就是得到矩阵A的倒数:

现在我们可以使用以下方法来解决:

X = BA-1

结果很明显,一共有16个孩子22个大人

  • 那问题来了矩阵的逆到底有什么用?

事实上,像这样的计算其实非常有利于工程师设计建筑物视频游戏和计算机动画等许多地方。

此外,它也是解决线性方程组的一种方法。

虽然求矩阵的逆,只要打开MATLAB, 输入inv(A)

但超模君这里就要插一句话:

虽然这个过程是由计算机完成,但我们还是有必要去了解公式,因为这正是数学的美妙之处!

 

数学课本上的9大变态!

 

 

来源网络 超级数学建模

转载请注明:产品实验室 » 为什么会有矩阵这东西?