张量的基本概念及应用

张量

基于张量的数据分析称为张量分析(tensor analysis),属于多重线性数据分析(multilinear data analysis)。

张量及其表示

数据沿一相同方向的排列称为一路阵列。标量称为零路阵列,行向量和列向量称为沿水平和垂直方向排列的一路阵列。矩阵是数据沿水平和垂直方向排列的二路阵列。张量即为数据的多路阵列表示,一个张量就是一个多路阵列或多维阵列,它是矩阵的一种扩展。
张量的数学符号表示为花体符号如 T , A , X \mathcal{T,A,X} T,A,X n n n路阵列表示为 n n n阶张量,是定义在 n n n个向量空间的笛卡尔积上的多重线性函数,记为 T ∈ K I 1 × I 2 × ⋯ × I n \mathcal{T} \in\mathbb{K}^{I_1\times I_2\times \cdots \times I_n} TKI1×I2××In
其中 K \mathbb{K} K代表实数域 R \mathbb{R} R或复数域 C \mathbb{C} C。张量是跨越 n n n个向量空间的多线性映射,有:
T : K I 1 × K I 2 × ⋯ × K I n → K I 1 × I 2 × ⋯ × I n \mathcal{T}:\mathbb{K}^{I_1}\times\mathbb{K}^{I_2}\times\cdots\times\mathbb{K}^{I_n}\rightarrow\mathbb{K}^{I_1\times I_2\times \cdots \times I_n} T:KI1×KI2××KInKI1×I2××In
张量在各个领域均有应用,包括医学,化学等。

张量的线性代数表示

线性代数即有限维向量空间的矩阵的代数,定义一个有限维向量空间的线性算子。多重线性代数即高阶张量代数,定义了一组有限维向量空间的多重线性算子。
矩阵 A ∈ K m × n {\bm{A}}\in\mathbb{K}^{m\times n} AKm×n用其元素和矩阵符号表示 [ ⋅ ] [\cdot] []表示为 A = [ a i j ] i , j = 1 m , n {\bm{A}} = [a_{ij}]_{i,j=1}^{m,n} A=[aij]i,j=1m,n。同样地,张量的表示可以写为 A ∈ K I 1 × I 2 × ⋯ × I n \mathcal{A} \in\mathbb{K}^{I_1\times I_2\times \cdots \times I_n} AKI1×I2××In使用双重矩阵符号 { ⋅ } \begin{Bmatrix}\cdot \end{Bmatrix} {}表示为 A = { a i 1 ⋯ i n } i 1 , ⋯ i n = 1 I 1 , ⋯   , I n \mathcal{A}= \begin{Bmatrix}a_{i_1\cdots i_n} \end{Bmatrix}_{i_1,\cdots i_n=1}^{I_1,\cdots,I_n} A={ai1in}i1,in=1I1,,In,其中 a i 1 ⋯ i n a_{i_1\cdots i_n} ai1in是张量第 ( i 1 ⋯ i n ) ({i_1\cdots i_n}) (i1in)元素。

三阶张量

最常用的是三阶张量,有时也称为三维矩阵。
三阶张量的三路阵列不以行向量、列向量等相称,改称张量纤维(tensor fiber)。纤维是只保留一个下标可变,固定其他所有下标不变的一路阵列。水平纤维、竖直纤维、纵深纤维。例如:三阶张量 A ∈ K I × J × K \mathcal{A}\in\mathbb{K}^{I\times J\times K} AKI×J×K,其符号表示纤维为: a i : k , a : j k , a i j : a_{i:k},a_{:jk},a_{ij:} ai:k,a:jk,aij:

  • 定义1: N N N阶张量 A = { a i 1 ⋯ i n } i 1 , ⋯ i n = 1 I 1 , ⋯   , I n ∈ K I 1 × I 2 × ⋯ × I n \mathcal{A}= \begin{Bmatrix}a_{i_1\cdots i_n} \end{Bmatrix}_{i_1,\cdots i_n=1}^{I_1,\cdots,I_n}\in \mathbb{K}^{I_1\times I_2\times \cdots\times I_n} A={ai1in}i1,in=1I1,,InKI1×I2××In的模式- n n n向量是一个以 i n i_n in为元素下标变量,而其他下标均固定不变的 I n I_n In维向量,记作 A i 1 ⋯ i n − 1 : i n + 1 ⋯ i N {\bf{A}}_{i_1\cdots i_n-1:i_n+1\cdots i_N} Ai1in1:in+1iN
    注意张量阶数和维数的区别: N N N称为阶数, I n I_n In称为第 n n n路阵列的维数。

