如果你曾经玩过旋转变换在Mathematica的命令中,您可能会对它以任意维数返回答案的速度之快印象深刻。毕竟文档for此命令明确表示它“可以有效地指定n个-标注旋转组SO公司(n个).” 由于组中的元素可以通过对元素的生成器求幂来计算,在这种情况下是正交矩阵,因此Mathematica一开始就知道如何对任意维数的正交矩阵求幂,而且很快就能做到这一点。

事实证明,有一种更简单的方法来评估组中的任意元素,而不是显式地对每个单独的矩阵进行幂运算。为了说明这是如何工作的,首先快速回顾旋转矩阵及其生成器之间的关系。对于二维平面中最简单的旋转情况,旋转矢量与初始矢量的关系如下

( x个 ) =( 余弦 余弦 )( x个)

通过角度进行右手旋转此旋转的生成器由矩阵表示 ( 01 10 )  .这个矩阵的平方是单位矩阵的负数,它的立方体是它自己的负数

经验[ ( 01 10 )] =( 10 01 ) + ( 01 10 ) -2 2! ( 10 01 ) - ! ( 01 10 ) + 经验[ ( 01 10 )] =余弦 ( 10 01 ) + ( 01 10 ) 经验[ ( 01 10 )] =( 余弦 余弦 )

导致上述旋转矩阵。旋转的生成器可以写为外部产品沿x个-轴和-轴,

( 01 10 ) =( 01 )( 10) -( 10 )( 01) = ^ x个 ^T型 -x个 ^ ^T型

其中,每个项右侧的转置向量向左乘以向量的每个分量,以生成相加的矩阵。由于最终结果现在是一个通用的向量语句,因此可以立即将其扩展到更高的维度。等效三维生成器为

L(左)12 = ^ x个 ^T型 -x个 ^ ^T型 =( 010 )( 100) -( 100 )( 010) =( 010 100 000 )

其中下标表示这是从x个-轴朝向-轴。请注意,在形成此生成器时,第一个索引以负号显示为非传递向量。剩下的两个右旋发电机是

L(左)23 =z ^ ^T型 - ^ z ^T型 =( 001 )( 010) -( 010 )( 001) =( 000 001 010 ) L(左)31 =x个 ^ z ^T型 -z ^ x个 ^T型 =( 100 )( 001) -( 001 )( 100) =( 001 000 100 )

因为有三个坐标轴,两两组合的数量也是三个,所以在三维中可以进行识别

L(左)1=L(左)23 L(左)2=L(左)31 L(左)=L(左)12

并将旋转描述为围绕相应的轴。旋转矩阵可以围绕每个轴单独计算,就像二维平面中的旋转一样,结果如下

经验[1 L(左)1] =( 100 0余弦1 1 01 余弦1 ) 经验[2 L(左)2] =( 余弦20 2 010 2 0余弦2 ) 经验[ L(左)] =( 余弦 0 余弦0 001 )

在三维中,也可以考虑绕长轴旋转一个角度 =12 +22 +2  .这种旋转的发生器是线性组合 · L(左) =n个· L(左)  ,哪里n个是旋转轴方向的单位矢量。这种广义旋转的旋转矩阵是通过对矩阵求幂得到的

A类=( 0 2 0 1 2 10 ) =( 0n个 n个2 n个0 n个1 n个2 n个10 )

哪里 n个12 +n个22 +n个2 =1 因为这些数字是方向余弦,表示旋转轴相对于三个坐标轴的倾斜。这个矩阵的正方形和立方体是

A类2 =2 +( 12 12 1 12 22 2 1 2 2 )   A类=( 12 +22 +2)A类 =2A类

指数矩阵可以写成

电子A类= +( )A类 +(1 -余弦 2) A类2

其中分母规范化了系数矩阵的幂。当应用于向量时,结果为罗德里格斯旋转公式:

