张量前传 - 通过向量的并矢积认识张量

机器学习与数学

共 3042字,需浏览 7分钟

 ·

2021-08-25 03:44

向量分析早期提出者 J.W. Gibbs(1839-1903

跟其他很多概念类似,在正式定义出来之前,张量也有较初始的类似概念,比如 dyadic product

这个术语最早由美国物理数学家吉布斯(Gibbs)于 1884 年提出,它相对比较过时了,但你如果学习物理,那么在连续介质力学、电磁学以及量子力学等相关的书籍中还是能看到它。不过,它对理解张量这个概念来说或许有些帮助。

这个术语怎么翻译呢?物理书一般叫并矢积。照字面意思的话可以理解成二元乘积、双积之类的。这里的二元不是指别的量,而是指两个向量。因此,dyadic product 就是指两个向量相乘。那结果仍然是向量吗?这可不一定,在向量的世界里,我们学过很多积,例如点积或数量积dot product,scalar product,叉积cross product等。

我们知道,两个向量的点积出来一个数,两个向量的叉积出来一个向量。这么看叉积貌似是一种向量间的乘积,因为它出来的结果仍然是同维度的向量。但遗憾的是,叉积不满足交换律以及结合律,这使得它与常规意义上的实数乘积在性质上还是有所区别。

两个向量经过某些乘积后,可以得到数量和向量,那还能不能得到别的量呢?比如出来一个矩阵,变成更多数了。

对,并矢积就是这样子,两个同维向量,一运算出来了一个方阵。

另外,不知道大家有没有想到,书上貌似没有定义向量的除法。不过有个跟除法比较接近的算子,那就是某个 阶张量!好,让我们就来看看怎么回事。

并矢积

首先,我们想一下通常意义上的乘积有哪些性质比较重要呢?就是在定义向量间某种乘积时需要保持的性质,如线性和分配律,即

其中 为任意实数。以上三条也可以简化为两条乘积性质

这就是   的左右两个位子而言的双线性嘛。

注意,符号 是后人引入的,当初吉布斯那会儿没有用这个符号,直接将两个向(矢)量并列放一起作乘积,这应该是将 dyad 翻译成并矢的缘由吧。

对于张量这个符号还有点恐惧的童鞋,我们不妨省略它,这也更接近当初的样子,即

两个同维的向量放一起,一经运算,出来一个方阵。联想一下,这不就是将两点 放一起构成一个直线段 吗?点点相乘得线段。向量和向量相乘得矩阵。似乎体验到一点格拉斯曼所谓的扩张味道,这个故事后面再讲。

我们用 表示向量空间的基,然后使用上面的乘积性质,不难发现,二元积可以表示为

+举个栗子

为了加深印象,我们来看一个三维向量空间的例子。

我们就取三维欧氏空间的自然基(标准基),那么三个基向量 分别为

两个向量分别记为,

根据定义,它俩的并失积为,

上面是 9 个并失积的线性组合,而由线性空间的三个基向量 构成的 个并失积分别为,

的的确确是 个秩 矩阵吧。但是,等一下,再回看一下两个向量的并矢,

也可以换个形式写,

其中倒数第二个等号写成矩阵乘积的形式,第一个矩阵是列矩阵,第二个矩阵是行矩阵。这种运算现在往往称为外积outer product,也是克罗内克积Kronecker product的特殊版本。

这里要注意的是,上式中只有 个变量(自由度),而前面列出基向量却有 个之多。这说明并矢积并没有充分表示这个空间。

+由并矢积到张量

其实可以将上面 个秩 矩阵看成一组基,由此定义了一个线性空间,里面的每个元素是由这组基线性表出,

这就定义了一个 阶张量,每个基向量 前的系数 就是张量的分量,因此共有 个数。

换句话说,用张量完全包含了并矢积,因此后者就慢慢退出历史舞台了。但却可以作为一个例子来体验 阶张量。

按照当初吉布斯的意思,两个向量的并列乘积 就是一个所谓的 dyad,而多个 dyad 的和 就构成一个所谓的 dyadic。

一个所谓的 dyadic 就对应一个 阶张量。吉布斯那会儿称为 indeterminante product,这样命名的原因是他认为这个乘积是两个向量乘积的最一般形式,只需满足作为积(product)的基本性质,即所谓的双线性即可。

上面的定义很容易推广到高维,即 维线性空间张成的 阶张量,记为,

+可能的疑问

如果小明同学没有旷课,可能会问为什么不把它写成 9 个元素的向量呢,而是显摆成矩阵呢?

这就涉及到在线性空间的基变换下这 个元素的变化规律了。

在数学中,张量这一概念可以说是意大利数学家 Ricci(黎曼得肺结核之后去意大利养病)在 19 世纪末在黎曼几何的早期研究中提出来的,其考虑张量的目的是在建立黎曼几何时为几何性质和物理规律的表达寻求一种在坐标变换下保持不变的形式,张量是如同向量的分量那样的一个数组,并要求它们在坐标变换下服从某种线性变换的规律。

张量怎么作用向量

这组数具体的变换规律我们先不看,接下来看看这个 阶张量怎么干活。

所谓 阶张量,就是吃两个向量,得到一个数字,并且是双线性,并且张量对应的数组还得满足一定的变换规律。

下面我们来看看上面的并矢积,它作为一个 阶张量是如何运算的。这里没有引进对偶向量,因此我们暂时只让张量吃向量。

先看吃一个向量,注意下式中后面两个向量先运算,

看到没有,吃进一个向量,吐回来一个向量,这就对应一个线性变换。对了,也就是矩阵干的事情。

这个 dyad 作为一个 2 阶张量,如果左右各吃一个向量,会怎么样呢?

张量形式上是一堆数,但毕竟它是要和其他数联合搞事情的。dyad 是一个特殊的 2 阶张量,它是像上面那样与两个向量结合的,最终呈现出来是一个双线性函数。

那么更一般的 2 阶张量呢,是什么样子的呢?首先,它是双线性函数,输入两个向量,输出一个数,这点仍然一样。

之所以不把它看成 9 个元素构成的向量,而是看成 的矩阵,原因之一就是我们可以把它与向量之间的运算看成 矩阵与具有 3 个元素的向量之间的矩阵乘法。

上面这个 阶张量,在运算中当作一个矩阵,与两个向量运算,最终得到一个数。而两个向量中一个站立一个躺平,那么它们会不会分别就是前几篇中讲的上进向量和躺平向量呢?

其实不然,这里用矩阵乘法来表示张量及其与向量的运算只是形式而已,仅仅是为了套用矩阵乘法。而向量是上进还是躺平,还是要看其身份的。就上面的例子而言,它们都是上进向量,因为这里我们并没有用到对偶基啊。

另外,上面 4 个向量的坐标都是相对标准基底而言的。如果不是其他基底(例如笛卡尔斜坐标系,式子就没这么干净了,还得加入度量矩阵。

本篇就到此了,下次再看张量的坐标数组如何变换。


相关阅读


什么是张量?你躺平一下就知道了

张量之对偶空间,对偶到底是个啥?

矩阵和线性代数原来是这么来的

矩阵特征值的故事 - 缘起琴弦

二次型和矩阵合同原来是这么一回事

矩阵特征值是这么来的,以及有趣的盖尔圆

万能的 SVD 分解是哪位牛人提出来的?

度量、范数和内积原来是这么个关系

线性映射: 从凯莱引入矩阵乘法说起

矩阵之芯 SVD: 奇异值分解及其几何解释

矩阵之芯 SVD: 基本应用以及与其他分解的关系

矩阵之芯 SVD: 从奇异值分解看四个基本子空间

矩阵之芯 SVD: 从奇异值分解 SVD 看 PCA 



浏览 200
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报