分享

更好编程的 50 个数学概念 | 张量、标量、向量和矩阵

 jsun2 2023-04-28 发布于山东
每次好奇心冒头时,别压住念头,多问一个为什么,会帮到你很大的忙。直接的好处是你逐渐理解发现或发明数学数学和计算机算法开创者的良苦初心。
初心是相同的。数学中的基本原则是,如果一个问题很难,你应该尝试将其线性化,这样你就可以尽可能多地将其简化为线性代数
接下来讨论的向量的相加/相乘,都是将复杂的问题转换为线性的问题!
问题导入
近似假设重力加速度为10m/s^2,则左侧黄色的绳索张力是 40牛,右侧绿色张力是30牛,两个力的合力  ≠  (4+3) = 7 ,那么等于多少呢?
图片
1、矩阵的加法直观解释
这时,我们发现描述每一个砝码的质量用一个数就能表达:1kg,但表述力仅仅有数量不够的,还有方向。严格的说,描述砝码的重量仅仅用 1kg也不够,还需要重力加速度 9.8
图中黄线代表的 力 Fy 和绿线代表的 Fg 又如何表达呢?
图片
Fy 和绿线代表的 Fg 又如何表达呢?
Fy = [0, 3]   +  Fg = [4,0]  =  Fr = [4,3]
图片

再看一个变换:

Fy = [-3, 2]   +  Fg = [3,-4]  =>  Fr = [0,-2]
图片
矩阵的加法

本篇是概述👇链接的深入探究

更好编程的 50 个数学概念 第 3 部分

大喵看来,如果你觉得线性代数学起来吃力,责任大部分在老师。文章引用视频来自著名的 3Blue1Brown  essence of linear algegra 

希望您通过视频了解线性变换等抽象概念对应的几何意义,对了解后续的课程有关键作用。视频中启发思考的方法论:

引入一个新的概念叫'变换'。谈到变换的概念替换'函数'意义在于,仅仅停留在符合变换对理解线性代数没有帮助。经验告诉慎重引入新的概念,但如若要引入新的概念,衡量是否能到达更易于理解,更易于运算的效果。

视频:线性变换的本质
视频从线性代数概念的厘清开始,一系列后续的视频讲解基于几何的角度看待线性数学。数学中的一个基本原则是,如果一个问题很难,你应该尝试将其线性化,这样你就可以尽可能多地将其简化为线性代数。
2、矩阵的乘法直观解释

ACSL竞赛的一道图论中用到了矩阵的乘法,

详见链接👉ACSL 2020-21年竞赛 | 第4场高级组

矩阵乘法--更确切地说,给定矩阵A的幂--是图论中一个有用的工具,其中有关的矩阵是一个图或一个有向图的邻接矩阵。
更一般地说,我们可以把矩阵解释为代表有向图中的(可能是加权的)边,该图可能有也可能没有循环,而矩阵的乘积则指定了具有特定结构的、成对顶点之间的所有步行的总数或总权重。
Floyd-Warshall算法用于寻找加权图中的所有对最短路径,可以看作是计算图的邻接矩阵的幂,其中乘法A2=A⊗A, 是在语义 R,min,+,∞上定义的。
矩阵在数学金融中以各种方式被大量使用。一个具体的例子是相关矩阵,其中一个条目(i,j)指定了在特定时间段内,工具i和工具j的价格变动的相关程度。
每天都有大量的运算任务是计算这些矩阵,并对其进行进一步分析,以便在一定程度上试图量化与工具组合相关的风险量。
Tensors, scalars, vectors and matrices
https://github.com/bovem/publications/tree/master/Linear%20Algebra

张量、标量、向量和矩阵。张量在计算中表达为二维数组(数字、函数等),它以任意数量(0 或更大)的维度展开。

TED视频 | 讲解什么是向量 vector?

关键词:张量、标量、向量和矩阵

