张量及张量积的概念
标签(空格分隔): 数学基础知识
今日阅读论文《Observer-Based Event-Triggered Consensus Control of Two-Layer Networks with Switching Topologies》,见运算符( ⊗ \otimes ⊗),只觉眼熟,一知半解,遂查阅。
###协变与反变
从线性空间
V
\mathbf{V}
V 和其对偶空间
V
∗
\mathbf{V}^{*}
V∗谈起, 首先介绍张量理论中协变与反变理论。
定义线性空间上的线性函数。设 V V V 是一个线性空间,映射 f : V → R f: V \rightarrow \mathbb{R} f:V→R, 满足
- f ( x + y ) = f ( x ) + f ( y ) ; f(x+y)=f(x)+f(y) ; f(x+y)=f(x)+f(y);
-
f
(
k
x
)
=
k
f
(
x
)
f(k x)=k f(x)
f(kx)=kf(x).
则称 f f f 是 V V V 上的一个线性函数。
进一步地,将 V V V 上的全体线性函数看作是一个集合,并且定义线性函数的加法和数量乘法 - ( f + g ) ( x ) = f ( x ) + g ( x ) (f+g)(x)=f(x)+g(x) (f+g)(x)=f(x)+g(x);
-
(
k
f
)
(
x
)
=
k
f
(
x
)
(k f)(x)=k f(x)
(kf)(x)=kf(x).
于是可以自行验证,这样的集合构成了一个线性空间,称它为 V V V 的对偶空间,记为 V ∗ V^{*} V∗.
称
V
∗
→
R
V^{*} \rightarrow \mathbb{R}
V∗→R 的映射为
V
V
V 的一个反变,称
V
→
R
V \rightarrow \mathbb{R}
V→R 的映射为
V
V
V 的一个协变。按照上面的观 点,空间
V
V
V 的反变就是它自己所属的向量,空间
V
V
V 的协变就是
V
∗
V^{*}
V∗ 所属的向量。
###多重线性函数
将线性空间上的线性函数概念做适当的推广。
设 V 1 , V 2 , ⋯ , V p V_{1}, V_{2}, \cdots, V_{p} V1,V2,⋯,Vp 分别是一个线性空间,它们的维数分别是 n 1 , n 2 , ⋯ , n p n_{1}, n_{2}, \cdots, n_{p} n1,n2,⋯,np, 映射 f : V 1 × V 2 × ⋯ × V p → R f: V_{1} \times V_{2} \times \cdots \times V_{p} \rightarrow \mathbb{R} f:V1×V2×⋯×Vp→R 满足
- f ( ⋯ , u + v , ⋯ ) = f ( ⋯ , u , ⋯ ) + f ( ⋯ , v , ⋯ ) ; f(\cdots, u+v, \cdots)=f(\cdots, u, \cdots)+f(\cdots, v, \cdots) ; f(⋯,u+v,⋯)=f(⋯,u,⋯)+f(⋯,v,⋯);
-
f
(
⋯
,
λ
u
,
⋯
)
=
λ
f
(
⋯
,
u
⋯
)
f(\cdots, \lambda u, \cdots)=\lambda f(\cdots, u \cdots)
f(⋯,λu,⋯)=λf(⋯,u⋯).
则称 f f f 是 V 1 × V 2 × ⋯ × V p V_{1} \times V_{2} \times \cdots \times V_{p} V1×V2×⋯×Vp 上的一个 p p p 重线性函数。
将 V 1 × V 2 × ⋯ × V p V_{1} \times V_{2} \times \cdots \times V_{p} V1×V2×⋯×Vp 上的全体 p p p 重线性函数构成的集合记为 L ( V 1 , ⋯ , V p ; R ) \mathscr{L}\left(V_{1}, \cdots, V_{p} ; \mathbb{R}\right) L(V1,⋯,Vp;R), 特 别地,对偶空间 V ∗ V^{*} V∗ 就是关于空间 V V V 的 L ( V ; R ) \mathscr{L}(V ; \mathbb{R}) L(V;R).
在有关对偶空间的讨论中,我们指出关于空间
V
V
V 的基
{
e
1
,
⋯
,
e
n
}
\left\{e_{1}, \cdots, e_{n}\right\}
{e1,⋯,en}, 相应的对偶空间
V
∗
V^{*}
V∗ 的 对偶基是
{
r
1
,
⋯
,
r
n
}
\left\{r_{1}, \cdots, r_{n}\right\}
{r1,⋯,rn} ,其中
r
1
r_{1}
r1 将
e
1
e_{1}
e1 映成 1, 将
e
2
,
⋯
,
e
n
e_{2}, \cdots, e_{n}
e2,⋯,en 映成零,以此类推。
作为推广,在集合
L
(
V
1
,
⋯
,
V
p
;
R
)
\mathscr{L}\left(V_{1}, \cdots, V_{p} ; \mathbb{R}\right)
L(V1,⋯,Vp;R) 中取出
n
1
n
2
⋯
n
p
n_{1} n_{2} \cdots n_{p}
n1n2⋯np 个元素
{
r
i
1
,
i
2
,
⋯
,
i
p
}
\left\{r_{i_{1}, i_{2}, \cdots, i_{p}}\right\}
{ri1,i2,⋯,ip}, 其中满 足
i
j
∈
{
1
,
⋯
,
n
i
}
i_{j} \in\left\{1, \cdots, n_{i}\right\}
ij∈{1,⋯,ni}, 元素
r
i
1
,
i
2
,
⋯
,
i
p
r_{i_{1}, i_{2}, \cdots, i_{p}}
ri1,i2,⋯,ip 将多重基向量
(
e
1
;
i
1
,
⋯
,
e
p
;
i
p
)
\left(e_{1 ; i_{1}}, \cdots, e_{p ; i_{p}}\right)
(e1;i1,⋯,ep;ip) 映成 1, 这里取空 间
V
k
V_{k}
Vk 的基是
{
e
k
;
1
,
⋯
,
e
k
;
n
}
\left\{e_{k ; 1}, \cdots, e_{k ; n}\right\}
{ek;1,⋯,ek;n}, 将其它多重基向量映成零,于是这
n
1
n
2
⋯
n
p
n_{1} n_{2} \cdots n_{p}
n1n2⋯np 个元素线 性无关,且对于任意
f
∈
L
(
V
1
,
⋯
,
V
p
;
R
)
f \in \mathscr{L}\left(V_{1}, \cdots, V_{p} ; \mathbb{R}\right)
f∈L(V1,⋯,Vp;R), 存在
n
1
n
2
⋯
n
p
n_{1} n_{2} \cdots n_{p}
n1n2⋯np 个实数,使得
f
=
∑
i
1
=
1
n
1
⋯
∑
i
p
=
1
n
p
k
i
1
,
⋯
,
i
p
r
i
1
,
i
2
,
⋯
,
i
p
f=\sum_{i_{1}=1}^{n_{1}} \cdots \sum_{i_{p}=1}^{n_{p}} k_{i_{1}}, \cdots, i_{p} r_{i_{1}, i_{2}, \cdots, i_{p}}
f=i1=1∑n1⋯ip=1∑npki1,⋯,ipri1,i2,⋯,ip
所以说,集合
L
(
V
1
,
⋯
,
V
p
;
R
)
\mathscr{L}\left(V_{1}, \cdots, V_{p} ; \mathbb{R}\right)
L(V1,⋯,Vp;R) 是一个
n
1
n
2
⋯
n
p
n_{1} n_{2} \cdots n_{p}
n1n2⋯np 维线性空间。
例:以欧氏空间(其特征是具有内积运算)为例,说明建立多重线性空间概念的价值。
设 x , y x,y x,y 分别是一个 n n n 维欧式空间上的向量, 则
x ⋅ y = ∑ i = 1 n x i y i x \cdot y=\sum_{i=1}^{n} x_{i} y_{i} x⋅y=i=1∑nxiyi
其中 x i , y i x_{i}, y_{i} xi,yi 分别是 x , y x, y x,y 的坐标分量。你会发现,这种对向量做内积的运算就是关于欧式空间的 一个二重线性函数
f ( x , y ) = ∑ i = 1 n ∑ j = 1 n k i , j r i , j ( x , y ) f(x, y)=\sum_{i=1}^{n} \sum_{j=1}^{n} k_{i, j} r_{i, j}(x, y) f(x,y)=i=1∑nj=1∑nki,jri,j(x,y)
只不过它相当简单,其中的多重坐标分量可以用一个矩阵表示,并且它恰好是一个单位矩阵。
###张量的定义
张量的定义:
对于线性空间 V V V, 构造一个 p + q p+q p+q 重线性函数 f : ( V ∗ ) p × V q → R f:\left(V^{*}\right)^{p} \times V^{q} \rightarrow \mathbb{R} f:(V∗)p×Vq→R 则称 f f f 是 V V V 上的一个 ( p , q ) (p, q) (p,q) 型张量,或者一个 p + q p+q p+q 阶张量,称 p p p 为 f f f 的反变阶数,称 q q q 为 f f f 的协变阶数。 特别地,空间 V V V 自身的元素就是 V V V 上的一个 ( 1 , 0 ) (1,0) (1,0) 型张量,空间 V V V 的对偶空间 V ∗ V^{*} V∗ 上的元素就是 V V V 上的一个 ( 0 , 1 ) (0,1) (0,1) 型张量。这说明一阶张量就是我们以往所说的向量。 称 V V V 上的 ( p , 0 ) (p, 0) (p,0) 型张量为 p p p 阶反变张量,称 V V V 上的 ( 0 , q ) (0, q) (0,q) 型张量为 q q q 阶协变张量。
采取张量的观点看待欧式空间上的内积。取单位正交基
e
1
=
(
1
,
0
,
⋯
,
0
)
,
⋯
,
e
n
=
(
0
,
⋯
,
0
,
1
)
e_{1}=(1,0, \cdots, 0), \cdots, e_{n}=(0, \cdots, 0,1)
e1=(1,0,⋯,0),⋯,en=(0,⋯,0,1),
另取两个向量
x
=
(
x
1
,
⋯
,
x
n
)
,
y
=
(
y
1
,
⋯
,
y
n
)
x=\left(x_{1}, \cdots, x_{n}\right), \quad y=\left(y_{1}, \cdots, y_{n}\right)
x=(x1,⋯,xn),y=(y1,⋯,yn)
做标准内积运算
x
⋅
y
=
∑
j
1
=
1
n
∑
j
2
=
1
n
x
j
1
y
j
2
e
j
1
⋅
e
j
2
x \cdot y=\sum_{j_{1}=1}^{n} \sum_{j_{2}=1}^{n} x_{j_{1}} y_{j_{2}} e_{j_{1}} \cdot e_{j_{2}}
x⋅y=j1=1∑nj2=1∑nxj1yj2ej1⋅ej2
其中
e
j
1
⋅
e
j
2
=
{
1
,
j
1
=
j
2
0
,
j
1
≠
j
2
e_{j_{1}} \cdot e_{j_{2}}= \begin{cases}1, & j_{1}=j_{2} \\ 0, & j_{1} \neq j_{2}\end{cases}
ej1⋅ej2={1,0,j1=j2j1=j2
可以看出标准内积运算是欧式空间上的一个二阶协变张量
f
=
∑
j
1
=
1
n
∑
j
2
=
1
n
k
j
1
,
j
2
f
j
1
,
j
2
f=\sum_{j_{1}=1}^{n} \sum_{j_{2}=1}^{n} k_{j_{1}, j_{2}} f_{j_{1}, j_{2}}
f=j1=1∑nj2=1∑nkj1,j2fj1,j2
其中的分量
k
j
1
,
j
2
k_{j_{1}, j_{2}}
kj1,j2 构成单位矩阵。
而在线性代数课上讨论的
n
n
n 维空间
V
V
V 上的线性变换
f
(
x
)
=
A
x
f(x)=A x
f(x)=Ax
其中
A
A
A 是一个
n
n
n 级方阵,是一个
(
1
,
1
)
(1,1)
(1,1) 型张量,相应的分量
k
i
,
j
k_{i, j}
ki,j 就是方阵
A
A
A 的分量。 这两个例子说明,以前用方阵表达的那些事物,可以被看作是二阶张量。
综上,可以直观地把
r
r
r 阶张量看作是
r
r
r 维的方阵。
张量积
设
f
,
g
f, g
f,g 分别是一个
s
,
t
s, t
s,t 重线性函数,则
f
f
f 与
g
g
g 的张量积定义为
(
f
⊗
g
)
(
x
1
,
⋯
,
x
s
,
y
1
,
⋯
,
y
t
)
=
f
(
x
1
,
⋯
,
x
s
)
g
(
y
1
,
⋯
,
y
t
)
\begin{aligned} &(f \otimes g)\left(x_{1}, \cdots, x_{s}, y_{1}, \cdots, y_{t}\right) \\ &=f\left(x_{1}, \cdots, x_{s}\right) g\left(y_{1}, \cdots, y_{t}\right) \end{aligned}
(f⊗g)(x1,⋯,xs,y1,⋯,yt)=f(x1,⋯,xs)g(y1,⋯,yt)
这里的
x
i
,
y
j
x_{i}, y_{j}
xi,yj 是向量。于是
f
⊗
g
f \otimes g
f⊗g 是一个
s
+
t
s+t
s+t 重线性函数。容易看出张量积的结合律,也 就是说你可以写
f
⊗
g
⊗
h
f \otimes g \otimes h
f⊗g⊗h 而不必添加括号。 我们给出线性空间的张量积。设
U
,
V
U, V
U,V 分别是一个
m
,
n
m, n
m,n 维线性空间,取
u
∈
U
,
v
∈
V
u \in U, v \in V
u∈U,v∈V, 则
u
,
v
u, v
u,v 可以分别看作是
U
∗
,
V
∗
U^{*}, V^{*}
U∗,V∗ 上的线性函数,于是
u
⊗
v
u \otimes v
u⊗v 有意义。
定义
U
⊗
V
=
{
u
⊗
v
:
v
∈
U
∧
v
∈
V
}
U \otimes V=\{u \otimes v: v \in U \wedge v \in V\}
U⊗V={u⊗v:v∈U∧v∈V}, 于是
U
⊗
V
U \otimes V
U⊗V 成为一个二重线性空间,也是一个
m
n
m n
mn 维线性空间。
###张量积的运算
张量积:
A
⊗
B
=
[
a
11
B
…
a
1
n
B
…
…
…
a
m
1
B
…
a
m
m
B
]
m
×
p
,
n
×
q
A \otimes B=\left[\begin{array}{ccc} a_{11} B & \ldots & a_{1 n} B \\ \ldots & \ldots & \ldots \\ a_{m 1} B & \ldots & a_{m m} B \end{array}\right]_{m \times p, n \times q}
A⊗B=⎣⎡a11B…am1B………a1nB…ammB⎦⎤m×p,n×q
张量积性质:
(1)右进法则:
[
A
B
C
D
]
⊗
E
=
[
A
⊗
E
B
⊗
E
C
⊗
E
D
⊗
E
]
\left[\begin{array}{ll} A & B \\ C & D \end{array}\right] \otimes E=\left[\begin{array}{ll} A \otimes E & B \otimes E \\ C \otimes E & D \otimes E \end{array}\right]
[ACBD]⊗E=[A⊗EC⊗EB⊗ED⊗E]
(2) 左进法则不成立
(3)吸收公式:
(
A
1
⊗
B
1
)
(
A
2
⊗
B
2
)
=
(
A
1
A
2
⊗
B
1
B
2
)
\left(A_{1} \otimes B_{1}\right)\left(A_{2} \otimes B_{2}\right)=\left(A_{1} A_{2} \otimes B_{1} B_{2}\right)
(A1⊗B1)(A2⊗B2)=(A1A2⊗B1B2)
(4)
(
A
⊗
B
)
H
=
A
H
⊗
B
H
(5)
(
A
⊗
B
)
+
=
A
+
⊗
B
+
(6)
(
A
⊗
B
)
−
1
=
A
−
1
⊗
B
−
1
(7)
A
=
A
m
×
m
,
B
=
B
n
×
n
,
tr
(
A
⊗
B
)
=
tr
(
A
)
tr
(
B
)
(8)
A
=
A
m
×
m
,
B
=
B
n
×
n
,
det
(
A
⊗
B
)
=
det
(
A
)
n
det
(
B
)
m
\begin{aligned} &\text { (4) }(A \otimes B)^{H}=A^{H} \otimes B^{H} \\ &\text { (5) }(A \otimes B)^{+}=A^{+} \otimes B^{+} \\ &\text {(6) }(A \otimes B)^{-1}=A^{-1} \otimes B^{-1} \\ &\text { (7) } A=A_{m \times m}, B=B_{n \times n}, \operatorname{tr}(A \otimes B)=\operatorname{tr}(A) \operatorname{tr}(B) \\ &\text { (8) } A=A_{m \times m}, B=B_{n \times n}, \operatorname{det}(A \otimes B)=\operatorname{det}(A)^{n} \operatorname{det}(B)^{m} \end{aligned}
(4) (A⊗B)H=AH⊗BH (5) (A⊗B)+=A+⊗B+(6) (A⊗B)−1=A−1⊗B−1 (7) A=Am×m,B=Bn×n,tr(A⊗B)=tr(A)tr(B) (8) A=Am×m,B=Bn×n,det(A⊗B)=det(A)ndet(B)m
张量积的用法:
(1)求广义逆:
(i)
[
A
0
]
+
=
(
[
1
0
]
⊗
A
)
+
=
[
1
0
]
+
⊗
A
+
=
[
1
0
]
⊗
A
+
=
[
A
+
0
]
\left[\begin{array}{ll} A & 0 \end{array}\right]^{+}=\left(\left[\begin{array}{ll} 1 & 0 \end{array}\right] \otimes A\right)^{+}=\left[\begin{array}{ll} 1 & 0 \end{array}\right]^{+} \otimes A^{+}=\left[\begin{array}{l} 1 \\ 0 \end{array}\right] \otimes A^{+}=\left[\begin{array}{c} A^{+} \\ 0 \end{array}\right]
[A0]+=([10]⊗A)+=[10]+⊗A+=[10]⊗A+=[A+0]
参考:
1、/p/137468781
2、/p/136911724
3、/p/146683399
4、/p/148258749?ivk_sa=1024320u
5、/codeDog123/p/