电子A类第页 =第页 余弦 +( 0n个 n个2 n个0 n个1 n个2 n个10 )( x个z ) +(1-余弦) ( n个12 n个1n个2 n个1n个 n个1n个2 n个22 n个2n个 n个1n个 n个2n个 n个2 )( x个z ) 电子A类第页 =第页 余弦 +(n个× 第页) +n个 (n个· 第页) (1-余弦)

在四维空间中,人们再也无法将旋转描述为绕轴旋转,因为有两个轴垂直于每个平面,并且描述中存在歧义。在更高的维度中,垂直于每个平面的轴甚至更多,因此n个尺寸最好描述为(n个从一个单位向量到另一个单位矢量方向上的−1)维超平面。

上面关于外积的生成器的定义是向量表示法,因此可以立即扩展到描述由两个定义的任何超平面中的旋转n个-维向量。给定任意两个正交单位向量n个1n个2,这意味着

n个1 T型 n个1 =1 n个1 T型 n个2 =n个2 T型 n个1 =0 n个2 T型 n个2 =1

由两个向量跨越的超平面中的旋转生成器为

L(左)n个1 n个2 =n个2 n个1 T型 -n个1 n个2 T型

发电机的形成功率,

L(左) n个1 n个2 2 =( n个1 n个1 T型 +n个2 n个2 T型) L(左) n个1 n个2 =( n个2 n个1 T型 -n个1 n个2 T型)

这个n个-维旋转矩阵很简单

经验[L(左) n个1 n个2 ] = +(n个2 n个1 T型 -n个1 n个2 T型) +(n个1 n个1 T型 +n个2 n个2 T型) (余弦-1)

与罗德里格斯的旋转公式相比,上学期的符号差异是由于相邻外积的一个额外减号。这个n个×n个矩阵现在可以应用于n个-维向量,以在指定超平面中旋转后找到其最终值。

给定两个不正交的向量,可以应用Gram-Schmidt正交性过程,将第二个向量重正化,并用两个新的正交单位向量形成旋转矩阵。这正是Mathematica在任何维度上快速生成答案时所做的。求幂运算已经在通用公式中进行了,不需要对每个特定情况都进行显式运算,并形成n个×n个矩阵对于Mathematica来说是微不足道的。

为了证明这个通用公式与上述结果在三维上的一致性,只需选择满足v(v)1 · n个=0,相对于三维旋转轴,形成其正交向量v(v)2 = v(v)1×n个,对两个向量进行归一化,并做一点代数运算。由于有一个完整的旋转平面来选择向量,因此任何初始选择都会导致此方法得到相同的结果。

在四维中,使用基于局部同构的方法可以显式计算一般正交矩阵的指数SO公司(4)  SO公司(3)SO公司(3) .一般系数矩阵为

A类=( 012 13 14 120 2324 13 23 034 14 24 340 )

为了方便起见,减号都保持在对角线以下。对该矩阵本身进行平方运算会产生一个对称矩阵,其解释并不立即清楚,但如果首先写入

A类=12 (A类+ +A类-) A类+ =( 0 12+34 13-24 14+23 12 -34 0 14+23 13 +24 13 +24 14 -23 0 12+34 14 -23 13-24 12 -34 0 ) A类- =( 0 12-34 13+24 14 +23 12 +34 0 14-23 13+24 13 -24 14 +23 0 12 +34 14-23 13 -24 12-34 0 )

然后,很容易验证这两个矩阵是否相互转换: [A类+, A类-]=0  .形成正方形

A类+2 =[(12 +34)2 +(13 -24)2 +(14 +23)2 ] =+2 A类-2 =[(12 -34)2 +(13 +24)2 +(14 -23)2 ] =-2

所以完整的指数矩阵是

电子A类= 电子A类+/2 电子A类-/2 = 电子A类-/2 电子A类+/2 电子A类 =[余弦( +/2) +( +/2) + A类+] ×[余弦( -/2) +( -/2) - A类-]

可以将此方法描述为安排以下六个参数SO公司(4) 分成两个向量,记住其中一个是在处理SO公司(3).


2013.01.15上传-2017.12.17更新 analyticphysics.com