维数称为张量秩,秩 0 张量 没有维度(0)的张量。
图片
A 是 0 维张量 秩 1 张量 仅在一维中展开的张量。
图片
一维张量示例 秩 2 张量
图片
二维张量 秩 3 张量
图片
如图所示,秩 3 张量具有立方体(或长方体状结构)。如果张量的秩超过 3,则很难可视化。
“  ...  .... 矩阵乘法在量子力学和整个物理学中起着重要作用。这方面的例子包括惯性张量、使用哈密顿人对物理系统演化的连续时间描述,特别是在具有有限数量基态的系统中),以及狭义相对论中洛伦兹变换的最一般表述。
广义相对论还使用了张量,张量是行向量、列向量和矩阵这类对象的概括。非常粗略地讲,行向量和列向量是 '一维 '张量,它的系数只有一个索引,而矩阵是 '二维 '张量,它的系数有两个索引,有两种不同的 '种类',分别代表行和列--如果你愿意,输入和输出。张量允许三个或更多的索引,并允许一个以上的索引具有相同的 '种类'。
考虑到用列表示向量的惯例在物理学中很常见。然后我们经常用一个尺寸为n₂×n₁的矩阵来确定线性变换  T:ℝⁿ¹→ℝⁿ²:用这样的矩阵T乘以列向量x∈ℝⁿ¹,得到另一个列向量T x∈ℝ²。T的列空间定义了输出,而行空间定义了输入。此外,固定T的一个列索引'a'(识别一个单列)决定了给定标准基向量eₐ作为输入的输出;然后行索引描述了输出的向量的系数。

机器学习的一个核心主题是在数据空间中寻找结构(最好是线性结构);如果你可以的话,你的观察的内在维度见特征面  ...  .... '

视频给出直观深刻的解释
Dan Fleisch给出张量的惊人解释
标量
标量是 0 秩张量—在物理学中,各种量表示为标量,例如:距离(500公里),温度(10ºC),速度(34公里/小时)等。
矢量
秩 1 张量称为向量。物理量如受力(见上图)中力是有方向和大小,速度(10 m/s)、位移(向东 54 m)、电磁场 (1 V/m)。
标量和矢量的区别:
不需要其他信息(如方向)的量(如温度)表示为标量。然而,需要指定方向的量与其大小一起用向量(如电场)表示。
图片向量用粗体字母,如“E”或字母上方的箭头表示。
为了绘制一个向量,我们使用它的元素作为坐标的值(分别为x,y和z轴)。在这里,第一个元素(0.5)被当作x值,第二个元素(0.5)被当作y值,如果我们有三个元素,第三个就是z值。
图片

矢量 E 在图形上绘制为蓝点

将向量绘制为点后,我们从原点 (0,0) 向它放置一个箭头。

向量只是具有一行(称为列向量)或一列(称为行向量)的矩阵。

矩阵

矩阵是秩 2 张量。我们之前已经看过矩阵。

秩大于 2 的张量简称为“张量”(秩大于 2 的张量没有特定名称)。

张量的概念将矩阵、向量和标量推广到一个屋檐下(它们都是张量,但秩不同)。

矩阵作为向量的乘积:

当两个向量相乘时,它们形成一个矩阵。

图片
向量 X(3×1 阶)将与向量 Y(1×3 阶)相乘
结果是一个矩阵 Z(阶数为 3×3)
向量 X 和 Y 组合起来有 6 个元素,但它们的乘积本身就有 9 个元素。因此,一些矩阵可以分解为两个向量的乘积。
假设线性方程组如下:
3x-5y = 6 →(1)
x+y = 4 →(2)
3x+y = 0 →(3)
该系统在行图中的表示为:
图片
行图片可以绘制在图上:
图片
从图中我们可以看出,该系统没有一个唯一的解!
为了从行图片中找到线性方程组的解,我们查看图形,看看所有线是否有任何一个交点,该点称为方程组解。
如果没有共同点,那么方程组就没有解(如上例所示)。
列图
列图是为每个变量单独形成的系数矩阵。之后,变量与其系数矩阵(标量乘法)相乘并相加。然后,它等同于常数矩阵。
取线性方程组(1)、(2)和(3),列图如下:
图片
“x”和“y”是标量与其相应的系数矩阵相乘
图表上的列图
为了在图上显示列图片,我们将单个系数矩阵视为向量,并将这些向量绘制在图上。

图片蓝色向量是X的系数矩阵

红色向量是Y的系数矩阵

绿色向量是常数矩阵

为了从列图片中找到方程组的解,我们将系数矩阵与不同的变量值(x 和 y)相乘并将它们相加(向量加法类似于矩阵加法)。
如果结果等于常数矩阵,则x和y的值称为线性方程组解。
对于此示例,正如我们在行图片中看到的那样,没有解决方案。因此,对于列图片中没有 x 和 y 的值,总和向量将等于常量矩阵(或向量)。
在寻找任何线性方程组的解时,我们可能会遇到以下三种情况之一 一个独特的解决方案 考虑一个线性方程组:
4x+y = 9→(4)
2x-y = 3→(5)
5x-3y = 7→(6)
将这些方程绘制为图表上的行图片和列图片:
图片
(4)(5)和(6)的行图片
图片
(4)(5)和(6)的列图片

为了验证解决方案 x= 2 和 y=1,我们从列图片中替换它们的值并计算。

图片
因此,结果等于常量矩阵。
因此,x=2 和 y=1 是方程组(4)(5)和(6)的一个唯一解。无限多的解决方案 考虑一个线性方程组:
x+2y = 4→(7)
2x+4y = 8→(8)
将这些方程绘制为图表上的行图片和列图片:
图片
两条线相互重叠
在这里,我们有解决方案,但它们的数量无限大,因为两条线几乎在每个点上相交。
图片
红色向量和绿色向量是蓝色向量的标量乘积
因此,x 和 y 可能有无限多的值,以便列图片返回常量矩阵。
没有解决方案
考虑一个线性方程组:
x+y = 4→(9)
x+y = 8→(10)
x-y = 0→(11)
将这些方程绘制为图表上的行图片和列图片:
图片
所有三条线都没有交点
图片
我们可以看到“x”和“y”的无解
通过行和列图片乘法
图片
除了前面讨论的矩阵乘法方式之外,我们还可以通过另外两种方式进行乘法
上:行图片乘法
中:当一个矩阵的各个列与另一个矩阵的行(标量乘法)相乘时,结果矩阵相加。
下:假设我们必须将这两个矩阵相乘
第一个矩阵(1)的第 4 列乘以第二个矩阵的第 1 行,第一个矩阵(2)的第 5 列乘以第二个矩阵的第 2 行,依此类推
结果正是我们对正常乘法的预期!

应用资源 :

统计物理学中的高维问题有时可以直接用矩阵乘法来解决,见http://en./wiki/Transfer_matrix_method
技巧的最著名的例子是一维伊辛模型

http://en./wiki/Ising_model

其中一个N粒子系统可以通过计算2x2-m的N次方来 '解决'。2x2矩阵的第N次方来 '解决',否则,我们将不得不计算2N的和 项的和来得到同样的结果。
矩阵乘法是深度学习和卷积神经网络的主要内容。2012年开始,深度学习算法已经迅速成为各种问题的最知名的算法,其中值得注意的是图像分类,其中卷积神经网络CNN被使用深度学习与一些卷积层,而且值得注意的是在GPU上运行,而不是CPU。
而深度学习和卷积神经网络在很大程度上是(密集的)矩阵乘法,在训练和推理阶段都是如此。这篇文章解释得很好:
https:///2015/04/20/why-gemm-is-at-the-heart-of-deep-learning/ 
基本上两个关键阶段可以简化为矩阵乘法!
物理和工程学生张量简介

Joseph C. Kolecki,将在课堂精讲中分享