高阶张量也可以使用矩阵的集合表示。如三阶张量可以使用矩阵组成水平切片、侧向切片、正面切片等,符号表示为: A i : : , A : j : , A : : k {\bf{A}}_{i::},{\bf{A}}_{:j:},{\bf{A}}_{::k} Ai::,A:j:,A::k
切片的数学表示:

  1. 三阶张量 A ∈ K I × J × K \mathcal{A}\in\mathbb{K}^{I\times J\times K} AKI×J×K I I I个水平切片
    A i : : = [ a i 11 ⋯ a i 1 K ⋮ ⋱ ⋮ a i J 1 ⋯ a i J K ] = [ a i : 1 , ⋯   , a i : K ] = [ a i 1 : ⋮ a i J : ] , i = 1 , ⋯   , I {\bf{A}}_{i::}=\begin{bmatrix}a_{i11}&\cdots & a_{i1K}\\ \vdots & \ddots & \vdots \\ a_{iJ1} & \cdots & a_{iJK}\end{bmatrix}=\begin{bmatrix}\bm{a}_{i:1},\cdots,\bm{a}_{i:K}\end{bmatrix}=\begin{bmatrix}\bm{a}_{i1:}\\\vdots\\\bm{a}_{iJ:}\end{bmatrix},i=1,\cdots,I Ai::=ai11aiJ1ai1KaiJK=[ai:1,,ai:K]=ai1:aiJ:,i=1,,I
  2. 三阶张量 A ∈ K I × J × K \mathcal{A}\in\mathbb{K}^{I\times J\times K} AKI×J×K J J J个侧向切片
    A : j : = [ a 1 j 1 ⋯ a I j 1 ⋮ ⋱ ⋮ a 1 j K ⋯ a I j K ] = [ a 1 j : , ⋯   , a I j : ] = [ a : j 1 ⋮ a : j K ] , j = 1 , ⋯   , J {\bf{A}}_{:j:}=\begin{bmatrix}a_{1j1}&\cdots & a_{Ij1}\\ \vdots & \ddots & \vdots \\ a_{1jK} & \cdots & a_{IjK}\end{bmatrix}=\begin{bmatrix}\bm{a}_{1j:},\cdots,\bm{a}_{Ij:}\end{bmatrix}=\begin{bmatrix}\bm{a}_{:j1}\\\vdots\\\bm{a}_{:jK}\end{bmatrix},j=1,\cdots,J A:j:=a1j1a1jKaIj1aIjK=[a1j:,,aIj:]=a:j1a:jK,j=1,,J
    3.三阶张量 A ∈ K I × J × K \mathcal{A}\in\mathbb{K}^{I\times J\times K} AKI×J×K K K K个正面切片
    A : : k = [ a 11 k ⋯ a 1 J k ⋮ ⋱ ⋮ a I 1 k ⋯ a I J k ] = [ a : 1 k , ⋯   , a : J k ] = [ a 1 : k ⋮ a I : k ] , k = 1 , ⋯   , K {\bf{A}}_{::k}=\begin{bmatrix}a_{11k}&\cdots & a_{1Jk}\\ \vdots & \ddots & \vdots \\ a_{I1k} & \cdots & a_{IJk}\end{bmatrix}=\begin{bmatrix}\bm{a}_{:1k},\cdots,\bm{a}_{:Jk}\end{bmatrix}=\begin{bmatrix}\bm{a}_{1:k}\\\vdots\\\bm{a}_{I:k}\end{bmatrix},k=1,\cdots,K A::k=a11kaI1ka1JkaIJk=[a:1k,,a:Jk]=a1:kaI:k,k=1,,K

张量的矩阵化和向量化

张量的计算中希望使用矩阵代表一个三阶张量。将一个三路或 N N N路阵列重新组织成一个矩阵形式的变换称为张量的矩阵化(matricization or matricizing)。也称张量的展开(unfolding)或扁平化(flattening)。
向量化同理。

张量的水平展开与向量化

张量的基本代数运算

张量的內积、范数和外积

  • 定义:张量的內积,若 A , B ∈ T ( I 1 , I 2 , ⋯   , I n ) \mathcal{A,B}\in \mathcal{T}(I_1,I_2,\cdots,I_n) A,BT(I1,I2,,In),则 A \mathcal{A} A B \mathcal{B} B的內积为标量,定义为两个张量的列向量化之间的內积
    ⟨ A , B ⟩ = def ⟨ v e c ( A ) , v e c ( B ) ⟩ = ( v e c ( A ) ) H v e c ( B ) = ∑ i 1 = 1 I 1 ∑ i 2 = 1 I 2 ⋯ ∑ i n = 1 I n a i 1 i 2 ⋯ i n ∗ b i 1 i 2 ⋯ i n \left \langle \mathcal{A,B}\right \rangle\overset{\text{def}}{=}\left\langle vec(\mathcal{A}),vec(\mathcal{B})\right\rangle=(vec(\mathcal{A}))^Hvec(\mathcal{B})\\ =\sum_{i_1=1}^{I_1}\sum_{i_2=1}^{I_2}\cdots\sum_{i_n=1}^{I_n}a_{i_1i_2\cdots i_n}^{*}b_{i_1i_2\cdots i_n} A,B=defvec(A),vec(B)=(vec(A))Hvec(B)=i1=1I1i2=1I2in=1Inai1i2inbi1i2in
    其中 ∗ * 表示复共轭。

根据张量內积的概念,可以得到其张量范数的定义。

  • 定义(张量的Frobenius范数):张量 A \mathcal{A} A的Frobenius范数的定义为:
    ∥ A ∥ F = ⟨ A , A ⟩ = def ( ∑ i 1 = 1 I 1 ∑ i 2 = 1 I 2 ⋯ ∑ i n = 1 I n ∣ a i 1 i 2 ⋯ i n ∣ 2 ) 1 / 2 \left \| \mathcal{A} \right \|_F=\sqrt{\left \langle \mathcal{A,A}\right\rangle}\overset{\text{def}}{=}\left( \sum_{i_1=1}^{I_1}\sum_{i_2=1}^{I_2}\cdots\sum_{i_n=1}^{I_n}\left| a_{i_1i_2\cdots i_n}\right|^2\right)^{1/2} AF=A,A =def(i1=1I1i2=1I2in=1Inai1i2in2)1/2
    其內积和范数具有如下性质:
  • 张量的范数可以转化成张量的矩阵化的范数
    ∥ A ∥ = ∥ A ( I n × I 1 ⋯ I n − 1 I n + 1 ⋯ I N ) ∥ = ∥ A ( I 1 ⋯ I n − 1 I n + 1 ⋯ I N × I n ) ∥ \left \| \mathcal{A} \right \|=\left \| \bm{A}^{(I_n\times I_1\cdots I_{n-1}I_{n+1}\cdots I_N)} \right \|=\left \| \bm{A}^{(I_1\cdots I_{n-1}I_{n+1}\cdots I_N\times I_n)} \right \| A=A(In×I1In1In+1IN)=A(I1In1In+1IN×In)
  • 张量的范数可以改成张量的向量化函数的范数
    ∥ A ∥ = ∥ a ( I 1 I 2 ⋯ I N × 1 ) ∥ = ∥ a ( 1 × I 1 I 2 ⋯ I N ) ∥ \left \| \mathcal{A} \right \|=\left\| \bm{a}^{(I_1I_2\cdots I_N\times 1)}\right\|=\left\| \bm{a}^{(1\times I_1I_2\cdots I_N)}\right\| A=a(I1I2IN×1)=a(1×I1I2IN)
  • 两个张量之差的范数平方
    ∥ A − B ∥ 2 = ∥ A ∥ 2 − 2 ⟨ A , B ⟩ + ∥ B ∥ 2 \left \| \mathcal{A-B} \right \|^2=\left \| \mathcal{A} \right \|^2-2\left \langle \mathcal{A,B}\right\rangle+\left \| \mathcal{B} \right \|^2 AB2=A22A,B+B2
  • Q ∈ K J × I n Q\in\mathbb{K}^{J\times I_n} QKJ×In为标准正交矩阵,即 Q Q H = I J × J QQ^H=I_{J\times J} QQH=IJ×J Q H Q = I I n × I N Q^HQ=I_{I_n\times I_N} QHQ=IIn×IN,则有
    ∥ A × n Q ∥ = ∥ A ∥ \left \| \mathcal{A}{\times_n} Q \right \|=\left \| \mathcal{A} \right \| A×nQ=A
  • A , B ∈ K I 1 × I 2 × ⋯ × I N , a n , b n ∈ K J × I n \mathcal{A,B}\in \mathbb{K}^{I_1\times I_2 \times \cdots \times I_N},\bm{a}_n,\bm{b}_n\in \mathbb{K}^{J\times I_n} A,BKI1×I2××IN,an,bnKJ×In,其 A = a 1 ∘ a 2 ∘ ⋯ a N \mathcal{A}=\bm{a_1}\circ\bm{a_2}\circ\cdots \bm{a_N} A=a1a2aN B = b 1 ∘ b 2 ∘ ⋯ b N \mathcal{B}=\bm{b_1}\circ\bm{b_2}\circ\cdots \bm{b_N} B=b1b2bN,则
    ⟨ A , B ⟩ = ∏ = 1 N ⟨ a n , b n ⟩ \left \langle \mathcal{A,B}\right\rangle=\prod_{=1}^{N}\left \langle \mathcal{\bm{a}_n,\bm{b}_n}\right\rangle A,B==1Nan,bn

向量的外积(output product)为一个矩阵,有 X = u v T \bf{X}=\bm{uv}^T X=uvT多个向量的外积给出一张量。使用 ∘ \circ 表示多个向量的外积。

  • 定义 (向量外积) n n n个向量 a ( i ) ∈ K i × 1 , i = 1 , ⋯   , n a^{(i)}\in \mathbb{K}^{i\times 1},i=1,\cdots ,n a(i)Ki×1,i=1,,n的外积记为 a ( 1 ) ∘ a ( 2 ) ∘ ⋯ × a ( n ) a^{(1)}\circ a^{(2)}\circ \cdots \times a^{(n)} a(1)a(2)×a(n),其中为一个张量,有
    A = a ( 1 ) ∘ a ( 2 ) ∘ ⋯ a ( n ) \mathcal{A}=\bm{a^{(1)}}\circ\bm{a^{(2)}}\circ\cdots \bm{a^{(n)}} A=a(1)a(2)a(n)
    使用元素形式定义为
    a i 1 i 2 ⋯ i n = a i 1 ( 1 ) a i 2 ( 2 ) ⋯ a i 1 ( 1 ) a_{i_1i_2\cdots i_n}=a_{i_1}^{(1)}a_{i_2}^{(2)}\cdots a_{i_1}^{(1)} ai1i2in=ai1(1)ai2(2)ai1(1)
    式中 a j ( i ) a_{j}^{(i)} aj(i)是模式 − n -n n的第 j j j个元素。

向量的外积可以推广到张量的外积,有

  • 定义:(张量外积)两个张量 A ∈ K I 1 × I 2 × ⋯ × I N \mathcal{A}\in \mathbb{K}^{I_1\times I_2 \times \cdots \times I_N} AKI1×I2××IN B ∈ K J 1 × J 2 × ⋯ × J N \mathcal{B}\in \mathbb{K}^{J_1\times J_2 \times \cdots \times J_N} BKJ1×J2××JN的外积仍为张量,记作 A ∘ B ∈ K I 1 × ⋯ × I P × J 1 × ⋯ × J Q \mathcal{A\circ B}\in \mathbb{K}^{I_1\times \cdots \times I_P\times J_1 \times \cdots\times J_Q} ABKI1××IP×J1××JQ
    ( A ∘ B ) i 1 ⋯ i P j 1 ⋯ j Q = a i 1 ⋯ i P b j 1 ⋯ j Q (\mathcal{A\circ B})_{i_1\cdots i_Pj_1\cdots j_Q}=a_{i_1\cdots i_P}b_{j_1\cdots j_Q} (AB)i1iPj1jQ=ai1iPbj1jQ

《矩阵分析与应用(第2版)》第10章 张量分析——张贤达

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值