--张量积--

本文探讨了张量积和笛卡尔积的概念,通过数学语言解释了它们在实数域上的线性空间中的表现形式,并以苹果的价格为例,生动地阐述了张量积在实际生活中的应用。
部署运行你感兴趣的模型镜像

笛卡尔积

V V V 是一个域(这里我们取实数域 R R R)上的m维线性空间. 在 V V V中选基矢 ( e 1 , ⋯   , e m ) (e_{1}, \cdots, e_{m}) (e1,,em), V V V中元素 a ∈ V a \in V aV :
a = ∑ i = 1 m a i e i a = \sum_{i=1}^{m} a^{i}e_{i} a=i=1maiei
其中 a 1 , ⋯   , a m a^{1}, \cdots, a^{m} a1,,am均为实数. 对于给定的一组基矢, a a a 可用 ( a 1 , ⋯   , a m ) (a^{1}, \cdots, a^{m}) (a1,,am)表示.

实数域上n维线性空间 W W W选基矢 ( f 1 , ⋯   , f n ) (f_{1}, \cdots, f_{n}) (f1,,fn), W W W中元素 b b b:
b = ∑ i = 1 n b i f i b = \sum_{i=1}^{n} b^{i}f_{i} b=i=1nbifi
b b b可表示为 ( b 1 , ⋯   , b n ) (b^{1}, \cdots, b^{n}) (b1,,bn), 其中 b 1 , ⋯   , b m b^{1}, \cdots, b^{m} b1,,bm均为实数.

V × W V \times W V×W是线性空间 V V V和线性空间 W W W的笛卡尔积. V × W V \times W V×W中元素是一个有序对 ( a , b ) (a,b) (a,b), 它的基矢可为 ( e 1 , ⋯   , e m , f 1 , ⋯   , f n ) (e_{1}, \cdots, e_{m},f_{1}, \cdots, f_{n}) (e1,,em,f1,,fn). ( a , b ) (a,b) (a,b)可由 m+n 个实数确定:
( a , b ) = ( a 1 , ⋯   , a m , b 1 , ⋯   , b n ) (a,b) = (a^{1}, \cdots, a^{m}, b^{1}, \cdots, b^{n}) (a,b)=(a1,,am,b1,,bn)

所以 V × W V \times W V×W是 m+n 维空间

张量积

V ∗ = H o m ( V , R ) V^{*} = Hom(V,R) V=Hom(V,R)
V V V R R R的同态映射(保持线性空间结构的映射)的集合, 称为 V V V 的对偶空间. 它是m维线性空间 V V V上实线性函数的集合,也是在实数域 R R R上的m维线性空间.

