作者:James Propp 詹姆斯·普洛普(马萨诸塞大学洛威尔分校数学教授) 2023-6-16 译者:zzllrr小乐(数学科普微信公众号) 2023-6-20 “矩阵是什么” — 墨菲斯,黑客帝国(电影The Matrix 1999) 矩阵是一个矩形的数字数组,但一个矩形的数字数组只有在你以正确的方式思考它时才会变成矩阵。我后面会回到墨菲斯的反问。矩阵在科学和技术中无处不在,从生态学到经济学再到数据科学。我将告诉你如何将矩阵相加(以你可能期望的方式)以及如何将它们相乘(以你可能不会想到的方式)。我不会告诉你矩阵代数是如何发明的,因为它太尴尬了——不是对我个人,而是对整个数学专业。线索无处不在,尤其是在现代代数开始之后,但我们忙于研究二次多项式(x² + xy + y²等),其中变量被提高到2次幂或乘以其他变量(然后相加),我们没有对变量乘以常量的线性多项式(2x+3y等)给予足够的关注。如果我们更深入地思考微小的事情,现代矩阵理论可能在几个世纪前就被发明出来了。 想想两千年前的中国,事情进展得如此顺利,当时有一种求解线性方程组的流行热潮! 好吧,最后一句话可能有点夸张了。我们所知道的是,两千年前有一部著作叫《九章算术》(又名《数学艺术九章》)。这是一本实用的数学手册,其中有一章非常“不实用”,专门讨论线性方程组。当然,实用性是一个见仁见智的问题,所以请告诉我你对这个问题的看法:
上等谷3束,中等谷2束,下等谷1束,共是39斗; 上等谷2束,中等谷3束,下等谷1束,共是34斗; 上等谷1束,中等谷2束,下等谷3束,共是26斗。 问:上等、中等、下等谷每束各是几斗? “有三种粟谷,第一种3捆,第二种2捆,第三种1捆,总数是39斗。第一种2捆,第二种3捆,第三种1捆,总数是34斗。第一种1捆,第二种2捆,第三种3捆,总数是26斗。每种类型的一捆粟谷各有多少斗?” 我发现很难想象农民或商人必须解决这种问题的情况。在我看来,本章的作者给出了解决此类问题的方法,不是因为问题紧迫,而是因为解决方法似乎很吸引人。 方程术(Fang Cheng) 对于我们现代人来说,关于玉米的这个问题可以摆脱它的农业特征,直到只剩下它的代数内核:“我在想三个数字 x、y 和 z,使得 3x+2y+z = 39,2x+3y+z = 34,x+2y+3z = 26。什么是 x、y 和 z?”这三个方程中的每一个都是线性方程,即仅涉及常数(见方程右侧)和形式为 ax + by + cz 的表达式的方程,其中 a、b 和 c 是称为系数(coefficients)的常数(见方程的左侧)。这个问题的答案是 x = 37/4,y = 27/4,z = 11/4。如果给定 x、y 和 z,则很容易计算 3x+2y+z、2x+3y+z 和 x+2y+3z。但是反过来呢? 这是数学家称之为逆问题(反问题 inverse problem)的一个例子。当有人用三个数字 3x+2y+z、2x+3y+z 和 x+2y+3z 替换x,y,z时,他们就执行了数学家所说的在原来的三种数字上做了一种线性变换(linear transformation)。我们寻求的是一种执行逆运算的方法,从数字 3x+2y+z、2x+3y+z 和 x+2y+3z 重建数字 x、y 和 z。 执行这种重建的中国方法使用矩形数字数组。例如,前面的问题将由数组表示 3 2 1 39 2 3 1 34 1 2 3 26 这些数组不是写在纸上的,而是在分成不同隔间的板上用短杆排列表示的。用这种板子解决此类问题的艺术被称为方程术(fang cheng),这不是学术实践;这些方法是人与人之间的传播,而不是通过文本,甚至不需要识字。有关方程术的更多信息,请查看Jeff Suzuki的视频,有关更深入的探讨,请参阅Roger Hart的书和文章(均列在参考资料中)。 Hart区分了他称之为“行家”(Adept)和“文人”(literati)的两个群体;行家是用木板快速计算的真正大师,而文人则描述了行家所做的事情,但只掌握了部分艺术的细节。我会比Hart走得更远,推测性地将方程术想象成一个流行的消遣,在中国古代扮演的角色类似于魔方和数独在我们这个时代所扮演的角色。像魔方和数独一样,求解线性方程组允许多条路径到达预定的目的地,聪明或经验可以引导行家找到比新手更有效的路径。最重要的是,所有三项活动都有一个快乐的特点,即使快速解决(solving)难题很困难,但验证(verifying)某人已经解决了难题很容易;这种难度差距打开了观众的大门。我想象着从一个城镇到另一个城镇与其他行家竞争,以及一个省的顶级行家争夺金钱和名声。 我的幻想可能只是一个幻想,但值得记住的是,很多文化都是短暂的。民间传统可以兴起,流行几个世纪,然后消失,不留下任何考古证据的痕迹。回想一下16世纪意大利的公开代数决斗,也许你会同意,中国古代的线性代数决斗并不是一个奇幻的概念。 方程术在古代中国基本上被遗忘了;欧洲人后来重新发明了这个基本概念,并与他们以欧洲为中心的记名法保持一致,以与之相关的最著名的欧洲人命名,在这种情况下,他是高斯。 跟着钱走 当François Quesnay(弗朗斯瓦·魁奈)年轻时,他并不打算发现一门新科学;他只是想治好病人。在担任外科医生的学徒并在巴黎学习后,他定居下来,成为一名经过认证的主外科医生。他的医学专长和整体智慧使他引起了富人和有权势者的注意,给国王路易十五留下了好印象;国王亲切地称魁奈为“mon penseur”(我的思想家),并将他提升为贵族,双关地将三色堇(Fleur de pensée,pansy)作为他的徽章。 魁奈开始思考经济和社会。在他看来,政治体是类似于人体的东西;正如人体需要血液和其他体液的平衡循环一样,政治体需要商品、服务,尤其是金钱的平衡循环。随着时间的推移,魁奈成为一群自称为重农主义者(Physiocrats)的思想家的中心,他们相信一个国家财富的最终来源是农业劳动。 在他颇具影响力的 1758 年手稿《经济表 Le Tableau Économique》中,魁奈设想了一笔 600 里弗(livre),作为租金支付给土地所有者,然后在经济中传播。一半的钱花在食物上(因此归还给农业阶层),另一半花在其他商品上(因此支付给手工业阶层)。农民和工匠反过来购买食物和其他商品,因此600里弗被切成越来越小的钱块,在三个经济部门之间曲折来回。 在后来的版本中,魁奈采取了一个小而关键的附加抽象步骤,用整个土地所有者阶级取代了原来的通用土地所有者;在这样做的过程中,他完全进入了宏观经济学的精神,可以说提供了世界上第一个明确的宏观经济模型。经济学先驱亚当·斯密(Adam Smith)在1760年代访问重农主义者期间注意到了这一点。 魁奈将农场工作作为经济价值的来源的赞美,并没有延伸到他认为农民应该在制定经济政策或任何类型的政策中发挥作用的地步。相反,魁奈是一位坚定的君主主义者(monarchist),他钦佩中国的帝国治理。(当他在1767年写《中国专制主义 Le despotisme de la Chine》时,他有所肯定)。他在儒家思想(Confucianism)中发现了一种等级社会模式,与中世纪基督教的“生命巨链 Great Chain of Being”相呼应。就重农主义的比喻而言,即使心脏泵送滋养大脑的血液,头部也不应该统治身体吗? 一个世纪后,卡尔·马克思以重农主义者的思想为基础,规定所有劳动(工厂工作和农业工作)都是价值的最终来源。他还借用了《经济表》的想法,在1857年制作了自己的类似模型。此外,他决定,通过让工人阶级兼作统治阶级来减少经济中的部门数量,并让工人失去过度劳累和工资过低的生命巨链,会更经济。俄罗斯知识分子注意到了。剩下的就是世界历史了。 另一个世纪后的1949年,旅居国外的俄罗斯经济学家瓦西里·莱昂蒂夫(Wassily Leontief)在魁奈、马克思和其他人(特别是莱昂·瓦尔拉斯 Léon Walras)的工作基础上,设计了一个美国经济模型,将其分为许多部门,每个部门都有产出,然后作为其他部门的投入。管理所有这些流的是类似于《经济表》的输入-输出表,它做出了重要的附加假设,即在每个部门内,就像在烹饪食谱中一样,输入比例是固定的;例如,一家决定减产10%的汽车制造商将需要之前90%的劳动力和90%的钢铁。如果你把它推得太远,这种简化的比例假设就会分崩离析,但当人们考虑不太剧烈的变化时,这是一个很好的近似。更重要的是,莱昂蒂夫的模型预测了部门的相对规模。 要了解这种模型的相对规模如何,请考虑一个只有两个部门的玩具经济学。每年,A部门将其一半的钱支付给B部门,并将其一半的钱留给自己,而B部门将其所有钱支付给A部门,如下图所示: 如果经济处于平衡状态,我们有稳态方程 A = A/2 + B B = A/2 其中 A 和 B 分别代表每个部门的金额。第二个方程告诉我们,在均衡中,部门A的钱是部门B的两倍,因此部门A占经济的三分之二。看看吧:如果我有两个豆子,而你只有一个,我把一半的豆子给你,同时你把所有的豆子都给我,我们就回到了我们开始的地方。 如果我们有一个稍大的模型,有更多的部门,我们可能会使用高斯消元法Gaussian elimination(又名方程术)来推导出它们的相对大小。但莱昂蒂夫的美国经济模型有500个部门——远远超出了方程术黄金时代最熟练的行家的能力。幸运的是,莱昂蒂夫有一个好主意,大量的数据(由美国劳工统计局提供),以及最先进的计算能力(由哈佛大学的Mark II计算机提供)。 让我们回到我们漂亮的玩具经济学,让它不处于平衡状态。代替稳态方程 A = A/2 + B B = A/2 我们现在有了进化方程 A' = A/2 + B B' = A/2 其中 A、B 是一年中行业的规模,A'、B' 是下一年这些行业的规模。我们再过几年重复这个过程 A'' = A'/2 + B' B'' = A'/2 继续如此下去。会发生什么? 你可以试试:如果 (a,b) = (1,0) 那么 (A',B'), (A'',B'') 等等,就分别是(1/2,1/2),(3/4,1/4)(5/8,3/8),(11/16,5/16)等,收敛到(2/3,1/3)。(我上个1/3日写了这个过程 https://mathenchant./2018/12/31/introducing-thirdsday/ )。 这种迭代过程本质上是莱昂蒂夫应用于他从劳工统计局数据中推断出的500×500系数表的方法:他用它们来更新对经济500个部门的相对规模的初步猜测,一遍又一遍地应用线性变换,从而减少误差,直到误差太小而无关紧要。同样重要的是,他研究了当你通过引入新的外部需求来扰乱平衡时,平衡是如何变化的。这项工作为他赢得了诺贝尔奖。 顺便说一下,谷歌的Pagerank算法也有类似的想法。迭代收敛到线性方程组解的诀窍不仅有利于获得诺贝尔奖;这对启动数十亿美元的公司也有好处。 莱昂蒂夫对他有利的另一件事是,他知道一个有一百年历史的数学分支,这正是他所需要的,由亚瑟·凯莱(Arthur Cayley 我们上个月写过他)发明的。如果马克思跟上最新的数学发展,他本可以在1857年知道这个领域,因为凯莱的同事,代数学家詹姆斯·约瑟夫·西尔维斯特(James Joseph Sylvester)(创造新数学词汇的伟大人物)在七年前给这个新主题起了一个名字:矩阵论。 它如何没有发生 我已经答应过不告诉你矩阵代数是如何发明的。但是让我告诉你,凯莱是如何被引导发明它的,不是通过考虑应用,而是通过遵循纯数学的面包屑,比如我最近写的《形式的持久性》 https://mathenchant./2023/01/17/denominators-and-doppelgangers 。(如果你迫不及待地想了解更多关于应用的信息,你可能想跳到本文的最后一部分。)在这里,我遵循“发现小说” https:///df/index.html 的传统;如果你是一门学科的历史学家,用后见之明的所有好处重写过去是不行的,但如果你是第一次学习这门学科,它会有所帮助。 请记住,汉密尔顿已经向凯莱和世界其他地方展示了如何将复数“仅”视为有序对,其中 (a,b) 充当 a + bi 的替身。在这个方案下,当我们乘以数对(a,b)和(x,y)时,我们得到对(ax−by,bx+ay)。如果我们将 a 和 b 视为常量,将 x 和 y 视为变量,我们将 ax−by 和 bx+ay 视为变量 x 和 y 的线性表达式。因此,每个复数(a,b)对应于线性变换,特别是将(x,y)转换为(ax−by,bx+ay)的变换。 例如,对(−1,0)(表示数字 −1 + 0i,又名 −1)对应于将(x,y)转换为(−x, −y)的线性变换。如果这让你感到困惑,请检查乘以 −1 是否将 x + yi 转换为 −x − yi = (−x) + (−y)i;按汉密尔顿数对而言,乘以 −1 将(x, y)变成(−x,−y)。这是对两个数字都取相反数的运算;我们简称之为T₋₁。(T 代表“变换”Transformation)。 同样,对(0, 1)(表示数字 0 + 1i,又名 i)对应于将(x,y) 转换为(−y,x) 的线性变换。同样,如果这让你感到困惑,请检查乘以 i 将 x + yi 变成 ix + iyi = ix − y = (−y)+(x)i,或者根据汉密尔顿对,将 (x,y) 变成 (−y,x)。这是交换两个数字并取第一个数的相反数的操作;我们简称之为Ti。 这里有一个大发现:【复数的乘法对应于线性变换的合成】。让我们看看方程i × i = −1 是如何发挥作用的。复数 i 对应于交换两个数字并对第一个数取相反数的运算 Ti。执行 Ti 两次的结果是什么?首先(x,y)被转换为(−y,x),然后(−y,x)被转换成(−x,−y)。但是将(x, y) 转换为 (−x, −y) 的变换正是我们所说的 T₋₁!所以,就像 i 乘以 i 等于 −1 一样,Ti与Ti合成正是T₋₁。(还有一种几何方法来看待这个问题:90 度旋转,然后 90 度旋转相当于 180 度旋转。 现在我想象凯莱多走了一步,问:为什么要把我们自己限制在与复数a+bi相关的特定线性变换?难道其他线性变换不应该有机会进入合成-乘法的新隐喻吗? (x,y) 的每个线性变换都可以写为 (ax + by, cx + dy),因此由四个数字 a、b、c、d 确定。我想象的凯莱曾短暂地考虑将这四个数写成 (a,b,c,d),但随后又想到将其改写成一个数组,例如 a b c d 为了避免它与汉密尔顿的四元数混淆。在西尔维斯特的带领下,我的凯莱将这样的数组称为矩阵。 如何乘以矩阵?(你可能还记得,汉密尔顿在三元数方面也面临着类似的困境。请参阅《 小乐数学科普:汉密尔顿(爱尔兰诗人数学家)的四元数,或三元数的麻烦》)我的凯莱短暂地感到困惑,但后来甚至在他写下任何公式之前,他意识到,如果他认真对待他的合成-乘法的隐喻,矩阵乘法的定义就会强加给他。例如 0 1 1 0 乘以 2 0 0 2 结果必须是 0 2 2 0 因为它们分别对应于运算交换两个数字、双倍数字和交换和双倍两个数字,并且因为第三个操作是合成第一个和第二个运算的结果。 你可能认为数学家喜欢公式,但我们真正喜欢的是有可能产生公式的观点,但这些观点本身是概念性的,而不是象征性的。合成-乘法的隐喻就是这种情况。 我的凯莱决定是时候看看他的隐喻导致了什么明确的公式。(数学家喜欢隐喻,但除非它们把我们带到一个我们以前没有去过的地方,否则它们不会产生新的数学。)假设我们有两个线性变换,一个由矩阵 a b c d 表示, 另一个由矩阵 e f g h 表示。 将 a,b,c,d 变换应用于数对(x,y) 的结果是 (a(ex+fy)+b(gx+hy),c(ex+fy)+d(gx+hy)) 我们可以重写为 ((ae+bg)x+(af+bh)y,(ce+dg)x+(cf+dh)y) 因此,首先应用 e,f,g,h 变换,然后应用 a,b,c,d 变换的复合运算由矩阵 ae+bg cf+bh ce+dg cf+dh 表示。 因此,凯莱断定 例如,请注意,当 e = 1、f = 0、g = 0 和 h = 1 时,我们有 类似地 所以矩阵 1 0 0 1 (通常写为 I)是 2×2 矩阵中数字 1 的化身:将其乘以任何其他 2 x 2 矩阵,你将再次获得该矩阵。这是有道理的,因为与 I 相关的线性变换是将数对(x,y) 转换为数对(x,y)的变换——也就是说,这种变换是懒洋洋地坐在办公桌前,除了将所有东西从输入箱直接搬到输出箱之外,什么都不做。 在使用线性变换的想法作为脚手架之后,想象中的凯莱现在可以丢弃它们。他有一个矩阵乘法的定义,具有有趣的属性。为了发明它,他所要做的就是找到一个观点,迫使他朝着答案的方向前进。这有点像水手竖起手指,试图感知风向。正确扬帆可以让船在微风中搭便车,但首先需要找到微风。 做些矩阵的事 前面的叙述是异想天开的,但凯莱确实发明了矩阵代数,遵循了他的前辈(特别是戈特霍尔德·艾森斯坦 Gotthold Eisenstein,他引入了符号×来表示矩阵乘法)的工作中的各种暗示。凯莱还以显而易见的方式定义了矩阵的加法: 有了矩阵相加和矩阵相乘的定义,矩阵代数终于在酝酿了2000年后诞生了。 凯莱并没有将自己限制在 2×2 矩阵中;对于每个正整数 n,他想出了合理的方法将 n×n 矩阵相加或相乘。然而,他可能会有点漫不经心地对他在矩阵理论中的一些更高级的结果给出严格的证明。根据他的一个结果,凯莱-汉密尔顿定理(之所以这样称呼,是因为它推广了汉密尔顿关于四元数的结果),凯莱检查了它是否适用于 2×2 矩阵,然后写道:“我认为没有必要在一般情况下承担定理的形式证明的工作。” 回到墨菲斯的问题:矩阵是一个矩形的数字数组,参与凯莱和其他人设计的运算。我不认为人口普查数据表一定符合条件,但是当我们注意到逐条添加两个这样的数组时,幻方(magic square一个正方形数字数组,所有行和列和都相等)就变成了一个矩阵。 凯莱检查了矩阵乘法,正如他所定义的那样,是满足对矩阵加法的分配的(乘法对加法分配率);也就是说,如果 A、B 和 C 是 n×n 矩阵,则 A(B + C) = AB + AC 和 (A + B)C = AC + BC。他还证实矩阵乘法是结合的(乘性结合律):(AB)C = A(BC)。 他还发现许多(尽管不是全部)矩阵都有乘法逆矩阵。例如,如果你把 1 1 1 -1 乘以 1/2 1/2 1/2 -1/2 (无论按哪种顺序)你得到矩阵 I(你会回忆起它是单位矩阵,相当于数字系统中的1的作用)。 逆矩阵可用于求解线性方程组。考虑从两个数字的和与差中重建它们的玩具问题,即将数对 (x,y) 转换为数对(x + y, x − y) 的线性变换的反转问题。此变换与系数矩阵 1 1 1 -1 相关联, 其逆(我们刚刚看到)是 1/2 1/2 1/2 -1/2 这与将数对(x,y) 转换为数对 (x/2 + y/2, x/2 − y/2) 的操作相关联。显然,如果你想找到两个和为 40 且差为 6 的数字,请将 x = 40 和 y = 6 代入公式 (x/2 + y/2, x/2 − y/2),你会得到 (23,17),这是所需的解。因此,求解这个线性方程组被简化为找到系数矩阵的乘法逆的问题。(当然,我的双变量示例太容易很好地说明该方法的强大功能;这就是使它成为玩具问题的原因。) 即使他注意到并利用矩阵和数字之间的类比,凯莱也注意到这些新的“数字”有一些奇怪的性质。他并不惊讶地发现,如果 A 和 B 是矩阵,AB 和 BA 不一定相等;毕竟,他已经见过四元数了。但我想他很惊讶地注意到矩阵 A= 0 1 0 0 相对于“零矩阵” 0 0 0 0 的一个奇怪性质 (后者相当于数字系统中的0)。具体来说, A 不等于零矩阵,但 A²等于零矩阵! 四元数没有这种行为方式。所以这些2×2矩阵,这些新类型的四元矩阵,不是四元数。凯莱找到了一种新的设置,加法和乘法可以同时发挥作用。 为什么是凯莱? 在整个 1850 年代,当他做矩阵理论的基础工作时,数学只是亚瑟·凯莱的爱好;他真正的职业是法律。直到1860年代,他才放弃了法律生涯,全身心地投入到数学中。这就提出了一个问题,为什么像凯莱这样杰出的业余爱好者,而不是大学里面的数学家,创立了如此重要的数学领域? 一个答案也许是,凯莱为他的研究带来了更多的游戏感,因为他不必向任何人证明它的价值。他还知道很多数学,一生都在热切地研究它。但我怀疑,凯莱个人历史的某些方面,尤其是他在法律方面的经验,鼓励他对数学实体采取一种运算的态度。 凯莱童年的大部分时间都在圣彼得堡度过,他的父母是与一家名为俄罗斯公司的股份制企业有联系的贸易社区的一员。股份公司是现代公司的先驱,一个关键特征是责任限制:股东不对公司采取的行动负责,尽管在某种意义上,股东就是公司。股份公司是法律上的虚构,是人类社会的共识创造,具有人的某些特征,但不是全部特征。我看到了法律虚构和数学虚构之间的某种亲和力。当我们制定四元算术时,令 我们不是在创建类似公司的东西吗?一个四元数不仅仅是四元数中的四个数字,就像股份公司不仅仅是其股东一样。而且,正如公司将人格的概念扩展到人类社会的创造物一样,汉密尔顿和凯莱将数字的概念扩展到人类思想的创造物。 还要考虑通过通常称为凯莱表(Cayley tables)的方式定义新数学运算的做法。存在一种在数字1、2、3上的运算★,满足1★1 = 1, 2★2 = 2, 3★3 = 3, 2★3 = 3★2 = 1, 1★3 = 3★1 = 2, 1★2 = 2★1 = 3吗?也许你正在努力寻找一个代数公式来管理这个运算,或者它背后的一些深层含义,但凯莱会说你不必这样做;这九个方程,可以用表格 整齐地总结,创建了具有这些属性的操作。事实上,我们可以做同样的事情 其中空白条目表示“未定义”(谁说你不能将 1 除以 0?) 就此而言,什么是钱?魁奈、马克思和莱昂蒂夫都关心衡量它的来来去去,但它到底是什么?纸币几乎没有内在价值(尽管在极糟糕的情况下,它有时会用作燃料、墙纸或卫生纸)。为什么一张二十美元的钞票值二十美元?因为,作为一个社会,我们说它是。因此,我们可以用另一种虚构(矩阵)来衡量一种虚构(金钱)的来来去去似乎是合适的。 凯莱和汉密尔顿一样,主张一种早期数学家无法理解的特权:定义新的数学对象和对这些对象的运算的权利,只需描述这些运算的作用,而不是因为对象是什么;事实上,人们可以回避一个物体是什么的问题,声称这些组合定律构成了我们正在谈论的什么样的物体。 使用矩阵做事 当然,发明新的数学对象和新的数学运算的自由并不包括坚持别人关心它们的自由。矩阵之所以流行起来,是因为它们统一了之前的大部分内容(例如,四元数对应于某些特殊的 4×4 矩阵,就像复数对应于某些特殊的 2×2 矩阵一样),并且因为它们在科学的许多分支中都很有用。 野生动物管理是使用矩阵模型的一个领域。一个著名的人口增长简单模型是比萨的莱昂纳多(作为斐波那契更广为人知)在他1202年出版的《Liber Abaci 算盘全书》一书中提出的兔子模型。他问他的读者:“如果每个月每对繁殖期的兔子都繁殖一对新兔,而这对新兔从第二个月开始成为新的繁殖对,那么从一对兔子开始,每个月将繁殖出多少对兔子?(我希望我能更多地了解这个谜题的社会背景。当时兔子是害虫、宠物还是蛋白质?)我们可以用进化方程来建模 A' = A + B B' = A 其中 A 代表成人(Adults),B 代表婴儿(Babies)。弄清楚随着时间的推移会发生什么对应于取矩阵 1 1 1 0 的连续幂。 我们得到矩阵 我猜你看到数字1、2、3、5、8、......的出现一点也不惊讶,尽管莱昂纳多取得了许多其他成就,但他现在最出名的是兔子谜题和与之相关的数字序列。斐波那契数应该更恰当地称为Hemachandra(赫马钱德拉)或Virahanka(维拉罕卡)数,因为那些印度数学家早在莱昂纳多活着之前就知道它们。奇怪的是,短语“斐波那契数”和“斐波那契数列”只可以追溯到几个世纪前。历史是一件有趣的事情。 更现实的兔子种群增长模型将兔子分为两个以上的年龄段(比方说n个年龄段),并考虑到这样一个事实,即年轻的成年兔子会繁殖幼兔,而年长的成年兔子往往会变成前兔子。我们创建了一个n×n的数字矩阵,其中每个数字表示特定年龄的兔子存活到一个月大的兔子或繁殖的速度。预测兔子的数量将如何增长只是将矩阵提高到连续更高的幂的问题。 统计学也充满了矩阵,例如协方差矩阵(covariance matrix),其条目告诉你正在考虑的随机变量真正变化的程度,以及变量是倾向于在同一方向还是相反方向上变化。 我怎么能忽略当前线性代数的杀手级应用:通过神经网络进行机器学习?这是隐藏在Chat-GPT和DALL-E以及人工智能最近取得的其他胜利中的魔力。据估计,超过99%的时间,如果你打断神经网络,它会说“你看不出我正在将两个矩阵相乘吗?(或者这就是神经网络在变得更聪明时会说的话,假设它们仍然允许我们打断它们。) 我几乎没有触及矩阵理论的表面。矩阵不仅仅是代数抽象;它们具有生动的几何意义。例如,考虑上面显示的比萨的莱昂纳多图片,它被视为将坐标对(x,y)映射到灰度级别的函数。如果我们应用与矩阵(两个月后控制莱昂纳多兔子种群进化的矩阵) 2 1 1 1 相关的线性变换,并采用该点的灰度级别会怎样?我们得到了图像的娱乐版本。在一个(对角线)方向上,原始图像被拉伸了 (3+√5)/2 倍;在垂直方向上,它被同样的倍数压扁了。这种拉伸和挤压的组合就是太妃糖拉力机所做的。将我们在莱昂纳多脸上的太妃糖拉动操作与乘以复数进行比较,该复数以各向同性(isotropically)的方式拉伸所有内容(即不偏好一个方向),然后以某个固定角度旋转所有内容。太妃糖拉动操作本质上是不同的。因此,我们可以将矩阵乘法视为一种扩大图片几何运算调色板的方法。在教学上,你可以以一种非常几何的方式发展2×2矩阵乘法的整个理论。事实上,大师级教师亨利·皮乔托(Henri Picciotto)已经做到了这一点;请参阅 https://blog.ge/2023/06/16/matrices/ 。 如果你想真正学习线性代数,我强烈推荐吉尔伯特·斯特朗(Gilbert Strang)关于这个主题的经典教科书。一旦你掌握了线性代数,这就是一个你就可以解决的问题或例子。假设你以某种(正)利率投资某个(正)金额的钱,而我以两倍于你的利率投资其他(正)金额的钱。每年年底,你把你账户里所有的利息都给我,我用来投资(以我的高利率),我把我账户里所有的利息都给你,你用来投资(以你的低利率)。从长远来看,你的财富与我的财富比例会怎样?令人惊讶的是,答案并不取决于投资了多少,甚至不取决于利率是多少,只要我的利率是你的两倍。解决这个问题的秘诀是特征值(eigenvalue)的概念。 我在开头提到矩阵是矩形数组,但到目前为止我们看到的所有数组都是正方形的。你可以从斯特朗的书和许多其他来源中了解矩形矩阵如何适应图片。如果你想扮演汉密尔顿或凯莱,你能想到一个加法和乘法三角形数组的好方法吗? 我将以最后的历史旁白结束。看来,17世纪初的中国宫廷数学家,以一种奇怪的反向挪用方式,错误地试图将方程的技术描绘成欧洲数学家的作品!(参见罗杰·哈特(Roger Hart)的文章“追踪'三大支柱'所窃取的做法”。这些朝臣试图将自己打造成西方知识的中转人,所以他们的推销需要秘密的西方智慧的例子,而朝臣们并没有超越晦涩难懂的古代中国数学片段,并在上面贴上“欧洲制造”的标签。正如我所说,历史是一件有趣的事情。 感谢Sandi Gubin,Roger Hart,David Jacobi和Glen Whitney。 尾注 #1.你有没有注意到数学家如何倾向于回答反问? #2.表达式 3x+2y+z、2x+3y+z 和 x+2y+3z 没有常量项。你可能会认为我们应该被允许包含常量项,因为在高中,你被教导像ax + b这样的表达式是线性的。但是在线性代数等高等数学中,我们经常使用仿射(affine)这个词来描述像 3x+2y+z+17 这样的表达式,并限制线性这个词以禁止常数项的存在。 #3.中国人实际上会使用这张图片的翻转版本,但我在本文后面调整了他们的演示文稿,以促进向现代符号的过渡。 #4.我第一次了解方程术,是从省略了“短”修饰符且不包含图片的来源中,我想象了水平和垂直杆运行棋盘的长度和宽度,计算过程类似于在一张桌子上同时进行两个垂直的桌上足球游戏!事实上,这些杆足够短,可以放在一个隔间内。 #5.西尔维斯特在1850年创造了“矩阵”这个词,并在一年后解释了这个新词,写道:“我在以前的论文中将'矩阵'定义为一个矩形的术语数组,从中可以产生不同的行列式系统,就像来自共同的子宫一样。我在这里不会过多讲行列式,只是说它们是与矩阵相关的数值量。每个大小适中的矩阵都有许多正方形子矩阵,每个子矩阵都有自己的行列式,这些行列式之间存在系统的代数关系,这些关系令人着迷且重要。但是矩阵比行列式要多得多! #6.在现实生活中,荷兰数学家扬·德·维特(Jan de Witt)在1659年首次使用这种系数数组表示线性变换。 #7.你可能会觉得我把运算的顺序从一个句子切换到下一个句子,但如果你仔细阅读,你会发现即使单词的顺序改变了,运算的顺序也没有改变。为了进行比较,请考虑短语“x 余弦的正弦”;它表示如果我们从 x 开始,取其余弦,然后取正弦,得到的数字。索伦·克尔凯郭尔(Søren Kierkegaard)有一句名言:“生活只能向后理解,但必须向前生活”。有时数学只能从右到左理解,即使我们从左到右写它。 #8.值得注意的是,对于四元数和矩阵乘法,定义四元数的加法只是做最明显的事情。相比之下,乘法的定义是“秘密调味料”,它使四元数和矩阵分别成为它们的样子。人们在抽象代数中一遍又一遍地看到加法和乘法之间的对比:如何加法通常很明显,但找到“正确”的乘法方法通常更棘手。 #9.线性映射(linear map)的拉伸/挤压因子称为特征值(eigenvalue),拉伸/挤压方向称为特征方向(eigendirection);指向特征方向的向量称为特征向量(eigenvector)。这里的前缀“eigen-”(从德语借来)的意思类似于“自我”或“自有”(形容词,而不是动词)。线性代数的思想在多大程度上影响了所有数学,可以通过现在有几十个以“eigen-”开头的数学词汇来衡量。 #10.支配这个问题的演化方程是 A' = A + 2pB B' = pA + B (其中A是你的钱,B是我的钱,100p%和200p%是两种利率)。关联的矩阵为 1 2p p 1 不难证明(使用你将从斯特朗的书中学到的方法)这个矩阵有两个特征值:特征值 1 + p√2,与特征向量 (√2,1) 和特征值 1 − p√2,与特征向量 (√2,1) 相关。由于前者的特征值具有较大的绝对值,因此它是主导的特征值(主特征值),因此随着时间的推移,该数对(a,b)看起来越来越像特征向量(√2,1)的倍数,并且A与B的比率将接近√2与1的比率。因此,即使你从小额投资开始,而我从大投资开始,最终你也会比我多出大约40%的钱。另请注意,如果我们取 p = 1(对应于每年 100% 的不切实际的利息),并且你和我以 1 个货币单位的相等投资开始,我们各自的持有量增长为(1,1)、(3,2)、(7,5)、(17,12) 等;比率 1/1, 3/2, 7/5, 17/12, ...无非是我们在我的文章《事物、名称和数字》 https://mathenchant./2023/02/17/things-names-and-numbers/ 中遇到的 2的平方根的近似值。 #11.使用三角形数组进行加法和乘法的一个好方法是将它们变成正方形数组。例如,你可以查看左下角有一个0的所有 2×2 矩阵(此类矩阵称为上三角 upper triangular)。你可以检查上三角矩阵集合是否在加法和乘法下封闭。由于每个这样的矩阵都与三个数字相关联,矩阵乘法提供了一种三元数相乘的好方法——即使它没有汉密尔顿在发明四元数之前所寻找的所有属性。 参考资料
让数学 更加 易学易练, 易教易研, 易赏易玩, 易见易得, 易传易及。 |
|