求解四元数线性系统Ax=b的矩阵半张量积方法
2022-05-07郝建强李莹王栋
郝建强,李莹,王栋
(聊城大学 数学科学学院, 山东 聊城 252059)
0 引言
四元数的概念于1843年由爱尔兰数学家哈密顿提出,如今更是被广泛应用于现代科学技术。侯培国等[1]提出了一种基于四元数最少特征点的相机位姿估计算法。陈柯勋等[2]利用四元数法分别构造姿态矩阵、速度矩阵及位置矩阵,通过解算四元数的运动学微分方程求出飞行器的姿态角和位置。李国进等[3]用单位四元数表示世界坐标系与摄像机坐标系之间的旋转矩阵从而减少了需要标定的参数。周珂等[4]利用四元数矩阵提出了一种无参考模糊彩色图像质量评价算法。Hankel矩阵在许多领域有广泛的应用,众多学者对其进行了研究。陆全等[5]利用线性方程组是否有解给出了Hankel矩阵可逆的条件及求逆的递推公式,并给出了逆矩阵新的表达式。鲁玲等[6]研究了块Hankel矩阵的快速SVD分解算法在地震信号处理中的应用。
近年来,矩阵半张量积作为一个便捷的新工具发展迅速。它由程代展教授提出,是矩阵乘法的拓展。张量积在布尔网络的分析与控制中得到了发展,在一些数学或物理问题的理论分析中也得到若干有意义的应用[7]。目前,以矩阵半张量积为工具,代数状态空间表示为方法,发展起来的逻辑系统控制理论,已经成为一个初具规模的理论体系。葛美侠等[8]利用矩阵的半张量积方法把网络演化博弈表示为离散时间k-值逻辑动态系统。于永渊等[9]利用矩阵半张量积研究了有序势博弈及其在智能体无线网络中的应用,解决了布尔网络状态反馈镇定控制器和输出反馈镇定问题[10-11]。
基于文献[12]中提出的四元数矩阵的乘积可以利用矩阵半张量积进行转化,本文将利用矩阵半张量积研究四元数线性系统的计算问题。
本文研究的具体问题如下:
针对该问题,本文应用矩阵半张量积进行求解。
1 预备知识
本节主要介绍四元数、矩阵半张量积的有关概念和性质。
定义1[13]四元数x可以表示为x=x1+x2i+x3j+x4k,其中xi∈R(i=1,2,3,4),i、j、k为虚部单位,满足
i2=j2=k2=ijk=-1,ij=-ji=k,jk=-kj=i,ki=-ik=j。
显然,四元数乘积不满足交换律,因此,四元数的乘积运算十分复杂。
定义2[14]对于n阶矩阵A=(aij)∈Rm×n,若A的元素满足aij=ai-1,j+1(i,j=1,2,…,n),则称A为Hankel矩阵,记作H(a1,a2,…,a2n-1)。
定义3[15]设A=(aij)∈Rm×n,B=(bij)∈Rp×q,A与B的Kronecker记作A⊗B,定义为
定义4[16]设A∈Rm×n,B∈Rp×q,A和B的半张量积定义为
(1)
式中,t=lcm(n,p)是n和p的最小公倍数,当n=p时,矩阵A和B的半张量积变为经典矩阵乘法,因此,半张量积是经典矩阵乘法的一个推广。下面介绍矩阵半张量积的基本性质。
引理1[16]令x∈Rm,y∈Rn,则x∝y=x⊗y。
换位矩阵的作用是交换乘积中两个向量因子的顺序。
引理2[15]设x∈Rm,y∈Rn则W[m,n]∝x∝y=y∝x。
被称为F的结构矩阵。下面介绍矩阵和向量的伪交换性。
引理3[17]设x∈Rt,A为任意实矩阵,则x∝A=(It⊗A)∝x。
引理4[18]设A∈Rm×n,b∈Rm,Ax=b的最小二乘解可以表示为x=A+b+(I-A+A)y,y为任意n维向量,其极小范数最小二乘解为x=A+b。当且仅当AA+b=b时,Ax=b有解,通解表达式为x=A+b+(I-A+A)y。
2 四元数矩阵的实向量表示及其性质
本节提出四元数矩阵的一种实向量表示,并研究其部分性质。
定义6[12]设x=x1+x2i+x3j+x4k∈Q,定义VR(x)=(x1,x2,x3,x4)T为x的实向量表示。利用这种表示,可以将四元数乘积的运算转化为向量之间的半张量积运算,
VR(xy)=MQ∝VR(x)∝VR(y),
(2)
下面定义四元数向量的实向量表示。
定义7[12]设x=(x1,x2,…,xn)∈Qn,y=(y1,y2,…,yn)T∈Qn,称
VR(x)=(VR(x1),VR(x2),…,VR(xn))T,VR(y)=(VR(y1),VR(y2),…,VR(yn))T,
分别为四元数行向量x和四元数列向量y的实向量表示。
利用四元数向量的实向量表示,可以定义四元数矩阵的实向量表示。
定义8[12]设A∈Qm×n,记colj(A)为A的第j列(1≤j≤n),rowi(A)为A的第i行(1≤i≤m),称
分别为四元数矩阵A的行实向量表示和列实向量表示。下面介绍四元数向量和四元数矩阵的实向量表示的相关性质。
②VR(αx)=αVR(x);
证明①,②显然成立,下证③。根据①、②,可得
VR(xy)=VR(x1y1+x2y2+…+xnyn)=VR(x1y1)+VR(x2y2)+…+VR(xnyn)=
MQ∝[VR(x1)∝VR(y1)+…+VR(xn)∝VR(yn)]=
证明①、②、③易得。下面证明④
3 四元数线性系统Ax=b的解
本节将根据Hankel矩阵元素的特性,提取其独立元素以简化运算。利用矩阵半张量积及四元数矩阵的实向量表示给出四元数线性系统Ax=b最小二乘解的表达式及有解的条件。
设B=(bij)∈Rm×n,记bi=(b1i,b2i,b3i,…,bmi)(i=1,2,3,…,n),令Vec(B)=(b1,b2,…,bn)T。
式中:
由引理5可类比得下面提取Hankel四元数矩阵的独立元素的定理。
则得
4 数值算例
本节将给出数值算法,并将此算法得到的数值解与精确解作比较,以验证本文所提方法的有效性。
4.1 算法
③根据式(1)计算极小范数最小二乘解xM。
4.2 数值实验
例2取不同规模下四元数线性系统Ax=b,分别用实表示[20]、复表示[21]和实向量表示方法进行误差比较,共进行k次,统计其中最优次数,取k=30。3种方法的最优次数如图2所示。
图1 误差
图2 不同规模下3种方法的最优次数Fig.2 Optimal times of three methods on different scales
从图1中看出,当维数到达30时,误差仍处于10-14数量级,可见该算法是有效的。由图2可以看出,在维数变大时,实向量表示方法误差最小的概率会更大。
5 结语
本文利用矩阵半张量积给出了四元数线性系统Ax=b的最小二乘解,同时给出了有解的充要条件,为处理该类型的方程提供了一种有效的新算法。此方法将四元数实部和三个虚部作为一个整体进行排列,充分考虑四元数Hankel次三对角矩阵的特殊结构,独立元素的提取减小了后续数值算法的复杂性。