V V V 的对偶空间 V ∗ V^{*} V中 选出一组函数 ( ϱ 1 , ⋯   , ϱ m ) ( \varrho^{1}, \cdots, \varrho^{m}) (ϱ1,,ϱm), 令
ϱ i ( e j ) = δ j i = { 1 ,   i = j 0 , i ≠ j \varrho^{i}(e_{j}) = \delta^{i}_{j} = \Big \{ \begin{array}{c} 1, ~i = j\\ 0, i \neq j\\ \end{array} ϱi(ej)=δji={1, i=j0,i=j
ϱ i ( a ) = ϱ i ( a j e j ) = a j ( ϱ i ( e j ) ) = a j δ j i = a i \varrho^{i}(a) = \varrho^{i}(a^{j} e_{j}) = a^{j} (\varrho^{i}(e_{j})) = a^{j} \delta^{i}_{j} = a^{i} ϱi(a)=ϱi(ajej)=aj(ϱi(ej))=ajδji=ai

设有 f ∈ V ∗ f \in V^{*} fV, 则
f ( a ) = f ( a i e i ) = a i f ( e i ) = ϱ i ( a ) f ( e i ) f(a) = f(a^{i} e_{i}) = a^{i} f(e_{i}) = \varrho^{i}(a) f(e_{i}) f(a)=f(aiei)=aif(ei)=ϱi(a)f(ei)
其中 f ( e i ) f(e_{i}) f(ei) 是一依赖于 f f f的实数,令实数 f i = f ( e i ) f_{i} = f(e_{i}) fi=f(ei), 则
f ( a ) = f i ϱ i ( a ) = f 1 ϱ 1 ( a ) + ⋯ + f m ϱ m ( a ) f(a) = f_{i}\varrho^{i}(a) = f_{1}\varrho^{1}(a) + \cdots + f_{m}\varrho^{m}(a) f(a)=fiϱi(a)=f1ϱ1(a)++fmϱm(a)
说明 f f f可以表示成 ( ϱ 1 , ⋯   , ϱ m ) ( \varrho^{1}, \cdots, \varrho^{m}) (ϱ1,,ϱm)的线性组合。
线性函数空间 V ∗ V^{*} V中的零函数记为0. 设有一组实数 ( c 1 , ⋯   , c m ) ( c_{1}, \cdots, c_{m}) (c1,,cm)使
c 1 ϱ 1 + ⋯ + c m ϱ m = 0 c_{1}\varrho^{1} + \cdots + c_{m}\varrho^{m} = 0 c1ϱ1++cmϱm=0
将上式两边同时作用于 e i e_{i} ei, 可得 c i = 0 c_{i} = 0 ci=0. 说明 ( ϱ 1 , ⋯   , ϱ m ) ( \varrho^{1}, \cdots, \varrho^{m}) (ϱ1,,ϱm)线性无关.

综述所述, ( ϱ 1 , ⋯   , ϱ m ) ( \varrho^{1}, \cdots, \varrho^{m}) (ϱ1,,ϱm) 是空间 V ∗ V^{*} V的一组基函数。

同理,
W ∗ = H o m ( W , R ) W^{*} = Hom(W,R) W=Hom(W,R)
是n维线性空间 W W W上实线性函数的集合,称为 W W W 的对偶空间. 它是在实数域 R R R上的n维线性空间.

W W W 的对偶空间 W ∗ W^{*} W中 选相应的对偶基矢 ( σ 1 , ⋯   , σ n ) ( \sigma^{1}, \cdots, \sigma^{n}) (σ1,,σn),
σ j ( b ) = σ j ( b k f k ) = b k δ k j = b j \sigma^{j}(b) = \sigma^{j}(b^{k} f_{k}) = b^{k} \delta^{j}_{k} = b^{j} σj(b)=σj(bkfk)=bkδkj=bj

V × W V \times W V×W 上双线性函数集合 H o m ( V × W , R ) Hom(V \times W, R) Hom(V×W,R) 称为 V ∗ V^{*} V W ∗ W^{*} W的张量积空间, 记为:
V ∗ ⊗ W ∗ = H o m ( V × W , R ) V^{*} \otimes W^{*} = Hom(V \times W, R) VW=Hom(V×W,R)

它也是实数域 R R R上线性空间,它的空间维数是 m × n m \times n m×n . 这是与笛卡尔积的一个重要区别.

张量积空间的维度为什么是 m × n m \times n m×n

两个线性空间 V V V W W W的笛卡尔积 V × W V \times W V×W是线性空间,其元素表示为:
( a , b ) ∈ V × W ,   a ∈ V , b ∈ W (a,b) \in V\times W, ~ a\in V, b\in W (a,b)V×W, aV,bW

取一个双线性函数 h ∈ V ∗ ⊗ W ∗ h \in V^{*} \otimes W^{*} hVW 作用于 V × W V \times W V×W空间中一个元素 (a,b)

< h ; ( a , b ) > = < h ; ( ∑ i m a i e i , ∑ j n b j f j ) > = ∑ i m ∑ j n a i b j < h ; ( e i , f j ) > = ∑ i m ∑ j n a i b j h i , j <h; (a,b)> = <h; (\sum^{m}_{i} a^{i} e_{i},\sum^{n}_{j} b^{j}f_{j})> = \sum^{m}_{i} \sum^{n}_{j} a^{i} b^{j}<h; (e_{i}, f_{j})> = \sum^{m}_{i} \sum^{n}_{j} a^{i} b^{j} h_{i,j} <h;(a,b)>=<h;(imaiei,jnbjfj)>=imjnaibj<h;(ei,fj)>=imjnaibjhi,j

h h h可以表示为
h = ∑ i m ∑ j n h i , j ϱ i ⊗ σ j h = \sum^{m}_{i} \sum^{n}_{j} h_{i,j} \varrho^{i} \otimes \sigma^{j} h=imjnhi,jϱiσj

h h h m × n m \times n m×n 个实数 { h i , j , i = 1 , ⋯   , m ; j = 1. ⋯ n } \{ h_{i,j}, i = 1, \cdots, m; j = 1. \cdots n \} {hi,j,i=1,,m;j=1.n}确定. ϱ i ⊗ σ j , i = 1 , ⋯   , m ; j = 1. ⋯ n \varrho^{i} \otimes \sigma^{j}, i = 1, \cdots, m; j = 1. \cdots n ϱiσj,i=1,,m;j=1.n 组成线性空间 V ∗ ⊗ W ∗ V^{*} \otimes W^{*} VW的一组基. 因此, V ∗ ⊗ W ∗ V^{*} \otimes W^{*} VW m × n m \times n m×n 维线性空间.

一个接地气的例子

张量,张量积,笛卡尔积不仅仅是抽象的数学概念,它们的出现和应用都有具体的物理背景。张量最初见于弹性力学研究中。为了描述弹性体中微元的几何变形和力学状态,出现了应变张量和应力张量等概念。基于这些力学概念以及它们之间的运算规则,进一步抽象出张量等概念。

我们在使用数学分析工具研究现实世界时,通常要将现实世界中的物理量和几何量放置在坐标系中。物理量和几何量坐标值的变化反映了它们在现实世界中的运动与演化. 但是坐标系的改变也会产生坐标值的变化。引入张量的目的就是隔离出坐标系引起的变化。张量描述的不仅仅是不同量之间的多重线性关系,它反映的是现实物质世界中物体在不同的度量空间之间变换背后不变的物理意义。 这些概念的应用范围不仅局限于数学, 力学等科学研究领域,在我们的日常生活中,也可以看到它们的身影。为了便于理解,举一个接地气(简单,正确,但不一定精准)的例子。

我们以一堆苹果为研究对象。我们一方面可以度量它的质量,例如,1公斤,2市斤等; 另一方面可以度量它的价值,如7元人民币,1美元等. 我们进而考察苹果的价格,就是在质量(1维坐标系)和价值(1维坐标系)组成的2维坐标系统(笛卡尔积:1 + 1 = 2 )中研究苹果的价格( 张量积: 1*1 = 1).

例如在甲地某商场里的苹果价格是 7 元(人民币)/公斤. 如果我们将价格中的货币单位改为美元. 假设7元人民币兑换1美元(线性变换), 则苹果价格会变为 1 美元/公斤. 价格坐标系变换引起价格度量值的变化,但它们所代表的物理意义(也就是苹果价格)没有变, 也就是:
7 元(人民币)/公斤 = 1 (美元)/公斤 ~~~ 7 元(人民币) = 1 (美元) (协变, 线性关系)

同理有:
7 元(人民币)/公斤 = 3.5 元(人民币)/市斤 ~~~ 1 公斤 = 2 市斤 (逆变, 线性关系)

两者组合起来,就是所谓的多重线性。

如果以苹果的价值为线性空间 V = V= V={1元(人民币),2元(人民币), ⋯ \cdots }, 它的基是 1元(人民币)。 如果以苹果的质量为线性空间 W = W= W={1公斤,2公斤, ⋯ \cdots }, 它的基是 1公斤。由于
1 1 K g ⋅ 5 K g = 1 1 K g ( 5 K g ) = 5 \frac{1}{1Kg}\cdot 5Kg = \frac{1}{1Kg}( 5Kg ) = 5 1Kg15Kg=1Kg1(5Kg)=5
1 1 K g ( ) \frac{1}{1Kg}() 1Kg1() 可以看作是线性空间 W W W的对偶空间 W ∗ W^{*} W的基函数。 苹果价格 ∈ V ⊗ W ∗ \in V \otimes W^{*} VW. 因此价格是一个 1 , 1 _{1}^{,1} 1,1型张量,由于质量和价值的维度均为1,则它的基只有 1 ∗ 1 = 1 1*1 = 1 11=1个,即 1元(人民币)/1公斤
苹果价格 = ∑ i 1 ∑ j 1 h i , j ϱ i ⊗ σ j = 7 ( 1 元 ( 人民币 ) ) ⊗ 1 1 公斤 = 7 ( 1 元 ( 人民币 ) ) 1 1 公斤 苹果价格 = \sum^{1}_{i} \sum^{1}_{j} h_{i,j} \varrho_{i} \otimes \sigma^{j} =7 (1元(人民币)) \otimes \frac{1}{1公斤} =7 (1元(人民币)) \frac{1}{1公斤} 苹果价格=i1j1hi,jϱiσj=7(1(人民币))1公斤1=7(1(人民币))1公斤1

参考文献

[1] 候伯元, 候伯宇. 物理学家用微分几何. 科学出版社.

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

### 关于张量积的实现 #### Numpy中的张量积 在NumPy中,可以通过`np.tensordot`函数来计算两个多维数组之间的张量积。该函数允许指定沿哪些轴进行操作,从而灵活地控制结果维度和形状。 以下是使用`np.tensordot`的一个简单例子: ```python import numpy as np a = np.array([[1, 2], [3, 4]]) b = np.array([[5, 6], [7, 8]]) result = np.tensordot(a, b, axes=([1], [0])) print(result) ``` 上述代码表示沿着第一个数组的最后一维(axis=1)与第二个数组的第一维(axis=0)相乘并求和[^1]。 --- #### PyTorch中的张量积 在PyTorch中,可以使用`torch.matmul`或者`@`运算符来进行矩阵乘法或更高阶张量间的批量矩阵乘法。对于更复杂的张量积需求,则可借助`torch.einsum`完成任意维度下的张量收缩操作。 下面展示了一个简单的张量积示例: ```python import torch tensor_a = torch.tensor([[1., 2.], [3., 4.]]) tensor_b = torch.tensor([[5., 6.], [7., 8.]]) # 使用 matmul 进行矩阵乘法 matmul_result = torch.matmul(tensor_a, tensor_b) # 或者使用 @ 符号 (等价于 matmul) at_result = tensor_a @ tensor_b print(matmul_result) print(at_result) ``` 如果需要执行更加自定义化的张量积,比如涉及多个维度的操作,推荐使用`einsum`方法。例如: ```python # 假设我们有两个三维张量 X 和 Y X = torch.randn(2, 3, 4) Y = torch.randn(2, 4, 5) # einsum 的字符串描述了输入张量以及输出张量的关系 z = torch.einsum('ijk,ikl->ijl', X, Y) print(z.shape) # 输出应为 (2, 3, 5),这是预期的结果尺寸 ``` 这里,“ijk”代表第一个张量的三个索引位置;“ikl”对应另一个张量的位置关系。“->ijl”则指定了最终输出的形式[^2]。 --- #### 自动广播机制的应用 当处理不同大小但兼容的张量时,无论是NumPy还是PyTorch都支持自动广播功能。这意味着即使两者的形状不完全一致,在满足一定条件下仍能顺利完成加减乘除等基本算术运算[^4]。 例如给定一个二维张量加上一维向量的情况如下所示: ```python A = torch.tensor([[1., 2.], [3., 4.]]) # 形状为 (2, 2) B = torch.tensor([5., 6.]) # 形状为 (2,) C = A + B # 结果形状同样保持为 (2, 2) print(C) ``` 此过程实际上相当于将 `B` 扩展成 `(2, 2)` 后再逐元素相加。 --- ### 总结 通过以上介绍可以看出,无论是在 NumPy 中采用 `tensordot`, 还是在 PyTorch 下运用 `matmul`, '@' 或者更为强大的 `einsum` 函数都可以方便快捷地达成所需的各种类型的张量积运算目标[^3]。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值