图片
线性代数课程推荐
3Blue1Brown essence of linear algegra
图片
高赞的quora的问题
Gilbert Strang's Linear Algebra course
的线性代数课程是否适合线性代数的绝对初学者?
图片
我知道我这样说是要把我自己置于危险之中,但是,嘿!
我个人认为:这门课程可能适合对线性代数的应用、具体表现感兴趣的学生。这不是我推荐给对数学之美感兴趣的学生的课程,也不是为深入研究数学做准备的课程。事实上,它与我推荐的课程正好相反。
图片
现在,让我再次强调:学习线性代数有许多不同的理由。如果你学习它是因为你认为你想成为一名数据科学家或机器学习或游戏的软件工程师或诸如此类的事情,那么这可能被证明是对你非常有效的课程--尽管我自己仍然会选择以一种非常不同的方式来教你这些东西。
如果你希望成为一名数学家,或者至少看到高等数学是怎么回事,它的抽象能力和思维的纯粹性,以及对证明和想法的强调,那么我相信这绝对不是适合你的课程。
还有一点需要注意的是:吉尔伯特-斯特朗是麻省理工学院的数学教授。我是互联网上的一个家伙。你认为我的意见有多大价值,就把它放在多大的位置上。
我最近在Quora上写道,我爱上了数学,这要感谢我在本科第一学期的实分析和线性代数老师。我所学的线性代数是非常抽象的:
我们在一般的领域里工作(不仅仅是实数或复数),我们强调无基础的方法(线性变换,而不是矩阵),我们学习如何干净利落地证明事物,我们确实做计算作为巩固理论的一种方式,但它从来不是主菜。
斯特朗的课程采取了相反的方法。课程的重点是几乎完全放在矩阵上。计算技术被贯穿强调。一切都在实数或复数之上。
如果我学的是斯特朗的课程,我就不会对数学产生浓厚的兴趣。
我认为,学习线性代数的关键好处之一是接触抽象的数学思维和证明。这些主题在智力上的好处远远超过你在这门课程中希望学到的其他东西。这使得它对一些学生来说是一门具有挑战性的课程,但这恰恰说明了一些重要的事情正在发生:我们正在学习新的东西。当然,这将是困难的。
我会按照我的教学方式来教授线性代数:这里有向量和变换的具体概念,来自物理学(叠加)、几何学和微分方程,现在我们将忘记所有这些,引入向量空间的抽象概念,在标量场的抽象概念之上,以后我们将遇到这些对象之间的箭头:线性变换,简单而自然地定义为结构保持的映射。
是的,有限维矢量空间有基,一旦你任意选择一个基,那么矢量就变成了标量的列,线性变换就对应于矩阵。但是不同的基的选择会给你完全不同的列和完全不同的矩阵。真正具有行列式、迹线和特征值的是线性变换,而不是矩阵。这些都是对象的内在属性,而不是其杂乱无章的、任意的表述。
如果不理解矢量空间和Rn之间的解耦
之间的解耦,以及线性变换和矩阵之间的解耦,就是错过了在我看来是线性代数的主要令人敬畏的课程之一。我不可能用其他方式来教它。
那么,这门课程适合初学者吗?我不知道你是谁,也不知道你希望能学到什么。如果你还没有准备好,那就不合适。
如果你准备好了,并且乐意满足于理论的平凡、具体方面,那就去吧。我不认为这是开始你的数学之旅的合适方式,但你的旅程不需要是我的旅程,也不需要通向更高的数学和证明之类的东西。也许这正是你所需要的。
这绝对不是我所需要的!
矢量相乘的实际意义
皮克斯Pixar动画技术是数学和计算机科学的许多分支的一个了不起的交叉点。
我甚至敢说,'交叉 '并不能很好地说明所涉及的数学的深度和广度;它更像是整个CS研究主题,从软件工程一直到抽象数学的统计和物理学的 '大合作'!
请看以下来自他们最新电影《内幕》的剧照。
图片
什么样的数学藏在后面?
1. 渲染 render
通常使用的比喻是相机指向一个三维场景,相机将它 '看到的 '东西 '渲染 '成一个二维图像。我们需要计算所有从场景中到达相机镜头的光线。
下面的积分描述了 '渲染 '方程,它是一个递归的定义,说明从某一点向某一方向移动的光是它在该方向上发出的光的总量,加上它从宇宙中其他每一点反射的光的减去的部分——矢量的和 
这个精确的定义在实践中是没有用的,因为存在着无限的点和无限的递归,而计算机并不擅长这些,但显然大自然是擅长的--如果你喜欢对这些事情进行哲学思考,那就很好奇了。
相反,我们使用统计技术对渲染方程进行近似。就个人而言,计算机图形学实际上是学习许多统计学概念的一种非常有趣和直观的方式,如MCMC方法、重要性抽样、统计力学和偏差-变异权衡等。
物理学在这里也有涉及。光不是一个标量--它有偏振,我们需要决定用什么基础来表示光(我们是否使用RGB基向量?我们是否允许颜色值大于255?)
大量的计算机科学和工程优化也会涉及到这一点。
2. 模拟 simulated
好了,我们可以画图了,但我们仍然需要知道要画什么。
在上图中,悲伤(角色)正漂浮在一些熔岩上面的枕头垫上。她穿着一件毛茸茸的毛衣,当她说话的时候,她的脸在运动中变形。
对于像熔岩这样具有复杂行为的东西,模拟它可能比让艺术家把它的流体平流行为做成动画更容易。在我们绘制物理现实的图片之前,我们往往需要模拟物理现实本身。
毛衣是由布制成的,它的行为有点像弹簧的阻尼系统,每根毛衣线都是一个弹簧。这必须被模拟出来,以便在悲哀移动时表现得像一件毛衣。
悲伤的头发也是一个“弹簧”系统,从她头部的运动中吸收动能,并受到风的影响。
熔岩会发出光(这也是光传输模拟的内容)。如果熔岩模型是根据第一原理建立的,我们实际上可以用熔岩发出的黑体辐射量来计算光线。
但这可能是不必要的,如果着色师只是提前决定发射的颜色。
图片
请注意,皮克斯Pixar的业务不是制作完美逼真的渲染,而是触动人心和赚钱。有能力在灯光的数量和图像的漂亮程度上挑战极限,可以为艺术家提供更多的创作空间,所以这就是皮克斯在数学/技术方面进行大量投资的原因。
3. 场景表现
正如可汗学院的 'Pixar In a Box '布局部分所提到的,场景几何的表示是通过大量的线性代数完成的。无论是建模人员调整角色面部网格的一些顶点,还是布景师安排一些物品,都需要移动一些东西,或者说 '变换'。这些 '变换 '是用线性代数表示的。
旋转、变换和缩放都很简单,但线性代数也涉及反运动学问题(如动画)和模拟的数值解算器(即为弹簧力学的数值解算寻找大型方程组的解,或在Sadness的脸颊被压扁时保留体积。
不时地,一个物体可能坠落并与其他一些物体相撞。网格的碰撞也必须被模拟。更多的数值方法,如果碰撞的物体是软的,可能需要有限元方法。
4. 阴影Scene Representation
与渲染紧密相连的是阴影,它描述了场景中的每一小块几何体如何对进入的光线做出反应。同样,我们在这里试图模拟现实。
凹凸不平甚至是模糊的表面与平坦的表面有明显的区别,因为它是如何反射光线的。现实中的表面比计算机模型要凹凸不平,而且是异质的在组成上,所以这种几何形状要用阴影来补偿。

图片

有什么好的方法来近似生成各种不同的表面呢?
机器学习、线性回归和其他参数模型在这里发挥了作用,而BSSDF模型是另一个活跃的研究领域。
事实上,只要有足够的数据,机器学习方法实际上可以用来对光场方程本身做回归--也就是说,对光的积分结果做一个 '猜测',甚至不需要做完整的路径追踪。
这些拟合的模型可能是统计分布本身--一个微面模型,可以用来产生针织毛衣或头发或皮肤的闪亮的中观反射行为。
观察下面的图片--它们看起来很模糊,对吗?
图片
令人惊讶的是放大仔细看,这些只是原始的立方体和环状体,没有一缕毛发的几何形状。
这些图片是通过从实际的模糊物体对光的反应的统计分布中取样而形成的阴影,事实证明,再现一个物体的行为的统计数据可以作为一个非常好的底层物体毛皮几何的印象。
我认为这很有深意(来源)
www.cs.drexel.edu/~david/Classes/CS586/Papers/p271-kajiya.pdf
计算机图形学促进了很多有趣的数学组合,你可能在其他地方看不到。
5. 几何学
像抛物线、样条线和分形这样的基本东西在计算机图形学中随处可见,无论是以大规模、参数化的方式绘制简单的曲线几何图形,如草地,还是随时间变化的联合动画的平滑运动曲线。
6. 微分几何学和拓扑学
Keenan Crane在这个领域做了很多非常酷的工作。我自己也不太明白,但它似乎对计算复杂性有很大的改进,并使某些保角的网格操作变得可行(比如把兔子变形为球),而这在以前使用传统的网格表示法是不可能的。
图片
7. 信号处理
所有情绪的头像都是由闪亮的材料制成的 这无疑给图像带来了一些混叠困难,所以必须使用抗混叠方法。抗混叠也是渲染的一个重要部分(见http:///www/articles/filtering/filtering.htm),这就带来了有趣的问题,即混叠对于光传输的蒙特卡洛估计是否有更深的意义。
从艺术的角度来看,空间频率的概念也很重要,因为具有空间频率频谱的作品往往在视觉上更引人注目见
http:///www/articles/multiresaocc/multiresaocc.htm
布景师会在一个场景中穿插大块的内容,然后在更高的细节水平(频率)上逐步细化。这也可以通过程序来完成,即多个八度空间频率被组合在一起,产生像头发、灌木等现象的 '印象'。
总结资源
总而言之,计算机图形学跨越了很多数学,因为图形学的圣杯是模拟所有的物理现实(光、流体、碰撞),尽可能快地模拟CS算法和数据结构。
Pixar-in-a-Box课程是一个很好的开始,可以了解计算机图形如何在更常见的操作中发挥直接作用。对于更高级的数学概念,在年度SIGGRAPH会议GRAPHics和互动技术特别兴趣小组和其他图形会议上发表的论文列表主页:
http://kesen./
这些真的扩大了数学的兔子洞。每年的主题都会有所不同,但研究领域包括微分几何、优化、数值方法。迪斯尼研究也做了一些很酷的工作:纸质发电机从触摸、摩擦和滑动中获取能量,而这也仅仅是CG的数学方面和与皮克斯有关的工作。还有很多计算机科学和用户交互的研究 (215.5K views)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多