2. 深圳大学 数学与统计学院,广东 深圳 518052
2. School of Mathematics and Statistics, Shenzhen University, Shenzhen 518052, China
张量动力系统已广泛应用于Volterra系统识别[1]、张量乘积(TP)模型变换[2]、人体动作识别[3]和塑性模型[4]等各个领域.由于在张量常微分方程的求解过程中, 必须用到张量指数函数, 其计算问题已经成为一个重要的研究领域.
考虑如下常微分方程[4]:
(1) |
其中A和Y0是给定的张量, 一般是非对称的, 则关于系统(1)的张量指数函数exp(·)有如下唯一解:
(2) |
对于一般的张量A, 其指数函数通常表示为幂级数展开形式, 有
(3) |
目前计算式(2)中张量指数函数的方法通常是将无穷级数(3)前若干项截断求和[5], 但是该方法的计算精度和效率受限于其舍入方式和终止准则.截断法取前nmax项, 得到近似解, 即
(4) |
选取的项数nmax受限于所需精度
(5) |
显然, 截断法的精度与张量指数函数选取的项数nmax有关, 保留的项数越多, 精度越高, 但是需要进行的张量乘积次数也越多; 保留的项数越少, 计算量越少, 但是精度也越低.因此, 在一定程度上, 这将限制该算法的实用性.
为研究张量指数函数的计算问题, 本文定义了张量的一种广义逆, 并以此为基础构造了张量广义逆Padé逼近(GITPA)的一种可以递推计算的连分式算法, 其特点在于:在计算过程中, 不必用到张量的乘积, 也不需要计算张量的逆, 另外, 该方法对奇异张量也是适用的.目前, 关于张量的逆和广义逆的计算问题,还没有找到一种比较可行的计算方法.作为GITPA方法的一个重要应用, 后文将给出计算张量指数函数的数值实验, 以说明该连分式算法的有效性.
1 张量的一种广义逆 1.1 张量简介张量是一种多维数组, 其中向量是一阶张量, 矩阵是二阶张量, 特别地, 一个N阶张量拥有N个下标, 是N个拥有独立坐标系的向量空间的外积(张量积).一个N阶n1×n2×...×nN维张量可以表示为
文献[6]提出了张量的切片方法.如对一个三阶张量, 可以固定其中任意一个下标, 从而得到该张量的一种表示形式.设A=(ai1i2i3)∈R2×2×3, 固定其第3个下标, 则张量可以表示为
下面定义两个三阶张量的t-积, 可以通过递归自然地推广到高阶张量的t-积.
定义1(块循环矩阵)[7] 设A∈Rl×p×n, 那么A的块循环矩阵定义为
定义一个展开算子unfold(·)[7], 用以下方式将一个p×m×n的张量展开成一个pn×m的矩阵:
fold(·)[7]是其逆算子, 它会将一个pn×m的矩阵转化成p×m×n的张量.因此有
定义2(张量t-积)[7-8] 设A是一个l×p×n的张量, B是一个p×m×n的张量, 则t-积A*B是一个l×m×n的张量, 定义如下:
例1 设A, B∈R2×2×3, 现固定其第3个下标, 分别产生
由定义2得到
类似地,可以定义更高阶张量t-积.
定义3(高阶张量t-积)[9] 设张量A∈Rn1×n2×...×np, B∈Rn2×l×...×np, 则高阶张量t-积A*B是一个n1×l×...×np的p阶张量, 定义为
设A∈Rn1×n2×...×np, 张量的范数等于它所有元素平方和的平方根[6], 即
(6) |
这与矩阵的Frobenius-模是类似的.两个大小相同的张量A, B∈Rn1×n2×...×np的内积等于它们对应元素的乘积的和[6], 即
(7) |
于是有(A, A)=||A||2.
1.2 一种张量广义逆参考复数、向量和矩阵的倒数, 容易得到以下结论:若复数c∈C, 则cc*=|c|2, 1/c=c-1=c*/|c|2; 若向量v∈Cn, 则vv*=|v|2, 1/v=v-1=v*/|v|2[10]; 若矩阵A=aij, B=bij∈Cs×t, 则
定义4 设A, B∈ Cn1×n2×...×np, 内积为
若A·A*=||A||2, 则张量A的广义逆定义为
(8) |
由定义3, 这里张量A的广义逆Ar-1实质上是指张量A的倒数.由上面定义易证以下引理.
引理1 设A, B∈ Cn1×n2×...×np, A, B≠0且c∈R, c≠0, 则下列关系成立:
1)
2)
设f(z)是给定的张量幂级数, 系数为张量, 即
(9) |
其中(ci(i1i2...ip))∈Rn1×n2×...×np包含了所有p阶n1×n2×...× np维的张量.
定义5 Cn1×n2×...×np[z]是一个p阶张量多项式的集合, 维数分别为n1×n2×...×np.一个张量多项式
是m阶的, 表示为∂A(z)=m, 若满足
且
定义6 阶数为[n/2k]型广义逆张量Padé逼近(GITPA)是张量的一个有理函数, 有
(10) |
其中: P(z)为一个张量多项式, Q(z)为一个数量多项式, 满足以下条件:
1)
2)
3)
P(z)=(p(i1i2...ip)(z))∈Cn1×n2×...×np, 整除条件2)表明分母数量多项式Q(z)能够整除张量分子多项式P(z)的范数的平方, 而P(z)的范数||P(z)||2由定义(6)给出, *表示取复共轭.
2.2 连分式算法格式设张量幂级数为式(9), 利用张量广义逆(8), 递推地定义Thiele型张量连分式如下:
其中:张量Bi∈Cn1×n2×... ×np, z ∈R, H(z)的n项截断分式定义为
(11) |
利用张量广义逆的定义, 下面给出一个用于计算机编程的计算截断连分式(9)的递推算法.
算法1 张量Thiele型连分式算法.
输入:给定张量幂级数系数Ci, 逼近阶n.
Step 1:计算
Step 2:计算
令i=2.
Step 3:计算
Step 4:若i < n, 执行Step 3.若i=n, 计算
Step 5:将计算得到的Bi(i=0, ..., n)代入逼近公式(11), 并输出Rn(z).
在算法1中, D表示张量函数对于z的导数.
下面证明恒等定理.该定理表明, 根据GITPA的定义5, 由算法1得到的连分式截断分式Rn(z)是一个阶数为[n/2k]型的GITPA, 其分母多项式的阶数分为两种情况, n=2k或n=2k+1.
定理1(恒等定理) 设利用算法1计算截断连分式Rn(z)的过程中没有出现分母为0的情况, 则满足
(12) |
证明 通过归纳法证明.当n=0, k=0时, 有
当n=1, k=0时, 有
其中: ∂P1=1, ∂Q1=0, Q1|||P1||2.可得
(13) |
当n=2, k=1时, 有
其中
令
其中Q2(z)=g1.可知∂P2(z)=2, ∂Q2(z)=2.又由
可知Q2|||P2||2成立.由此可得
(14) |
设当n-1=2k或n-1=2k+1(k=0, 1, ...)时, 下式成立:
(15) |
当n=2k(k=0, 1, ...)时, 可以写作
(16) |
(17) |
由式(15)可知
(18) |
设式(18)中
(19) |
其中Qn(z)=gn-1.由式(18)得到
(20) |
因为
从而有
(21) |
由式(19) ~ (21)可知, 当n=2k(k=0, 1, ...)时, 有
(22) |
同理可以证明, 当n=2k+1(k=0, 1, ...)时, 有
(23) |
综上, 定理1成立.
2.3 算法算例例2 设张量A∈R2×2×2, 张量幂级数展开式为
(24) |
计算其[2/2]型GITPA.
根据算法1, 计算结果如下:
其中
由定义6, R2(z)=P2(z)/Q2(z)是式(24)的[2/2]型GITPA, 满足以下条件:
1)
2) Q2(z)|||P2(z)||2.其中
3) Q2(z)exp(Az)-P2(t)=O(t3).
3 数值实验设将要计算的张量指数函数为
(25) |
目前, 计算张量指数函数(25)通常使用的方法是级数截断法[5], 为了便于数值比较和验算, 下面给出它的算法程序.
算法2[5] 级数截断法.
输入:给定张量A、自变量z和误差限
Step 1:初始化n=0和exp(A):=I.
Step 2:n:=n+1.
Step 3:计算
Step 4:将上一步计算结果加入, 有
Step 5:判断是否停止, 若
输出:exp(At).
由连分式算法1计算得到的逼近值记作A值, 由截断法(即算法2)取前30项计算得到的近似值为理论值, 记作E值.定义残差RES为张量逼近值和理论值差的模的平方, 定义如下:
其中模算子||·||由式(6)定义.
例3 设给定张量指数函数exp(Az), A中元素为
现在计算该张量指数函数的[4/4]型GITRA, 其计算结果在表 1中记作A值.首先, 利用定义2, 即张量t-积将exp(Az)展开成幂级数, 得到
分别计算该张量下标为(1, 2, 1), (1, 2, 2), (2, 2, 1)和(2, 2, 2)在点0.1, 0.2, 0.3, 0.4, 0.5的A值和E值, 计算结果见表 1.
从表 1中张量指数函数的连分式算法得到的逼近值(即A值)与截断法得到的理论值(即E值)的残差来看, 本文给出的张量连分式算法是有效的.
例4 设给定张量指数函数exp(Az), 其中A为如下2×2×2×2四阶张量:
现在计算该张量指数函数的[4/4]型GITRA.首先利用定义3, 即高阶张量t-积将exp(Az)展开成幂级数, 再利用本文给出的算法1计算张量指数函数, 将其计算结果与由截断法(即算法2)取前30项计算得到值进行比较, 得到指数函数每个元素在点0.1, 0.3, 0.5的A值和E值, 计算结果见表 2.在表 2中, 张量A的元素表示为ai1i2i3i4.
从表 2中本文算法得到的逼近值与截断法得到的理论值的残差来看, 本文给出的张量连分式算法对高阶张量也是有效的.
4 结论本文提出的一种张量广义逆是一个实用的计算方法, 它是向量广义逆[10]和矩阵广义逆[11-15]在张量上的推广.在该张量广义逆的基础上, 得到了计算张量指数函数的张量Thiele型连分式算法.从计算张量指数函数的数值实验来看, 所给出的算法是有效的.由张量连分式算法Step 1 ~ Step 4利用张量广义逆分别计算Bi(i=1, 2, ..., n)可以看出, 当张量指数函数(25)中张量A维数较大时, 连分式算法的计算效果会更加明显.以后的研究工作考虑将所提出的张量连分式方法用于控制论中的模型简化问题.
[1] |
Batselier K, Chen Z, Wong N. A tensor network kalman filter with an application in recursive MIMO volterra system identification[J]. Automatica, 2017, 84: 17-25. DOI:10.1016/j.automatica.2017.06.019 |
[2] |
Liu X, Yu Y, Li Z, et al. An efficient algorithm for optimally reshaping the TP model transformation[J]. IEEE Trans on Circuits & Systems Ⅱ, Express Briefs, 2017, 64(10): 1187-1191. |
[3] |
Koniusz P, Cherian A, Porikli F. Tensor representations via kernel linearization for action recognition from 3D skeletons[C]. European Conf on Computer Vision. Austerdam: Springer International Publishing, 2016: 37-53.
|
[4] |
Souza Neto E A. The exact derivative of the exponential of an unsymmetric tensor[J]. Computer Methods in Applied Mechanics & Engineering, 2001, 190(18/19): 2377-2383. |
[5] |
Neto E A D S, Perić D, Owen D R J. Computational methods for plasticity: Theory and applications[M]. New York: Wiley, 2008: 729-764.
|
[6] |
Kolda T G, Bader B W. Tensor decompositions and applications[J]. Siam Review, 2009, 51(3): 455-500. DOI:10.1137/07070111X |
[7] |
Kilmer M E, Braman K, Hao N, et al. Third-order tensors as operators on matrices: A Theoretical and computational framework with applications in imaging[J]. Siam J on Matrix Analysis & Applications, 2013, 34(1): 148-172. |
[8] |
Kilmer M E, Martin C D, Perrone L. A third-order generalization of the matrix svd as a product of third-order tensors[R]. Medford: Department of Computer Science, Tufts University, 2008.
|
[9] |
Martin C D, Shafer R, Larue B. An order-p tensor factorization with applications in imaging[J]. Siam J on Scientific Computing, 2013, 35(1): 474-490. DOI:10.1137/110841229 |
[10] |
Graves-Morris P R. Vector valued rational interpolants I[J]. Numerische Mathematik, 1983, 42(3): 331-348. DOI:10.1007/BF01389578 |
[11] |
Gu Chuan-qing. Generalized inverse matrix Padé approximation on the basis of scalar products[J]. Linear Algebra & Its Applications, 2001, 322(1): 141-167. |
[12] |
Gu Chuan-qing. A practical two-dimensional thiele-type matrix pade approximation[J]. IEEE Trans on Automatic Control, 2003, 48(12): 2259-2263. DOI:10.1109/TAC.2003.820163 |
[13] |
顾传青. 关于矩阵指数的Padé逼近新算法[J]. 自动化学报, 1999, 25(1): 94-99. (Gu C Q. New algorithm for matrix exponentials by Padé approximation[J]. Acta Automatica Sinica, 1999, 25(1): 94-99.) |
[14] |
顾传青. 基于广义逆的矩阵Pade逼近[J]. 计算数学, 1997(1): 19-29. (Gu C Q. Matrix Pade approximation based on generalized inverse[J]. Mathematica Numerica Sinica, 1997(1): 19-29. DOI:10.3321/j.issn:0254-7791.1997.01.001) |
[15] |
顾传青.矩阵有理逼近及其在控制论中应用[D].上海: 上海大学理学院, 2004. (Gu C Q. Matrix rational approximation and its application in control theory[D]. Shanghai: College of Science, Shanghai University, 2004.) |