百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

最强大的数学和物理工具——张量,复杂的数学结构和高度的抽象性

yuyutoo 2025-02-06 16:56 1 浏览 0 评论

在工程学和物理学领域,许多复杂系统的动态特性,即其动力学,可以通过向量和张量的数学语言来精确和优雅地表达。向量在这里用来描述具有明确大小和方向的物理量,比如速度和力,它们在数学上表示为一维数组,每个元素对应一个维度或方向。张量则是向量的高维扩展,它们是更复杂的数学对象,能够表示多维空间中的关系,例如应力、应变或惯性等。

  • 使用张量表示的爱因斯坦场方程

在讲述向量时,这里的指代不是指具有明确方向和大小的传统几何向量,而是指更广义的数学上的向量概念。数学中的向量是一个元素序列或数组,这些元素可能是数字、符号,或者更复杂的结构,并不一定与物理空间中的方向和大小有直接联系。文章从这种广义的向量出发,进一步探索张量的概念,张量是一种更高维度的数学对象,能表达多维空间中的复杂关系。然而,为了使概念更易于理解,这种讨论可能会简化一些数学上的复杂性和严谨性。

什么是向量?

向量是一个集合中的元素。这个集合称为向量空间(Vector space。为了使一个集合有资格成为向量空间,它需要满足某些条件。简单说,一个向量空间V在一个标量域F上是一个集合,对这个集合定义了加法和标量乘法运算,具有以下属性:

  • 元素加法是可交换的和可结合的。
  • 存在加法的单位元素0。
  • 存在加法逆元。
  • 标量乘法是可加的、可分配的和可结合的。

基集

基集是向量空间中的一组特殊向量,它们的特点在于向量空间中的任何向量都可以通过这些基向量的线性组合来表示。这种线性组合是通过将每个基向量乘以一个标量(数字)然后将它们相加来实现的。在向量空间V中的每个向量都可以唯一地表示为这些基向量的和。值得注意的是,对于同一个向量空间,可以有多种不同的基集,每种基集都能以唯一的方式表示空间中的所有向量,尽管具体的基向量可能不同。

  • 集合{e_k}是基集。

注意标量倍数是上标,而基是下标。这是物理学中的标准记号。在爱因斯坦求和约定中,我们省略求和符号:

在数学表达式中,如果一个索引(比如一个字母)同时作为上标和下标出现,这表示对该索引进行求和运算,涵盖了该索引的所有可能值。这种索引被称为哑指数。假设我们有一个三维向量空间,并选择了一个基集,包括三个基向量 e_1, e_2, 和 e_3。现在,我们有一个向量 v 在这个空间中,它可以用这个基集来表示。

向量 v 的分量可以用 v1, v2, v3 来表示,这些分量是与基向量 e_1, e_2, 和 e_3相对应的标量倍数。

现在,让我们用这些分量来表达向量 v。在不使用爱因斯坦求和约定的情况下,向量 v 的表示为:

这里,v1, v2, 和 v3 是向量 v 在基向量 e_1, e_2, 和 e_3 方向上的分量。

但是,如果我们应用爱因斯坦求和约定,我们不需要显式地写出求和符号。我们只需写出每个分量和对应基向量的乘积,并默认所有具有重复索引的项都会被求和。这样,向量 v 的表示就变成了:

在这个表达式中,i 是一个哑指数,它在这个表达式中重复出现了(一次作为上标,一次作为下标)。根据爱因斯坦求和约定,这意味着我们将对 i 的所有可能值进行求和,即 i = 1, 2, 3。因此,这个表达式隐含了上面提到的完整求和过程,即:

通常将向量分量表示为列。

向量空间的维度

向量空间的维度是所需的基向量的最少数量。

向量空间之间的映射

在两个向量空间U和V之间,存在一种映射M,它定义了一种特定的方式,将U空间中的每一个向量转换为V空间中的一个对应向量。这个过程意味着映射M接受U空间中的向量作为输入,并根据某种规则,产生V空间中的一个对应向量作为输出。这种映射是系统性的,确保U空间中的每个向量都能找到一个与之对应的V空间中的向量。

假设 U 是一个二维向量空间,其中的向量可以表示为 (u1, u2) 的形式,其中 u1 和 u2 是实数。V 是一个三维向量空间,其中的向量表示为 (v1, v2, v3)。

现在,我们定义一个映射 M,它将 U 空间中的每个向量转换为 V 空间中的一个向量。例如,我们可以定义映射 M 如下:

这意味着,对于 U 空间中的任何向量 (u1, u2),映射 M 会产生 V 空间中的向量 (2u1, u1 + u2, 3u2)。

线性映射是一种也遵守以下性质的映射:


在定义线性映射时,需要确保两个向量空间 U 和 V 都基于同一个数学结构,即同一个域F,这样在这两个空间中的运算才能保持一致性。这个域F可以是实数集或复数集等,提供了加法、减法、乘法和除法运算的基础。

线性映射之所以有用,是因为它保持了向量的加法和标量乘法结构不变。这意味着,只需知道向量空间的基向量在映射下的结果,就可以确定任何向量在该映射下的结果。这是因为向量空间中的任何向量都可以表示为基向量的线性组合,因此,一旦基向量的映射结果已知,就可以通过相应的线性组合计算出任何向量的映射结果。

由于每个域F也是一个向量空间,我们可以定义将向量空间V映射到域F的向量空间F的映射。正式地:

所有这些线性映射的集合被称为对偶空间(Dual Space,通常表示为。

对偶空间自然是一个向量空间,因为可以定义加法和标量乘法运算:

因此,对偶空间的元素通常被称为协向量(covector或对偶向量。

对偶空间有时也被称为代数对偶空间。

由于线性映射完全由其在基向量上的作用决定,对偶向量空间将具有与V相同的维度。也就是说,每个协向量都可以表示为:

对于协向量,请注意标量倍数是下标,而基是上标,与向量的常规相反这种索引运算将使处理向量空间和尚未定义的张量变得容易。协向量通常用行矩阵的分量表示。

常见的符号

在进一步进行之前,我们需要改进我们的符号。我们通常不使用 () 来表示协向量对向量的作用。相反,我们通常使用:

这是量子力学中常用的狄拉克符号(Dirac notation),也称为“量子力学的概率符号”,用于描述量子态和量子力学运算。这种符号非常紧凑且表达能力强,适用于处理复杂的量子系统。

向量也是映射

我们知道:

如果我们取整个向量空间V,并保持协向量不变,输出是由F中元素组成的子集。

相反,如果我们取整个对偶向量空间V*,并保持向量不变,输出再次是由F中元素组成的子集。

本质上,协向量将V映射到F

而向量可以理解为从V*到F的映射

如果向量空间的维数是有限的,对偶空间的对偶就是原始向量空间。

如何为对偶空间选择基?

如前所述,我们可以为向量空间选择任何基。但对偶空间V*不是任何向量空间,而是与定义良好的向量空间V紧密相关的东西。因此,为了使计算更容易,选择基时应该:

需要强调的是,基向量e?和对偶空间中的基向量e?虽然在记号上相似,但它们之间并没有直接的对应关系。将e?和e?视为彼此的对偶是不准确的。使用这种记号,计算起来相当简单:

什么是张量?

总结到目前为止的学习,

  • 协向量将V映射到F
  • 向量将V*映射到F

那么做这样的映射呢?

其中x表示集合的笛卡尔积。 或者更好:

这种在每个输入中都是线性的(多线性)映射被称为张量。

张量是一种数学对象,它被定义为在每个输入上都保持线性的多线性映射。这意味着如果一个映射接收多个输入,它会对每一个输入独立地保持加法和标量乘法的线性。张量能够处理多个向量作为输入,并且对每个输入向量都执行线性运算,使其成为描述多维空间中复杂数据和关系的有力工具。

  • 多线性

它按照一定顺序接收一堆向量和协向量,并产生F中的一个元素。即:

张量积

通过称为张量积的运算,可以从单个向量和协向量构造张量。例如:

圆圈中的 x 表示张量积。上述示例张量需要按顺序(协向量,向量)输入。

张量如何对参数运算?

为了得到结果,考虑使用向量和协向量构造的张量:

为了计算其对某个输入的输出,我们可以分别乘以输出。

同时,

然后,

总共有 N x N 项在求和中。 从上述计算中也很明显:

因此,张量 T 由 N x N 项特征化。通常的惯例是用矩阵表示需要2个输入的张量的分量。

一般来说,一个张量将有 N? 个分量来表征它,其中 r 是输入的数量。

还应该强调,并非所有张量都可以通过组合向量和协向量来构造。

有一个常见的误解认为矩阵是二阶张量。矩阵只是表示在固定基集后二阶张量的标量倍数的一种方式。实际上,适当域上 M X N 维矩阵的集合形成一个向量空间。

通常,在表示张量时我们会省略基向量和求和符号:

通过观察指数的位置,很明显张量运算的对象类型以及运算的顺序。复杂的张量通常会有更多的指数,如:

具有相同形式的张量属于一个称为张量积空间(TSP)的集合。TSP 本身是向量空间,其中通过它们对输入的作用来定义加法,类似于对偶空间定义加法的方式。

张量的秩

如果张量的形式是:

即,它接受 P 个协向量和 Q 个向量作为输入,那么它被称为秩为 (P, Q) 的张量。张量的阶只是 P+Q。

由于向量接受 (1 个协向量,0 个向量) 的输入,因此向量是秩为 (1,0) 的张量。 同样,协向量接受 (0 个协向量,1 个向量) 的输入。所以协向量是秩为 (0,1) 的张量。 此外,域F 的元素不需要任何 (#协向量,#向量) 的输入就可以生成域F的元素。在这个意义上,标量是一个秩为 (0,0) 的张量。

降低张量的秩

考虑一个秩为 (5,3) 的张量。如果我们给它4个协向量和1个向量,那么它就在等待获取 1 个协向量和2个向量。 由于秩为(1,2)的张量接受1个协向量和2个向量,上述运算生成了一个秩为 (1,2) 的张量。

因此,我们可以通过给它一些(协向量,向量)来生成一个秩较低的新张量。

相关推荐

微软Win10/Win11版Copilot上线:支持OpenAI o3推理模型

IT之家4月3日消息,科技媒体WindowsLatest昨日(4月2日)发布博文,报道称Windows10、Windows11新版Copilot应用已摘掉Beta帽...

WinForm 双屏幕应用开发:原理、实现与优化

在当今的软件开发领域,多屏幕显示技术的应用越来越广泛。对于WinForm应用程序来说,能够支持双屏幕显示不仅可以提升用户体验,还能满足一些特定场景下的业务需求,比如在演示、监控或者多任务处理等场景...

推荐一个使用 C# 开发的 Windows10 磁贴美化小工具

...

OpenJDK 8 安装(openjdk 8 windows)

通常OpenJDK8和11都能互相编译和通用。我们建议使用11,但是如果你使用JDK8的话也是没有问题的。建议配置使用OpenJDK,不建议使用OracleJDK,主要是因为版...

基于 Linux 快速部署 OpenConnect VPN 服务(ocserv 实战指南)

一、前言在如今远程办公和内网穿透需求日益增长的背景下,搭建一套安全、稳定、高效的VPN系统显得尤为重要。OpenConnectServer(ocserv)是一个开源、高性能的VPN服务端软件...

巧妙设置让Edge浏览器更好用(edge怎么设置好用)

虽然现在新版本的Edge浏览器已经推出,但是毕竟还处于测试的状态中。而Win10系统里面自带的老版Edge浏览器,却越来越不被人重视。其实我们只需要根据实际情况对老版本的Edge浏览器进行一些简单的设...

WPF做一个漂亮的登录界面(wpf页面设计)

...

微软开源博客工具Open Live Writer更新:多项Bug修复

OpenLiveWriter前身是WindowsLiveWriter,是微软WindowsLive系列软件之一,曾经是博主们非常喜爱的一款所见即所得博文编辑工具,支持离线保存,还支持图像编辑...

基于OpenVINO的在线设计和虚拟试穿 | OPENAIGC大赛企业组优秀作品

在第二届拯救者杯OPENAIGC开发者大赛中,涌现出一批技术突出、创意卓越的作品。为了让这些优秀项目被更多人看到,我们特意开设了优秀作品报道专栏,旨在展示其独特之处和开发者的精彩故事。...

C#开源免费的Windows右键菜单管理工具

...

Windows10或11中隐藏的功能,用它再也不用担心电脑中病毒!

...

Python open函数详解(python open函数源码)

演示环境,操作系统:Win1021H2(64bit);Python解释器:3.8.10。open是Python的一个内置函数,一般用于本地文件的读写操作。用法如下。my_file=open(fi...

Windows 11 安装 Docker Desktop(Windows 11 安装助手 Windows 易升 关系)

...

Windows 11 新版发布:屏幕亮度自适应控制,小组件界面重新设计!

...

世界上最好用的Linux发行版之一,OpenSUSE安装及简单体验

背景之前无意在论坛里看到openSUSE的Linux发行版,被称为世界上最好用的Linux发行版之一(阔怕),一直想体验一下,于是这期做一个安装和简单体验教程吧。...

取消回复欢迎 发表评论: