Meta最新模型LLaMA细节与代码详解
0. 简介
今天介绍的内容是Facebook Meta AI最新提出的语言模型LLaMA,该模型声称以更小的体积,在多数任务上超越了GPT-3的性能。
模型相关项目已经开源:
https://github.com/facebookresearch/llama
由于模型较大,目前的设备暂时没有办法支持进一步的实验,但是其模型代码已经开源,所以可以先通过代码了解一下模型结构上的一些细节,今天就针对github上放出的代码,了解一下模型的细节。
此外,该模型其实就是transformer做了一点细节上的改进,真正更有价值的工作应该在数据和训练方面。通过阅读代码,可以对transformer的基础构造进行复习,并且了解大模型如何在多卡上分布推理。
由于该项目源码几乎没有注释,这就肯定会给很多同学阅读时带来困扰,所以本文顺带着就把代码部分详细的介绍一下。
1. 项目环境依赖
此项目给出的环境依赖只有4个:
- torch
- fairscale
- fire
- sentencepiece
其中torch不比多讲,fairscale是用来做GPU分布的,一般是当使用DDP仍然遇到超显存的问题时使用fairscale。目前fairscale我还没有试过,在下文的源码介绍中,我会用torch中对应的基础网络替代fairscale中的结构层进行介绍。fire是一个命令行工具,用或者不用他都可以,sentencepiece是用于tokenizer的工具包,会在tokenizer部分简单介绍。
2. 模型细节
由于该模型就是用的transformer的decoder,所以在结构上它与GPT是非常类似的,只是有一些细节需要注意一下。
2.1 RMS Pre-Norm
关于Pre-Norm和Post-Norm是神经网络中老生常谈的话题,目前比较普遍的被大家接受的结论是,相同的深度条件下,Post-Norm的效果要优于Pre-Norm,因为Pre-Norm实际上相当于通过了一个更宽的网络而非更深的网络,所以在同等深度下,Pre-Norm的实际效果相当于一个更浅却更宽的网络,详细的推理过程参考:https://spaces.ac.cn/archives/9009。
然而在LLaMA中却采用了Pre-Norm,或许是因为模型够深(7B,13B,30B,65B的模型,transformer layer数量分别为32,40,60,80),而Pre-Norm的恒等分支更加明显,有利于梯度的传播(这部分暂时没有想到很合理的解释,如果有更好的理解,欢迎在评论区补充)。
RMS Norm(Root Mean Square Layer Normalization),是一般LayerNorm的一种变体,可以在梯度下降时令损失更加平滑。
与layerNorm相比,RMS Norm的主要区别在于去掉了减去均值的部分(re-centering),只保留方差部分(re-scaling),从归一化的表达式上可以直观地看出:
- 一般的LN:
a
‾
i
=
a
i
−
μ
σ
g
i
\overline{a}_i = \frac {a_i- \mu} \sigma g_i
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.7806em; vertical-align: -0.15em;"></span><span class="mord"><span class="mord overline"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height: 0.6306em;"><span class="" style="top: -3em;"><span class="pstrut" style="height: 3em;"></span><span class="mord"><span class="mord mathnormal">a</span></span></span><span class="" style="top: -3.5506em;"><span class="pstrut" style="height: 3em;"></span><span class="overline-line" style="border-bottom-width: 0.04em;"></span></span></span></span></span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.3117em;"><span class="" style="top: -2.55em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span><span class="mspace" style="margin-right: 0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right: 0.2778em;"></span></span><span class="base"><span class="strut" style="height: 1.9463em; vertical-align: -0.686em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 1.2603em;"><span class="" style="top: -2.314em;"><span class="pstrut" style="height: 3em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right: 0.0359em;">σ</span></span></span><span class="" style="top: -3.23em;"><span class="pstrut" style="height: 3em;"></span><span class="frac-line" style="border-bottom-width: 0.04em;"></span></span><span class="" style="top: -3.677em;"><span class="pstrut" style="height: 3em;"></span><span class="mord"><span class="mord"><span class="mord mathnormal">a</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.3117em;"><span class="" style="top: -2.55em; margin-left: 0em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span><span class="mspace" style="margin-right: 0.2222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right: 0.2222em;"></span><span class="mord mathnormal">μ</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.686em;"><span class=""></span></span></span></span></span><span class="mclose nulldelimiter"></span></span><span class="mord"><span class="mord mathnormal" style="margin-right: 0.0359em;">g</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.3117em;"><span class="" style="top: -2.55em; margin-left: -0.0359em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span></span></span></span></span></span><br> 其中,</p>
μ
=
1
n
∑
i
=
1
n
a
i
\mu = \frac 1 n \sum_{i=1}^na_i
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.625em; vertical-align: -0.1944em;"></span><span class="mord mathnormal">μ</span><span class="mspace" style="margin-right: 0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right: 0.2778em;"></span></span><span class="base"><span class="strut" style="height: 2.9291em; vertical-align: -1.2777em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 1.3214em;"><span class="" style="top: -2.314em;"><span class="pstrut" style="height: 3em;"></span><span class="mord"><span class="mord mathnormal">n</span></span></span><span class="" style="top: -3.23em;"><span class="pstrut" style="height: 3em;"></span><span class="frac-line" style="border-bottom-width: 0.04em;"></span></span><span class="" style="top: -3.677em;"><span class="pstrut" style="height: 3em;"></span><span class="mord"><span class="mord">1</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.686em;"><span class=""></span></span></span></span></span><span class="mclose nulldelimiter"></span></span><span class="mspace" style="margin-right: 0.1667em;"></span><span class="mop op-limits"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 1.6514em;"><span class="" style="top: -1.8723em; margin-left: 0em;"><span class="pstrut" style="height: 3.05em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">i</span><span class="mrel mtight">=</span><span class="mord mtight">1</span></span></span></span><span class="" style="top: -3.05em;"><span class="pstrut" style="height: 3.05em;"></span><span class=""><span class="mop op-symbol large-op">∑</span></span></span><span class="" style="top: -4.3em; margin-left: 0em;"><span class="pstrut" style="height: 3.05em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">n</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 1.2777em;"><span class=""></span></span></span></span></span><span class="mspace" style="margin-right: 0.1667em;"></span><span class="mord"><span class="mord mathnormal">a</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.3117em;"><span class="" style="top: -2.55em; margin-left: 0em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span></span></span></span></span></span><br> <span class="katex--display"><span class="katex-display"><span class="katex"><span class="katex-mathml">
σ
=
1
n
∑
i
=
1
n
(
a
i
−
μ
)
2
\sigma= \sqrt {\frac 1 n \sum_{i=1}^n{<!-- -->{(a_i-\mu)}^2}}
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.4306em;"></span><span class="mord mathnormal" style="margin-right: 0.0359em;">σ</span><span class="mspace" style="margin-right: 0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right: 0.2778em;"></span></span><span class="base"><span class="strut" style="height: 3.1568em; vertical-align: -1.2777em;"></span><span class="mord sqrt"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 1.8791em;"><span class="svg-align" style="top: -5.1168em;"><span class="pstrut" style="height: 5.1168em;"></span><span class="mord" style="padding-left: 1.056em;"><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 1.3214em;"><span class="" style="top: -2.314em;"><span class="pstrut" style="height: 3em;"></span><span class="mord"><span class="mord mathnormal">n</span></span></span><span class="" style="top: -3.23em;"><span class="pstrut" style="height: 3em;"></span><span class="frac-line" style="border-bottom-width: 0.04em;"></span></span><span class="" style="top: -3.677em;"><span class="pstrut" style="height: 3em;"></span><span class="mord"><span class="mord">1</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.686em;"><span class=""></span></span></span></span></span><span class="mclose nulldelimiter"></span></span><span class="mspace" style="margin-right: 0.1667em;"></span><span class="mop op-limits"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 1.6514em;"><span class="" style="top: -1.8723em; margin-left: 0em;"><span class="pstrut" style="height: 3.05em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">i</span><span class="mrel mtight">=</span><span class="mord mtight">1</span></span></span></span><span class="" style="top: -3.05em;"><span class="pstrut" style="height: 3.05em;"></span><span class=""><span class="mop op-symbol large-op">∑</span></span></span><span class="" style="top: -4.3em; margin-left: 0em;"><span class="pstrut" style="height: 3.05em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">n</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 1.2777em;"><span class=""></span></span></span></span></span><span class="mspace" style="margin-right: 0.1667em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mopen">(</span><span class="mord"><span class="mord mathnormal">a</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.3117em;"><span class="" style="top: -2.55em; margin-left: 0em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span><span class="mspace" style="margin-right: 0.2222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right: 0.2222em;"></span><span class="mord mathnormal">μ</span><span class="mclose">)</span></span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height: 0.954em;"><span class="" style="top: -3.2029em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span></span></span></span><span class="" style="top: -3.8391em;"><span class="pstrut" style="height: 5.1168em;"></span><span class="hide-tail" style="min-width: 0.742em; height: 3.1968em;">
<svg width="400em" height="3.1968em" viewBox="0 0 400000 3196" preserveAspectRatio="xMinYMin slice">
<path d="M702 80H40000040
H742v3062l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1
h-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170
c-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667
219 661 l218 661zM702 80H400000v40H742z">
- RMS Norm:
a ‾ i = a i R M S ( a ) g i \overline{a}_i = \frac {a_i} {RMS(a)} g_i </span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.7806em; vertical-align: -0.15em;"></span><span class="mord"><span class="mord overline"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height: 0.6306em;"><span class="" style="top: -3em;"><span class="pstrut" style="height: 3em;"></span><span class="mord"><span class="mord mathnormal">a</span></span></span><span class="" style="top: -3.5506em;"><span class="pstrut" style="height: 3em;"></span><span class="overline-line" style="border-bottom-width: 0.04em;"></span></span></span></span></span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.3117em;"><span class="" style="top: -2.55em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span><span class="mspace" style="margin-right: 0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right: 0.2778em;"></span></span><span class="base"><span class="strut" style="height: 2.0436em; vertical-align: -0.936em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 1.1076em;"><span class="" style="top: -2.314em;"><span class="pstrut" style="height: 3em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right: 0.0576em;">RMS</span><span class="mopen">(</span><span class="mord mathnormal">a</span><span class="mclose">)</span></span></span><span class="" style="top: -3.23em;"><span class="pstrut" style="height: 3em;"></span><span class="frac-line" style="border-bottom-width: 0.04em;"></span></span><span class="" style="top: -3.677em;"><span class="pstrut" style="height: 3em;"></span><span class="mord"><span class="mord"><span class="mord mathnormal">a</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.3117em;"><span class="" style="top: -2.55em; margin-left: 0em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.936em;"><span class=""></span></span></span></span></span><span class="mclose nulldelimiter"></span></span><span class="mord"><span class="mord mathnormal" style="margin-right: 0.0359em;">g</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.3117em;"><span class="" style="top: -2.55em; margin-left: -0.0359em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span></span></span></span></span></span><br> 其中,<br> <span class="katex--display"><span class="katex-display"><span class="katex"><span class="katex-mathml"> R M S ( a ) = 1 n ∑ i = 1 n a i 2 {RMS(a)}=\sqrt {\frac 1 n \sum_{i=1}^n{<!-- -->{a_i}^2}} </span><span class="katex-html"><span class="base"><span class="strut" style="height: 1em; vertical-align: -0.25em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right: 0.0576em;">RMS</span><span class="mopen">(</span><span class="mord mathnormal">a</span><span class="mclose">)</span></span><span class="mspace" style="margin-right: 0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right: 0.2778em;"></span></span><span class="base"><span class="strut" style="height: 3.1568em; vertical-align: -1.2777em;"></span><span class="mord sqrt"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 1.8791em;"><span class="svg-align" style="top: -5.1168em;"><span class="pstrut" style="height: 5.1168em;"></span><span class="mord" style="padding-left: 1.056em;"><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 1.3214em;"><span class="" style="top: -2.314em;"><span class="pstrut" style="height: 3em;"></span><span class="mord"><span class="mord mathnormal">n</span></span></span><span class="" style="top: -3.23em;"><span class="pstrut" style="height: 3em;"></span><span class="frac-line" style="border-bottom-width: 0.04em;"></span></span><span class="" style="top: -3.677em;"><span class="pstrut" style="height: 3em;"></span><span class="mord"><span class="mord">1</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.686em;"><span class=""></span></span></span></span></span><span class="mclose nulldelimiter"></span></span><span class="mspace" style="margin-right: 0.1667em;"></span><span class="mop op-limits"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 1.6514em;"><span class="" style="top: -1.8723em; margin-left: 0em;"><span class="pstrut" style="height: 3.05em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">i</span><span class="mrel mtight">=</span><span class="mord mtight">1</span></span></span></span><span class="" style="top: -3.05em;"><span class="pstrut" style="height: 3.05em;"></span><span class=""><span class="mop op-symbol large-op">∑</span></span></span><span class="" style="top: -4.3em; margin-left: 0em;"><span class="pstrut" style="height: 3.05em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">n</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 1.2777em;"><span class=""></span></span></span></span></span><span class="mspace" style="margin-right: 0.1667em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord"><span class="mord mathnormal">a</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.3117em;"><span class="" style="top: -2.55em; margin-left: 0em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span></span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height: 0.7401em;"><span class="" style="top: -2.989em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span></span></span></span><span class="" style="top: -3.8391em;"><span class="pstrut" style="height: 5.1168em;"></span><span class="hide-tail" style="min-width: 0.742em; height: 3.1968em;"> <svg width="400em" height="3.1968em" viewBox="0 0 400000 3196" preserveAspectRatio="xMinYMin slice"> <path d="M702 80H40000040
H742v3062l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1
h-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170
c-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667
219 661 l218 661zM702 80H400000v40H742z">
可以看到,二者的区别就在于有没有减去均值。至于RMS Norm为什么有用,需要求梯度进行分析,感兴趣的同学可以阅读RMS Norm的论文。
2.2 SwiGLU激活函数
LLaMA采用SwiGLU替换了原有的ReLU。
采用SwiGLU的FNN,在论文中以如下公式进行表述:
F
F
N
s
w
i
G
L
U
(
x
,
W
,
V
,
W
2
)
=
(
S
w
i
s
h
1
(
x
W
)
⊗
x
V
)
W
2
FFN_{swiGLU}(x, W, V, W_2) = (Swish_1(xW)\otimes xV)W_2
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 1em; vertical-align: -0.25em;"></span><span class="mord mathnormal" style="margin-right: 0.1389em;">FF</span><span class="mord"><span class="mord mathnormal" style="margin-right: 0.109em;">N</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.3283em;"><span class="" style="top: -2.55em; margin-left: -0.109em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">s</span><span class="mord mathnormal mtight" style="margin-right: 0.0269em;">w</span><span class="mord mathnormal mtight">i</span><span class="mord mathnormal mtight">G</span><span class="mord mathnormal mtight" style="margin-right: 0.109em;">LU</span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mpunct">,</span><span class="mspace" style="margin-right: 0.1667em;"></span><span class="mord mathnormal" style="margin-right: 0.1389em;">W</span><span class="mpunct">,</span><span class="mspace" style="margin-right: 0.1667em;"></span><span class="mord mathnormal" style="margin-right: 0.2222em;">V</span><span class="mpunct">,</span><span class="mspace" style="margin-right: 0.1667em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right: 0.1389em;">W</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.3011em;"><span class="" style="top: -2.55em; margin-left: -0.1389em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span><span class="mclose">)</span><span class="mspace" style="margin-right: 0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right: 0.2778em;"></span></span><span class="base"><span class="strut" style="height: 1em; vertical-align: -0.25em;"></span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right: 0.0269em;">Sw</span><span class="mord mathnormal">i</span><span class="mord mathnormal">s</span><span class="mord"><span class="mord mathnormal">h</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.3011em;"><span class="" style="top: -2.55em; margin-left: 0em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mord mathnormal" style="margin-right: 0.1389em;">W</span><span class="mclose">)</span><span class="mspace" style="margin-right: 0.2222em;"></span><span class="mbin">⊗</span><span class="mspace" style="margin-right: 0.2222em;"></span></span><span class="base"><span class="strut" style="height: 1em; vertical-align: -0.25em;"></span><span class="mord mathnormal">x</span><span class="mord mathnormal" style="margin-right: 0.2222em;">V</span><span class="mclose">)</span><span class="mord"><span class="mord mathnormal" style="margin-right: 0.1389em;">W</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.3011em;"><span class="" style="top: -2.55em; margin-left: -0.1389em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span></span></span></span></span></span></p>
其中,
S
w
i
s
h
β
(
x
)
=
x
σ
(
β
x
)
Swish_\beta(x) = x\sigma(\beta x)
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 1.0361em; vertical-align: -0.2861em;"></span><span class="mord mathnormal" style="margin-right: 0.0269em;">Sw</span><span class="mord mathnormal">i</span><span class="mord mathnormal">s</span><span class="mord"><span class="mord mathnormal">h</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.3361em;"><span class="" style="top: -2.55em; margin-left: 0em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right: 0.0528em;">β</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.2861em;"><span class=""></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mclose">)</span><span class="mspace" style="margin-right: 0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right: 0.2778em;"></span></span><span class="base"><span class="strut" style="height: 1em; vertical-align: -0.25em;"></span><span class="mord mathnormal">x</span><span class="mord mathnormal" style="margin-right: 0.0359em;">σ</span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right: 0.0528em;">β</span><span class="mord mathnormal">x</span><span class="mclose">)</span></span></span></span></span>, (<a href="https://arxiv.org/abs/1710.05941" rel="nofollow">Ramachandran et al., 2017</a>.)</p>
2.3 RoPE旋转位置编码
RoPE(Rotary Position Embedding)旋转位置编码,是苏剑林老师提出的一种旋转位置编码方法,其思想是采用绝对位置编码的形式,实现相对位置编码。这一部分比较关键,如果不理解的话,后边的代码估计就看不懂了。读懂RoPE涉及一点复变函数的基础知识,不过如果你没有学过的话也没有关系。
位置编码对大模型而言尤为重要,因为既然是要训练大模型,那么长文本的表征和模型对于长文本的建模能力就显得非常重要。(但是对于绝对位置编码,我有一个直观地感受,认为其本质上不适用于长文本的场景,因为它会直接导致模型的Embedding层被无限放大,并且由于数据分布在seq_len方向上通常是长尾的,这又会必然导致绝对位置编码的矩阵在尾部会越来越稀疏,一方面造成资源浪费,另一方面这种表示方法直观上就很不利于模型的学习,因为它与我们实际场景是有很大的矛盾的。而RoPE虽然具有相对位置编码的性质,但是从代码部分可以看出,在构造的时候,其也是受到了最大长度的限制的。关于这一点,我无法严谨得说明,只是一点个人的想法。)。
而RoPE的巧妙之处在于,它既保留了绝对位置编码中的绝对位置信息,又保留了在内积运算下,对位置信息的相对性。
RoPE主要借助了复数的思想。为了引入复数,首先假设了在加入位置信息之前,原有的编码向量是二维行向量
q
m
q_m
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.625em; vertical-align: -0.1944em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right: 0.0359em;">q</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.1514em;"><span class="" style="top: -2.55em; margin-left: -0.0359em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">m</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span></span></span></span></span>和<span class="katex--inline"><span class="katex"><span class="katex-mathml">
k
n
k_n
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.8444em; vertical-align: -0.15em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right: 0.0315em;">k</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.1514em;"><span class="" style="top: -2.55em; margin-left: -0.0315em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">n</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span></span></span></span></span>,其中<span class="katex--inline"><span class="katex"><span class="katex-mathml">
m
m
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.4306em;"></span><span class="mord mathnormal">m</span></span></span></span></span>和<span class="katex--inline"><span class="katex"><span class="katex-mathml">
n
n
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.4306em;"></span><span class="mord mathnormal">n</span></span></span></span></span>是绝对位置,现在需要构造一个变换,将<span class="katex--inline"><span class="katex"><span class="katex-mathml">
m
m
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.4306em;"></span><span class="mord mathnormal">m</span></span></span></span></span>和<span class="katex--inline"><span class="katex"><span class="katex-mathml">
n
n
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.4306em;"></span><span class="mord mathnormal">n</span></span></span></span></span>引入到<span class="katex--inline"><span class="katex"><span class="katex-mathml">
q
m
q_m
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.625em; vertical-align: -0.1944em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right: 0.0359em;">q</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.1514em;"><span class="" style="top: -2.55em; margin-left: -0.0359em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">m</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span></span></span></span></span>和<span class="katex--inline"><span class="katex"><span class="katex-mathml">
k
n
k_n
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.8444em; vertical-align: -0.15em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right: 0.0315em;">k</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.1514em;"><span class="" style="top: -2.55em; margin-left: -0.0315em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">n</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span></span></span></span></span>中,即寻找变换:</p>
q
m
~
=
f
(
q
,
m
)
,
k
n
~
=
f
(
k
,
n
)
\tilde {q_m} = f(q, m), \tilde{k_n} = f(k, n)
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.8623em; vertical-align: -0.1944em;"></span><span class="mord accent"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.6679em;"><span class="" style="top: -3em;"><span class="pstrut" style="height: 3em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right: 0.0359em;">q</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.1514em;"><span class="" style="top: -2.55em; margin-left: -0.0359em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">m</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span></span><span class="" style="top: -3.35em;"><span class="pstrut" style="height: 3em;"></span><span class="accent-body" style="left: -0.25em;"><span class="mord">~</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.1944em;"><span class=""></span></span></span></span></span><span class="mspace" style="margin-right: 0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right: 0.2778em;"></span></span><span class="base"><span class="strut" style="height: 1.1813em; vertical-align: -0.25em;"></span><span class="mord mathnormal" style="margin-right: 0.1076em;">f</span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right: 0.0359em;">q</span><span class="mpunct">,</span><span class="mspace" style="margin-right: 0.1667em;"></span><span class="mord mathnormal">m</span><span class="mclose">)</span><span class="mpunct">,</span><span class="mspace" style="margin-right: 0.1667em;"></span><span class="mord accent"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.9313em;"><span class="" style="top: -3em;"><span class="pstrut" style="height: 3em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right: 0.0315em;">k</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.1514em;"><span class="" style="top: -2.55em; margin-left: -0.0315em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">n</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span></span><span class="" style="top: -3.6134em;"><span class="pstrut" style="height: 3em;"></span><span class="accent-body" style="left: -0.25em;"><span class="mord">~</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span><span class="mspace" style="margin-right: 0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right: 0.2778em;"></span></span><span class="base"><span class="strut" style="height: 1em; vertical-align: -0.25em;"></span><span class="mord mathnormal" style="margin-right: 0.1076em;">f</span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right: 0.0315em;">k</span><span class="mpunct">,</span><span class="mspace" style="margin-right: 0.1667em;"></span><span class="mord mathnormal">n</span><span class="mclose">)</span></span></span></span></span></span><br> 考虑到Attention的核心计算是内积:<br> <span class="katex--display"><span class="katex-display"><span class="katex"><span class="katex-mathml">
A
t
t
e
n
t
i
o
n
(
Q
,
K
,
V
)
=
s
o
f
t
m
a
x
(
Q
K
T
d
k
)
V
Attention(Q, K,V) = softmax(\frac {QK^T} {\sqrt{d_k}})V
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 1em; vertical-align: -0.25em;"></span><span class="mord mathnormal">A</span><span class="mord mathnormal">tt</span><span class="mord mathnormal">e</span><span class="mord mathnormal">n</span><span class="mord mathnormal">t</span><span class="mord mathnormal">i</span><span class="mord mathnormal">o</span><span class="mord mathnormal">n</span><span class="mopen">(</span><span class="mord mathnormal">Q</span><span class="mpunct">,</span><span class="mspace" style="margin-right: 0.1667em;"></span><span class="mord mathnormal" style="margin-right: 0.0715em;">K</span><span class="mpunct">,</span><span class="mspace" style="margin-right: 0.1667em;"></span><span class="mord mathnormal" style="margin-right: 0.2222em;">V</span><span class="mclose">)</span><span class="mspace" style="margin-right: 0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right: 0.2778em;"></span></span><span class="base"><span class="strut" style="height: 2.4483em; vertical-align: -0.93em;"></span><span class="mord mathnormal">so</span><span class="mord mathnormal" style="margin-right: 0.1076em;">f</span><span class="mord mathnormal">t</span><span class="mord mathnormal">ma</span><span class="mord mathnormal">x</span><span class="mopen">(</span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 1.5183em;"><span class="" style="top: -2.2528em;"><span class="pstrut" style="height: 3em;"></span><span class="mord"><span class="mord sqrt"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.8572em;"><span class="svg-align" style="top: -3em;"><span class="pstrut" style="height: 3em;"></span><span class="mord" style="padding-left: 0.833em;"><span class="mord"><span class="mord mathnormal">d</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.3361em;"><span class="" style="top: -2.55em; margin-left: 0em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right: 0.0315em;">k</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span></span></span><span class="" style="top: -2.8172em;"><span class="pstrut" style="height: 3em;"></span><span class="hide-tail" style="min-width: 0.853em; height: 1.08em;">
<svg width="400em" height="1.08em" viewBox="0 0 400000 1080" preserveAspectRatio="xMinYMin slice">
<path d="M95,702
c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14
c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54
c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10
s173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429
c69,-144,104.5,-217.7,106.5,-221
l0 -0
c5.3,-9.3,12,-14,20,-14
H400000v40H845.2724
s-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7
c-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z
M834 80h400000v40h-400000z">
QKT)V
所以,寻求的这个
f
(
∗
)
f(*)
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 1em; vertical-align: -0.25em;"></span><span class="mord mathnormal" style="margin-right: 0.1076em;">f</span><span class="mopen">(</span><span class="mord">∗</span><span class="mclose">)</span></span></span></span></span>变换,应该具有特性:<span class="katex--inline"><span class="katex"><span class="katex-mathml">
⟨
f
(
q
,
m
)
,
f
(
k
,
n
)
⟩
=
g
(
q
,
k
,
m
−
n
)
\langle f(q, m), f(k, n) \rangle = g(q, k, m-n)
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 1em; vertical-align: -0.25em;"></span><span class="mopen">⟨</span><span class="mord mathnormal" style="margin-right: 0.1076em;">f</span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right: 0.0359em;">q</span><span class="mpunct">,</span><span class="mspace" style="margin-right: 0.1667em;"></span><span class="mord mathnormal">m</span><span class="mclose">)</span><span class="mpunct">,</span><span class="mspace" style="margin-right: 0.1667em;"></span><span class="mord mathnormal" style="margin-right: 0.1076em;">f</span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right: 0.0315em;">k</span><span class="mpunct">,</span><span class="mspace" style="margin-right: 0.1667em;"></span><span class="mord mathnormal">n</span><span class="mclose">)⟩</span><span class="mspace" style="margin-right: 0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right: 0.2778em;"></span></span><span class="base"><span class="strut" style="height: 1em; vertical-align: -0.25em;"></span><span class="mord mathnormal" style="margin-right: 0.0359em;">g</span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right: 0.0359em;">q</span><span class="mpunct">,</span><span class="mspace" style="margin-right: 0.1667em;"></span><span class="mord mathnormal" style="margin-right: 0.0315em;">k</span><span class="mpunct">,</span><span class="mspace" style="margin-right: 0.1667em;"></span><span class="mord mathnormal">m</span><span class="mspace" style="margin-right: 0.2222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right: 0.2222em;"></span></span><span class="base"><span class="strut" style="height: 1em; vertical-align: -0.25em;"></span><span class="mord mathnormal">n</span><span class="mclose">)</span></span></span></span></span></p>
这里直接说结论,寻求的变换就是
q
m
e
i
m
θ
q_me^{im\theta}
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 1.0435em; vertical-align: -0.1944em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right: 0.0359em;">q</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.1514em;"><span class="" style="top: -2.55em; margin-left: -0.0359em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">m</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span><span class="mord"><span class="mord mathnormal">e</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height: 0.8491em;"><span class="" style="top: -3.063em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">im</span><span class="mord mathnormal mtight" style="margin-right: 0.0278em;">θ</span></span></span></span></span></span></span></span></span></span></span></span></span>,也就是给<span class="katex--inline"><span class="katex"><span class="katex-mathml">
q
m
q_m
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.625em; vertical-align: -0.1944em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right: 0.0359em;">q</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.1514em;"><span class="" style="top: -2.55em; margin-left: -0.0359em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">m</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span></span></span></span></span>乘以<span class="katex--inline"><span class="katex"><span class="katex-mathml">
e
i
m
θ
e^{im\theta}
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.8491em;"></span><span class="mord"><span class="mord mathnormal">e</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height: 0.8491em;"><span class="" style="top: -3.063em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">im</span><span class="mord mathnormal mtight" style="margin-right: 0.0278em;">θ</span></span></span></span></span></span></span></span></span></span></span></span></span>,相应地,<span class="katex--inline"><span class="katex"><span class="katex-mathml">
k
n
k_n
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.8444em; vertical-align: -0.15em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right: 0.0315em;">k</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.1514em;"><span class="" style="top: -2.55em; margin-left: -0.0315em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">n</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span></span></span></span></span>乘以<span class="katex--inline"><span class="katex"><span class="katex-mathml">
e
i
n
θ
e^{in\theta}
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.8491em;"></span><span class="mord"><span class="mord mathnormal">e</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height: 0.8491em;"><span class="" style="top: -3.063em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">in</span><span class="mord mathnormal mtight" style="margin-right: 0.0278em;">θ</span></span></span></span></span></span></span></span></span></span></span></span></span>。</p>
具体的求解过程,请参考苏剑林老师的博客。
做了这样一个变换之后,根据复数的特性,有:
⟨
q
m
,
k
n
⟩
=
R
e
[
q
m
k
n
∗
]
\langle q_m, k_n \rangle = Re[q_mk^*_n]
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 1em; vertical-align: -0.25em;"></span><span class="mopen">⟨</span><span class="mord"><span class="mord mathnormal" style="margin-right: 0.0359em;">q</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.1514em;"><span class="" style="top: -2.55em; margin-left: -0.0359em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">m</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span><span class="mpunct">,</span><span class="mspace" style="margin-right: 0.1667em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right: 0.0315em;">k</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.1514em;"><span class="" style="top: -2.55em; margin-left: -0.0315em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">n</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span><span class="mclose">⟩</span><span class="mspace" style="margin-right: 0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right: 0.2778em;"></span></span><span class="base"><span class="strut" style="height: 1em; vertical-align: -0.25em;"></span><span class="mord mathnormal" style="margin-right: 0.0077em;">R</span><span class="mord mathnormal">e</span><span class="mopen">[</span><span class="mord"><span class="mord mathnormal" style="margin-right: 0.0359em;">q</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.1514em;"><span class="" style="top: -2.55em; margin-left: -0.0359em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">m</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span><span class="mord"><span class="mord mathnormal" style="margin-right: 0.0315em;">k</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.7387em;"><span class="" style="top: -2.453em; margin-left: -0.0315em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">n</span></span></span><span class="" style="top: -3.113em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mbin mtight">∗</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.247em;"><span class=""></span></span></span></span></span></span><span class="mclose">]</span></span></span></span></span></span></p>
也就是,如果把二维向量看做复数,那么它们的内积,等于一个复数乘以另一个复数的共轭,得到的结果再取实部。
带入上面的变换,也就有:
⟨
q
m
e
i
m
θ
,
k
n
e
i
n
θ
⟩
=
R
e
[
(
q
m
e
i
m
θ
)
(
k
n
e
i
n
θ
)
∗
]
=
R
e
[
q
m
k
n
∗
e
i
(
m
−
n
)
θ
]
\langle q_me^{im\theta}, k_ne^{in\theta} \rangle = Re[(q_me^{im\theta}) (k_ne^{in\theta})^*] =Re[q_mk_n^*e^{i(m-n)\theta}]
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 1.1491em; vertical-align: -0.25em;"></span><span class="mopen">⟨</span><span class="mord"><span class="mord mathnormal" style="margin-right: 0.0359em;">q</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.1514em;"><span class="" style="top: -2.55em; margin-left: -0.0359em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">m</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span><span class="mord"><span class="mord mathnormal">e</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height: 0.8991em;"><span class="" style="top: -3.113em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">im</span><span class="mord mathnormal mtight" style="margin-right: 0.0278em;">θ</span></span></span></span></span></span></span></span></span><span class="mpunct">,</span><span class="mspace" style="margin-right: 0.1667em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right: 0.0315em;">k</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.1514em;"><span class="" style="top: -2.55em; margin-left: -0.0315em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">n</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span><span class="mord"><span class="mord mathnormal">e</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height: 0.8991em;"><span class="" style="top: -3.113em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">in</span><span class="mord mathnormal mtight" style="margin-right: 0.0278em;">θ</span></span></span></span></span></span></span></span></span><span class="mclose">⟩</span><span class="mspace" style="margin-right: 0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right: 0.2778em;"></span></span><span class="base"><span class="strut" style="height: 1.1491em; vertical-align: -0.25em;"></span><span class="mord mathnormal" style="margin-right: 0.0077em;">R</span><span class="mord mathnormal">e</span><span class="mopen">[(</span><span class="mord"><span class="mord mathnormal" style="margin-right: 0.0359em;">q</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.1514em;"><span class="" style="top: -2.55em; margin-left: -0.0359em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">m</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span><span class="mord"><span class="mord mathnormal">e</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height: 0.8991em;"><span class="" style="top: -3.113em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">im</span><span class="mord mathnormal mtight" style="margin-right: 0.0278em;">θ</span></span></span></span></span></span></span></span></span><span class="mclose">)</span><span class="mopen">(</span><span class="mord"><span class="mord mathnormal" style="margin-right: 0.0315em;">k</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.1514em;"><span class="" style="top: -2.55em; margin-left: -0.0315em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">n</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span><span class="mord"><span class="mord mathnormal">e</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height: 0.8991em;"><span class="" style="top: -3.113em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">in</span><span class="mord mathnormal mtight" style="margin-right: 0.0278em;">θ</span></span></span></span></span></span></span></span></span><span class="mclose"><span class="mclose">)</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height: 0.7387em;"><span class="" style="top: -3.113em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mbin mtight">∗</span></span></span></span></span></span></span></span><span class="mclose">]</span><span class="mspace" style="margin-right: 0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right: 0.2778em;"></span></span><span class="base"><span class="strut" style="height: 1.188em; vertical-align: -0.25em;"></span><span class="mord mathnormal" style="margin-right: 0.0077em;">R</span><span class="mord mathnormal">e</span><span class="mopen">[</span><span class="mord"><span class="mord mathnormal" style="margin-right: 0.0359em;">q</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.1514em;"><span class="" style="top: -2.55em; margin-left: -0.0359em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">m</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span><span class="mord"><span class="mord mathnormal" style="margin-right: 0.0315em;">k</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.7387em;"><span class="" style="top: -2.453em; margin-left: -0.0315em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">n</span></span></span><span class="" style="top: -3.113em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mbin mtight">∗</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.247em;"><span class=""></span></span></span></span></span></span><span class="mord"><span class="mord mathnormal">e</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height: 0.938em;"><span class="" style="top: -3.113em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">i</span><span class="mopen mtight">(</span><span class="mord mathnormal mtight">m</span><span class="mbin mtight">−</span><span class="mord mathnormal mtight">n</span><span class="mclose mtight">)</span><span class="mord mathnormal mtight" style="margin-right: 0.0278em;">θ</span></span></span></span></span></span></span></span></span><span class="mclose">]</span></span></span></span></span></span></p>
这样一来,内积的结果就只依赖于
(
m
−
n
)
(m-n)
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 1em; vertical-align: -0.25em;"></span><span class="mopen">(</span><span class="mord mathnormal">m</span><span class="mspace" style="margin-right: 0.2222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right: 0.2222em;"></span></span><span class="base"><span class="strut" style="height: 1em; vertical-align: -0.25em;"></span><span class="mord mathnormal">n</span><span class="mclose">)</span></span></span></span></span>,也就是相对位置了。换言之,经过这样一番操作,通过给Embedding添加绝对位置信息,可以使得两个token的编码,经过内积变换(self-attn)之后,得到结果,是受它们位置的差值,即相对位置影响的。</p>
于是对于任意的位置为
m
m
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.4306em;"></span><span class="mord mathnormal">m</span></span></span></span></span>的二维向量<span class="katex--inline"><span class="katex"><span class="katex-mathml">
[
x
,
y
]
[x, y]
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 1em; vertical-align: -0.25em;"></span><span class="mopen">[</span><span class="mord mathnormal">x</span><span class="mpunct">,</span><span class="mspace" style="margin-right: 0.1667em;"></span><span class="mord mathnormal" style="margin-right: 0.0359em;">y</span><span class="mclose">]</span></span></span></span></span>,把它看做复数,乘以<span class="katex--inline"><span class="katex"><span class="katex-mathml">
e
i
m
θ
e^{im\theta}
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.8491em;"></span><span class="mord"><span class="mord mathnormal">e</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height: 0.8491em;"><span class="" style="top: -3.063em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">im</span><span class="mord mathnormal mtight" style="margin-right: 0.0278em;">θ</span></span></span></span></span></span></span></span></span></span></span></span></span>,而根据欧拉公式,有:</p>
e
i
m
θ
=
cos
m
θ
+
i
sin
m
θ
e^{im\theta}=\cos{m\theta}+i\sin{m\theta}
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.8991em;"></span><span class="mord"><span class="mord mathnormal">e</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height: 0.8991em;"><span class="" style="top: -3.113em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">im</span><span class="mord mathnormal mtight" style="margin-right: 0.0278em;">θ</span></span></span></span></span></span></span></span></span><span class="mspace" style="margin-right: 0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right: 0.2778em;"></span></span><span class="base"><span class="strut" style="height: 0.7778em; vertical-align: -0.0833em;"></span><span class="mop">cos</span><span class="mspace" style="margin-right: 0.1667em;"></span><span class="mord"><span class="mord mathnormal">m</span><span class="mord mathnormal" style="margin-right: 0.0278em;">θ</span></span><span class="mspace" style="margin-right: 0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right: 0.2222em;"></span></span><span class="base"><span class="strut" style="height: 0.6944em;"></span><span class="mord mathnormal">i</span><span class="mspace" style="margin-right: 0.1667em;"></span><span class="mop">sin</span><span class="mspace" style="margin-right: 0.1667em;"></span><span class="mord"><span class="mord mathnormal">m</span><span class="mord mathnormal" style="margin-right: 0.0278em;">θ</span></span></span></span></span></span></span></p>
于是上述的相乘变换也就变成了:
(
x
+
i
y
)
e
i
m
θ
=
(
x
cos
m
θ
−
y
sin
m
θ
)
+
i
(
x
sin
m
θ
+
y
cos
m
θ
)
(x+iy)e^{im\theta}=(x\cos{m\theta}-y\sin{m\theta})+i(x\sin{m\theta}+y\cos{m\theta})
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 1em; vertical-align: -0.25em;"></span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mspace" style="margin-right: 0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right: 0.2222em;"></span></span><span class="base"><span class="strut" style="height: 1.1491em; vertical-align: -0.25em;"></span><span class="mord mathnormal">i</span><span class="mord mathnormal" style="margin-right: 0.0359em;">y</span><span class="mclose">)</span><span class="mord"><span class="mord mathnormal">e</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height: 0.8991em;"><span class="" style="top: -3.113em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">im</span><span class="mord mathnormal mtight" style="margin-right: 0.0278em;">θ</span></span></span></span></span></span></span></span></span><span class="mspace" style="margin-right: 0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right: 0.2778em;"></span></span><span class="base"><span class="strut" style="height: 1em; vertical-align: -0.25em;"></span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mspace" style="margin-right: 0.1667em;"></span><span class="mop">cos</span><span class="mspace" style="margin-right: 0.1667em;"></span><span class="mord"><span class="mord mathnormal">m</span><span class="mord mathnormal" style="margin-right: 0.0278em;">θ</span></span><span class="mspace" style="margin-right: 0.2222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right: 0.2222em;"></span></span><span class="base"><span class="strut" style="height: 1em; vertical-align: -0.25em;"></span><span class="mord mathnormal" style="margin-right: 0.0359em;">y</span><span class="mspace" style="margin-right: 0.1667em;"></span><span class="mop">sin</span><span class="mspace" style="margin-right: 0.1667em;"></span><span class="mord"><span class="mord mathnormal">m</span><span class="mord mathnormal" style="margin-right: 0.0278em;">θ</span></span><span class="mclose">)</span><span class="mspace" style="margin-right: 0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right: 0.2222em;"></span></span><span class="base"><span class="strut" style="height: 1em; vertical-align: -0.25em;"></span><span class="mord mathnormal">i</span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mspace" style="margin-right: 0.1667em;"></span><span class="mop">sin</span><span class="mspace" style="margin-right: 0.1667em;"></span><span class="mord"><span class="mord mathnormal">m</span><span class="mord mathnormal" style="margin-right: 0.0278em;">θ</span></span><span class="mspace" style="margin-right: 0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right: 0.2222em;"></span></span><span class="base"><span class="strut" style="height: 1em; vertical-align: -0.25em;"></span><span class="mord mathnormal" style="margin-right: 0.0359em;">y</span><span class="mspace" style="margin-right: 0.1667em;"></span><span class="mop">cos</span><span class="mspace" style="margin-right: 0.1667em;"></span><span class="mord"><span class="mord mathnormal">m</span><span class="mord mathnormal" style="margin-right: 0.0278em;">θ</span></span><span class="mclose">)</span></span></span></span></span></span></p>
把上述式子写成矩阵形式:
f
(
(
q
0
,
q
1
)
,
m
)
=
[
cos
m
θ
−
sin
m
θ
sin
m
θ
cos
m
θ
]
[
q
0
q
1
]
f((q_0, q_1), m) = <span class="MathJax_Preview" style="color: inherit; display: none;"></span><div class="MathJax_Display"><span class="MathJax MathJax_FullWidth" id="MathJax-Element-1-Frame" tabindex="0" style="position: relative;" data-mathml="<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><mrow><mo>[</mo><mtable rowspacing="4pt" columnspacing="1em"><mtr><mtd><mrow class="MJX-TeXAtom-ORD"><mi>cos</mi><mo>&#x2061;</mo><mrow class="MJX-TeXAtom-ORD"><mi>m</mi><mi>&#x03B8;</mi></mrow></mrow></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo>&#x2212;</mo><mi>sin</mi><mo>&#x2061;</mo><mrow class="MJX-TeXAtom-ORD"><mi>m</mi><mi>&#x03B8;</mi></mrow></mrow></mtd></mtr><mtr><mtd><mrow class="MJX-TeXAtom-ORD"><mi>sin</mi><mo>&#x2061;</mo><mrow class="MJX-TeXAtom-ORD"><mi>m</mi><mi>&#x03B8;</mi></mrow></mrow></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mi>cos</mi><mo>&#x2061;</mo><mrow class="MJX-TeXAtom-ORD"><mi>m</mi><mi>&#x03B8;</mi></mrow></mrow></mtd></mtr></mtable><mo>]</mo></mrow></math>" role="presentation"><nobr aria-hidden="true"><span class="math" id="MathJax-Span-1" style="width: 100%; display: inline-block; min-width: 9.115em;"><span style="display: inline-block; position: relative; width: 100%; height: 0px; font-size: 102%;"><span style="position: absolute; clip: rect(2.397em, 1008.68em, 5.101em, -1000em); top: -3.999em; left: 0em; width: 100%;"><span class="mrow" id="MathJax-Span-2"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(2.397em, 1008.68em, 5.101em, -1000em); top: -3.999em; left: 50%; margin-left: -4.465em;"><span class="mrow" id="MathJax-Span-3"><span class="mo" id="MathJax-Span-4" style="vertical-align: 0em;"><span style="font-family: MathJax_Size3;">[</span></span><span class="mtable" id="MathJax-Span-5" style="padding-right: 0.167em; padding-left: 0.167em;"><span style="display: inline-block; position: relative; width: 7.539em; height: 0px;"><span style="position: absolute; clip: rect(2.492em, 1002.85em, 4.912em, -1000em); top: -3.999em; left: 0em;"><span style="display: inline-block; position: relative; width: 2.852em; height: 0px;"><span style="position: absolute; width: 100%; clip: rect(3.142em, 1002.85em, 4.162em, -1000em); top: -4.649em; left: 0em;"><span class="mtd" id="MathJax-Span-6"><span class="mrow" id="MathJax-Span-7"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.142em, 1002.85em, 4.162em, -1000em); top: -3.999em; left: 50%; margin-left: -1.426em;"><span class="texatom" id="MathJax-Span-8"><span class="mrow" id="MathJax-Span-9"><span style="display: inline-block; position: relative; width: 2.852em; height: 0px;"><span style="position: absolute; clip: rect(3.142em, 1002.85em, 4.162em, -1000em); top: -3.999em; left: 0em;"><span class="mi" id="MathJax-Span-10" style="font-family: MathJax_Main;">cos</span><span class="mo" id="MathJax-Span-11"></span><span class="texatom" id="MathJax-Span-12" style="padding-left: 0.167em;"><span class="mrow" id="MathJax-Span-13"><span style="display: inline-block; position: relative; width: 1.347em; height: 0px;"><span style="position: absolute; clip: rect(3.142em, 1001.34em, 4.162em, -1000em); top: -3.999em; left: 0em;"><span class="mi" id="MathJax-Span-14" style="font-family: MathJax_Math-italic;">m</span><span class="mi" id="MathJax-Span-15" style="font-family: MathJax_Math-italic;">θ</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; width: 100%; clip: rect(3.142em, 1002.74em, 4.162em, -1000em); top: -3.249em; left: 0em;"><span class="mtd" id="MathJax-Span-27"><span class="mrow" id="MathJax-Span-28"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.142em, 1002.74em, 4.162em, -1000em); top: -3.999em; left: 50%; margin-left: -1.371em;"><span class="texatom" id="MathJax-Span-29"><span class="mrow" id="MathJax-Span-30"><span style="display: inline-block; position: relative; width: 2.742em; height: 0px;"><span style="position: absolute; clip: rect(3.142em, 1002.74em, 4.162em, -1000em); top: -3.999em; left: 0em;"><span class="mi" id="MathJax-Span-31" style="font-family: MathJax_Main;">sin</span><span class="mo" id="MathJax-Span-32"></span><span class="texatom" id="MathJax-Span-33" style="padding-left: 0.167em;"><span class="mrow" id="MathJax-Span-34"><span style="display: inline-block; position: relative; width: 1.347em; height: 0px;"><span style="position: absolute; clip: rect(3.142em, 1001.34em, 4.162em, -1000em); top: -3.999em; left: 0em;"><span class="mi" id="MathJax-Span-35" style="font-family: MathJax_Math-italic;">m</span><span class="mi" id="MathJax-Span-36" style="font-family: MathJax_Math-italic;">θ</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; clip: rect(2.492em, 1003.68em, 4.912em, -1000em); top: -3.999em; left: 3.852em;"><span style="display: inline-block; position: relative; width: 3.687em; height: 0px;"><span style="position: absolute; width: 100%; clip: rect(3.142em, 1003.68em, 4.233em, -1000em); top: -4.649em; left: 0em;"><span class="mtd" id="MathJax-Span-16"><span class="mrow" id="MathJax-Span-17"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.142em, 1003.68em, 4.233em, -1000em); top: -3.999em; left: 50%; margin-left: -1.843em;"><span class="texatom" id="MathJax-Span-18"><span class="mrow" id="MathJax-Span-19"><span style="display: inline-block; position: relative; width: 3.687em; height: 0px;"><span style="position: absolute; clip: rect(3.142em, 1003.68em, 4.233em, -1000em); top: -3.999em; left: 0em;"><span class="mo" id="MathJax-Span-20" style="font-family: MathJax_Main;">−</span><span class="mi" id="MathJax-Span-21" style="font-family: MathJax_Main; padding-left: 0.167em;">sin</span><span class="mo" id="MathJax-Span-22"></span><span class="texatom" id="MathJax-Span-23" style="padding-left: 0.167em;"><span class="mrow" id="MathJax-Span-24"><span style="display: inline-block; position: relative; width: 1.347em; height: 0px;"><span style="position: absolute; clip: rect(3.142em, 1001.34em, 4.162em, -1000em); top: -3.999em; left: 0em;"><span class="mi" id="MathJax-Span-25" style="font-family: MathJax_Math-italic;">m</span><span class="mi" id="MathJax-Span-26" style="font-family: MathJax_Math-italic;">θ</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; width: 100%; clip: rect(3.142em, 1002.85em, 4.162em, -1000em); top: -3.249em; left: 0em;"><span class="mtd" id="MathJax-Span-37"><span class="mrow" id="MathJax-Span-38"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.142em, 1002.85em, 4.162em, -1000em); top: -3.999em; left: 50%; margin-left: -1.426em;"><span class="texatom" id="MathJax-Span-39"><span class="mrow" id="MathJax-Span-40"><span style="display: inline-block; position: relative; width: 2.852em; height: 0px;"><span style="position: absolute; clip: rect(3.142em, 1002.85em, 4.162em, -1000em); top: -3.999em; left: 0em;"><span class="mi" id="MathJax-Span-41" style="font-family: MathJax_Main;">cos</span><span class="mo" id="MathJax-Span-42"></span><span class="texatom" id="MathJax-Span-43" style="padding-left: 0.167em;"><span class="mrow" id="MathJax-Span-44"><span style="display: inline-block; position: relative; width: 1.347em; height: 0px;"><span style="position: absolute; clip: rect(3.142em, 1001.34em, 4.162em, -1000em); top: -3.999em; left: 0em;"><span class="mi" id="MathJax-Span-45" style="font-family: MathJax_Math-italic;">m</span><span class="mi" id="MathJax-Span-46" style="font-family: MathJax_Math-italic;">θ</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span><span class="mo" id="MathJax-Span-47" style="vertical-align: 0em;"><span style="font-family: MathJax_Size3;">]</span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span><span style="display: inline-block; overflow: hidden; vertical-align: -1.021em; border-left: 0px solid; width: 0px; height: 2.551em;"></span></span></nobr><span class="MJX_Assistive_MathML MJX_Assistive_MathML_Block" role="presentation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><mrow><mo>[</mo><mtable rowspacing="4pt" columnspacing="1em"><mtr><mtd><mrow class="MJX-TeXAtom-ORD"><mi>cos</mi><mo></mo><mrow class="MJX-TeXAtom-ORD"><mi>m</mi><mi>θ</mi></mrow></mrow></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo>−</mo><mi>sin</mi><mo></mo><mrow class="MJX-TeXAtom-ORD"><mi>m</mi><mi>θ</mi></mrow></mrow></mtd></mtr><mtr><mtd><mrow class="MJX-TeXAtom-ORD"><mi>sin</mi><mo></mo><mrow class="MJX-TeXAtom-ORD"><mi>m</mi><mi>θ</mi></mrow></mrow></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mi>cos</mi><mo></mo><mrow class="MJX-TeXAtom-ORD"><mi>m</mi><mi>θ</mi></mrow></mrow></mtd></mtr></mtable><mo>]</mo></mrow></math></span></span></div><script type="math/tex; mode=display" id="MathJax-Element-1">\begin{bmatrix} {\cos{m\theta}}&{-\sin{m\theta}} \\ {\sin{m\theta}}&{\cos{m\theta}} \\ \end{bmatrix}</script> <span class="MathJax_Preview" style="color: inherit; display: none;"></span><div class="MathJax_Display"><span class="MathJax MathJax_FullWidth" id="MathJax-Element-2-Frame" tabindex="0" data-mathml="<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><mrow><mo>[</mo><mtable rowspacing="4pt" columnspacing="1em"><mtr><mtd><msub><mi>q</mi><mn>0</mn></msub></mtd></mtr><mtr><mtd><msub><mi>q</mi><mn>1</mn></msub></mtd></mtr></mtable><mo>]</mo></mrow></math>" role="presentation" style="position: relative;"><nobr aria-hidden="true"><span class="math" id="MathJax-Span-48" style="width: 100%; display: inline-block; min-width: 2.331em;"><span style="display: inline-block; position: relative; width: 100%; height: 0px; font-size: 102%;"><span style="position: absolute; clip: rect(2.397em, 1002.02em, 5.101em, -1000em); top: -3.999em; left: 0em; width: 100%;"><span class="mrow" id="MathJax-Span-49"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(2.397em, 1002.02em, 5.101em, -1000em); top: -3.999em; left: 50%; margin-left: -1.132em;"><span class="mrow" id="MathJax-Span-50"><span class="mo" id="MathJax-Span-51" style="vertical-align: 0em;"><span style="font-family: MathJax_Size3;">[</span></span><span class="mtable" id="MathJax-Span-52" style="padding-right: 0.167em; padding-left: 0.167em;"><span style="display: inline-block; position: relative; width: 0.875em; height: 0px;"><span style="position: absolute; clip: rect(2.755em, 1000.88em, 5.095em, -1000em); top: -3.999em; left: 0em;"><span style="display: inline-block; position: relative; width: 0.875em; height: 0px;"><span style="position: absolute; width: 100%; clip: rect(3.405em, 1000.88em, 4.345em, -1000em); top: -4.649em; left: 0em;"><span class="mtd" id="MathJax-Span-53"><span class="mrow" id="MathJax-Span-54"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.405em, 1000.88em, 4.345em, -1000em); top: -3.999em; left: 50%; margin-left: -0.437em;"><span class="msubsup" id="MathJax-Span-55"><span style="display: inline-block; position: relative; width: 0.875em; height: 0px;"><span style="position: absolute; clip: rect(3.405em, 1000.46em, 4.345em, -1000em); top: -3.999em; left: 0em;"><span class="mi" id="MathJax-Span-56" style="font-family: MathJax_Math-italic;">q<span style="display: inline-block; overflow: hidden; height: 1px; width: 0.014em;"></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; top: -3.849em; left: 0.446em;"><span class="mn" id="MathJax-Span-57" style="font-size: 70.7%; font-family: MathJax_Main;">0</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; width: 100%; clip: rect(3.405em, 1000.88em, 4.345em, -1000em); top: -3.249em; left: 0em;"><span class="mtd" id="MathJax-Span-58"><span class="mrow" id="MathJax-Span-59"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.405em, 1000.88em, 4.345em, -1000em); top: -3.999em; left: 50%; margin-left: -0.437em;"><span class="msubsup" id="MathJax-Span-60"><span style="display: inline-block; position: relative; width: 0.875em; height: 0px;"><span style="position: absolute; clip: rect(3.405em, 1000.46em, 4.345em, -1000em); top: -3.999em; left: 0em;"><span class="mi" id="MathJax-Span-61" style="font-family: MathJax_Math-italic;">q<span style="display: inline-block; overflow: hidden; height: 1px; width: 0.014em;"></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; top: -3.849em; left: 0.446em;"><span class="mn" id="MathJax-Span-62" style="font-size: 70.7%; font-family: MathJax_Main;">1</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span><span class="mo" id="MathJax-Span-63" style="vertical-align: 0em;"><span style="font-family: MathJax_Size3;">]</span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span><span style="display: inline-block; overflow: hidden; vertical-align: -1.021em; border-left: 0px solid; width: 0px; height: 2.551em;"></span></span></nobr><span class="MJX_Assistive_MathML MJX_Assistive_MathML_Block" role="presentation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><mrow><mo>[</mo><mtable rowspacing="4pt" columnspacing="1em"><mtr><mtd><msub><mi>q</mi><mn>0</mn></msub></mtd></mtr><mtr><mtd><msub><mi>q</mi><mn>1</mn></msub></mtd></mtr></mtable><mo>]</mo></mrow></math></span></span></div><script type="math/tex; mode=display" id="MathJax-Element-2">\begin{bmatrix} q_0\\q_1\end{bmatrix}</script>
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 1em; vertical-align: -0.25em;"></span><span class="mord mathnormal" style="margin-right: 0.1076em;">f</span><span class="mopen">((</span><span class="mord"><span class="mord mathnormal" style="margin-right: 0.0359em;">q</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.3011em;"><span class="" style="top: -2.55em; margin-left: -0.0359em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">0</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span><span class="mpunct">,</span><span class="mspace" style="margin-right: 0.1667em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right: 0.0359em;">q</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.3011em;"><span class="" style="top: -2.55em; margin-left: -0.0359em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span><span class="mclose">)</span><span class="mpunct">,</span><span class="mspace" style="margin-right: 0.1667em;"></span><span class="mord mathnormal">m</span><span class="mclose">)</span><span class="mspace" style="margin-right: 0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right: 0.2778em;"></span></span><span class="base"><span class="strut" style="height: 2.4em; vertical-align: -0.95em;"></span><span class="minner"><span class="mopen delimcenter" style="top: 0em;"><span class="delimsizing size3">[</span></span><span class="mord"><span class="mtable"><span class="col-align-c"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 1.45em;"><span class="" style="top: -3.61em;"><span class="pstrut" style="height: 3em;"></span><span class="mord"><span class="mord"><span class="mop">cos</span><span class="mspace" style="margin-right: 0.1667em;"></span><span class="mord"><span class="mord mathnormal">m</span><span class="mord mathnormal" style="margin-right: 0.0278em;">θ</span></span></span></span></span><span class="" style="top: -2.41em;"><span class="pstrut" style="height: 3em;"></span><span class="mord"><span class="mord"><span class="mop">sin</span><span class="mspace" style="margin-right: 0.1667em;"></span><span class="mord"><span class="mord mathnormal">m</span><span class="mord mathnormal" style="margin-right: 0.0278em;">θ</span></span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.95em;"><span class=""></span></span></span></span></span><span class="arraycolsep" style="width: 0.5em;"></span><span class="arraycolsep" style="width: 0.5em;"></span><span class="col-align-c"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 1.45em;"><span class="" style="top: -3.61em;"><span class="pstrut" style="height: 3em;"></span><span class="mord"><span class="mord"><span class="mord">−</span><span class="mspace" style="margin-right: 0.1667em;"></span><span class="mop">sin</span><span class="mspace" style="margin-right: 0.1667em;"></span><span class="mord"><span class="mord mathnormal">m</span><span class="mord mathnormal" style="margin-right: 0.0278em;">θ</span></span></span></span></span><span class="" style="top: -2.41em;"><span class="pstrut" style="height: 3em;"></span><span class="mord"><span class="mord"><span class="mop">cos</span><span class="mspace" style="margin-right: 0.1667em;"></span><span class="mord"><span class="mord mathnormal">m</span><span class="mord mathnormal" style="margin-right: 0.0278em;">θ</span></span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.95em;"><span class=""></span></span></span></span></span></span></span><span class="mclose delimcenter" style="top: 0em;"><span class="delimsizing size3">]</span></span></span><span class="mspace" style="margin-right: 0.1667em;"></span><span class="minner"><span class="mopen delimcenter" style="top: 0em;"><span class="delimsizing size3">[</span></span><span class="mord"><span class="mtable"><span class="col-align-c"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 1.45em;"><span class="" style="top: -3.61em;"><span class="pstrut" style="height: 3em;"></span><span class="mord"><span class="mord"><span class="mord mathnormal" style="margin-right: 0.0359em;">q</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.3011em;"><span class="" style="top: -2.55em; margin-left: -0.0359em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">0</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span></span></span><span class="" style="top: -2.41em;"><span class="pstrut" style="height: 3em;"></span><span class="mord"><span class="mord"><span class="mord mathnormal" style="margin-right: 0.0359em;">q</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.3011em;"><span class="" style="top: -2.55em; margin-left: -0.0359em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.95em;"><span class=""></span></span></span></span></span></span></span><span class="mclose delimcenter" style="top: 0em;"><span class="delimsizing size3">]</span></span></span></span></span></span></span></span></p>
而这个变换的几何意义,就是在二维坐标系下,对向量
(
q
0
,
q
1
)
(q_0, q_1)
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 1em; vertical-align: -0.25em;"></span><span class="mopen">(</span><span class="mord"><span class="mord mathnormal" style="margin-right: 0.0359em;">q</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.3011em;"><span class="" style="top: -2.55em; margin-left: -0.0359em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">0</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span><span class="mpunct">,</span><span class="mspace" style="margin-right: 0.1667em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right: 0.0359em;">q</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.3011em;"><span class="" style="top: -2.55em; margin-left: -0.0359em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span><span class="mclose">)</span></span></span></span></span>进行了旋转,因而这种位置编码方法,被称为旋转位置编码。</p>
根据刚才的结论,结合内积的线性叠加性,可以将结论推广到高维的情形。可以理解为,每两个维度一组,进行了上述的“旋转”操作,然后再拼接在一起:
[
cos
m
θ
0
−
sin
m
θ
0
0
0
⋯
0
0
sin
m
θ
0
cos
m
θ
0
0
0
⋯
0
0
0
0
cos
m
θ
1
−
sin
m
θ
1
⋯
0
0
0
0
sin
m
θ
1
cos
m
θ
1
⋯
0
0
⋮
⋮
⋮
⋮
⋱
⋮
⋮
0
0
0
0
⋯
cos
m
θ
d
/
2
−
1
−
sin
m
θ
d
/
2
−
1
0
0
0
0
⋯
sin
m
θ
d
/
2
−
1
cos
m
θ
d
/
2
−
1
]
[
q
0
q
1
q
2
q
3
⋮
q
d
−
2
q
d
−
1
]
<span class="MathJax_Preview" style="color: inherit; display: none;"></span><div class="MathJax_Display"><span class="MathJax MathJax_FullWidth" id="MathJax-Element-3-Frame" tabindex="0" data-mathml="<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><mrow><mo>[</mo><mtable rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi>cos</mi><mo>&#x2061;</mo><mrow class="MJX-TeXAtom-ORD"><mi>m</mi><msub><mi>&#x03B8;</mi><mn>0</mn></msub></mrow></mtd><mtd><mo>&#x2212;</mo><mi>sin</mi><mo>&#x2061;</mo><mrow class="MJX-TeXAtom-ORD"><mi>m</mi><msub><mi>&#x03B8;</mi><mn>0</mn></msub></mrow></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo>&#x22EF;</mo></mrow></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mi>sin</mi><mo>&#x2061;</mo><mrow class="MJX-TeXAtom-ORD"><mi>m</mi><msub><mi>&#x03B8;</mi><mn>0</mn></msub></mrow></mtd><mtd><mi>cos</mi><mo>&#x2061;</mo><mrow class="MJX-TeXAtom-ORD"><mi>m</mi><msub><mi>&#x03B8;</mi><mn>0</mn></msub></mrow></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo>&#x22EF;</mo></mrow></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mi>cos</mi><mo>&#x2061;</mo><mrow class="MJX-TeXAtom-ORD"><mi>m</mi><msub><mi>&#x03B8;</mi><mn>1</mn></msub></mrow></mtd><mtd><mo>&#x2212;</mo><mi>sin</mi><mo>&#x2061;</mo><mrow class="MJX-TeXAtom-ORD"><mi>m</mi><msub><mi>&#x03B8;</mi><mn>1</mn></msub></mrow></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo>&#x22EF;</mo></mrow></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mi>sin</mi><mo>&#x2061;</mo><mrow class="MJX-TeXAtom-ORD"><mi>m</mi><msub><mi>&#x03B8;</mi><mn>1</mn></msub></mrow></mtd><mtd><mi>cos</mi><mo>&#x2061;</mo><mrow class="MJX-TeXAtom-ORD"><mi>m</mi><msub><mi>&#x03B8;</mi><mn>1</mn></msub></mrow></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo>&#x22EF;</mo></mrow></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mo>&#x22EE;</mo></mtd><mtd><mo>&#x22EE;</mo></mtd><mtd><mo>&#x22EE;</mo></mtd><mtd><mo>&#x22EE;</mo></mtd><mtd><mo>&#x22F1;</mo></mtd><mtd><mo>&#x22EE;</mo></mtd><mtd><mo>&#x22EE;</mo></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mo>&#x22EF;</mo></mtd><mtd><mi>cos</mi><mo>&#x2061;</mo><mrow class="MJX-TeXAtom-ORD"><mi>m</mi><msub><mi>&#x03B8;</mi><mrow class="MJX-TeXAtom-ORD"><mrow class="MJX-TeXAtom-ORD"><mi>d</mi><mrow class="MJX-TeXAtom-ORD"><mo>/</mo></mrow><mn>2</mn></mrow><mo>&#x2212;</mo><mn>1</mn></mrow></msub></mrow></mtd><mtd><mo>&#x2212;</mo><mi>sin</mi><mo>&#x2061;</mo><mrow class="MJX-TeXAtom-ORD"><mi>m</mi><msub><mi>&#x03B8;</mi><mrow class="MJX-TeXAtom-ORD"><mrow class="MJX-TeXAtom-ORD"><mi>d</mi><mrow class="MJX-TeXAtom-ORD"><mo>/</mo></mrow><mn>2</mn></mrow><mo>&#x2212;</mo><mn>1</mn></mrow></msub></mrow></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mo>&#x22EF;</mo></mtd><mtd><mi>sin</mi><mo>&#x2061;</mo><mrow class="MJX-TeXAtom-ORD"><mi>m</mi><msub><mi>&#x03B8;</mi><mrow class="MJX-TeXAtom-ORD"><mrow class="MJX-TeXAtom-ORD"><mi>d</mi><mrow class="MJX-TeXAtom-ORD"><mo>/</mo></mrow><mn>2</mn></mrow><mo>&#x2212;</mo><mn>1</mn></mrow></msub></mrow></mtd><mtd><mi>cos</mi><mo>&#x2061;</mo><mrow class="MJX-TeXAtom-ORD"><mi>m</mi><msub><mi>&#x03B8;</mi><mrow class="MJX-TeXAtom-ORD"><mrow class="MJX-TeXAtom-ORD"><mi>d</mi><mrow class="MJX-TeXAtom-ORD"><mo>/</mo></mrow><mn>2</mn></mrow><mo>&#x2212;</mo><mn>1</mn></mrow></msub></mrow></mtd></mtr></mtable><mo>]</mo></mrow></math>" role="presentation" style="position: relative;"><nobr aria-hidden="true"><span class="math" id="MathJax-Span-64" style="width: 100%; display: inline-block; min-width: 35.084em;"><span style="display: inline-block; position: relative; width: 100%; height: 0px; font-size: 102%;"><span style="position: absolute; clip: rect(5.816em, 1034.07em, 16.565em, -1000em); top: -11.441em; left: 0em; width: 100%;"><span class="mrow" id="MathJax-Span-65"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(5.816em, 1034.07em, 16.565em, -1000em); top: -11.441em; left: 50%; margin-left: -17.196em;"><span class="mrow" id="MathJax-Span-66"><span class="mo" id="MathJax-Span-67" style="vertical-align: 5.473em;"><span style="display: inline-block; position: relative; width: 0.667em; height: 0px;"><span style="position: absolute; font-family: MathJax_Size4; top: -2.845em; left: 0em;">⎡<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; font-family: MathJax_Size4; top: 5.802em; left: 0em;">⎣<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="font-family: MathJax_Size4; position: absolute; top: -1.668em; left: 0em;">⎢<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="font-family: MathJax_Size4; position: absolute; top: -1.136em; left: 0em;">⎢<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="font-family: MathJax_Size4; position: absolute; top: -0.604em; left: 0em;">⎢<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="font-family: MathJax_Size4; position: absolute; top: -0.072em; left: 0em;">⎢<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="font-family: MathJax_Size4; position: absolute; top: 0.46em; left: 0em;">⎢<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="font-family: MathJax_Size4; position: absolute; top: 0.992em; left: 0em;">⎢<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="font-family: MathJax_Size4; position: absolute; top: 1.524em; left: 0em;">⎢<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="font-family: MathJax_Size4; position: absolute; top: 2.057em; left: 0em;">⎢<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="font-family: MathJax_Size4; position: absolute; top: 2.589em; left: 0em;">⎢<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="font-family: MathJax_Size4; position: absolute; top: 3.121em; left: 0em;">⎢<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="font-family: MathJax_Size4; position: absolute; top: 3.653em; left: 0em;">⎢<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="font-family: MathJax_Size4; position: absolute; top: 4.185em; left: 0em;">⎢<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="font-family: MathJax_Size4; position: absolute; top: 4.717em; left: 0em;">⎢<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span><span class="mtable" id="MathJax-Span-68" style="padding-right: 0.167em; padding-left: 0.167em;"><span style="display: inline-block; position: relative; width: 32.724em; height: 0px;"><span style="position: absolute; clip: rect(5.456em, 1003.28em, 15.769em, -1000em); top: -10.985em; left: 0em;"><span style="display: inline-block; position: relative; width: 3.281em; height: 0px;"><span style="position: absolute; width: 100%; clip: rect(3.142em, 1003.28em, 4.317em, -1000em); top: -8.672em; left: 0em;"><span class="mtd" id="MathJax-Span-69"><span class="mrow" id="MathJax-Span-70"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.142em, 1003.28em, 4.317em, -1000em); top: -3.999em; left: 50%; margin-left: -1.64em;"><span class="mi" id="MathJax-Span-71" style="font-family: MathJax_Main;">cos</span><span class="mo" id="MathJax-Span-72"></span><span class="texatom" id="MathJax-Span-73" style="padding-left: 0.167em;"><span class="mrow" id="MathJax-Span-74"><span style="display: inline-block; position: relative; width: 1.776em; height: 0px;"><span style="position: absolute; clip: rect(3.142em, 1001.78em, 4.317em, -1000em); top: -3.999em; left: 0em;"><span class="mi" id="MathJax-Span-75" style="font-family: MathJax_Math-italic;">m</span><span class="msubsup" id="MathJax-Span-76"><span style="display: inline-block; position: relative; width: 0.898em; height: 0px;"><span style="position: absolute; clip: rect(3.142em, 1000.46em, 4.161em, -1000em); top: -3.999em; left: 0em;"><span class="mi" id="MathJax-Span-77" style="font-family: MathJax_Math-italic;">θ</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; top: -3.849em; left: 0.469em;"><span class="mn" id="MathJax-Span-78" style="font-size: 70.7%; font-family: MathJax_Main;">0</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; width: 100%; clip: rect(3.142em, 1003.17em, 4.317em, -1000em); top: -7.272em; left: 0em;"><span class="mtd" id="MathJax-Span-107"><span class="mrow" id="MathJax-Span-108"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.142em, 1003.17em, 4.317em, -1000em); top: -3.999em; left: 50%; margin-left: -1.585em;"><span class="mi" id="MathJax-Span-109" style="font-family: MathJax_Main;">sin</span><span class="mo" id="MathJax-Span-110"></span><span class="texatom" id="MathJax-Span-111" style="padding-left: 0.167em;"><span class="mrow" id="MathJax-Span-112"><span style="display: inline-block; position: relative; width: 1.776em; height: 0px;"><span style="position: absolute; clip: rect(3.142em, 1001.78em, 4.317em, -1000em); top: -3.999em; left: 0em;"><span class="mi" id="MathJax-Span-113" style="font-family: MathJax_Math-italic;">m</span><span class="msubsup" id="MathJax-Span-114"><span style="display: inline-block; position: relative; width: 0.898em; height: 0px;"><span style="position: absolute; clip: rect(3.142em, 1000.46em, 4.161em, -1000em); top: -3.999em; left: 0em;"><span class="mi" id="MathJax-Span-115" style="font-family: MathJax_Math-italic;">θ</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; top: -3.849em; left: 0.469em;"><span class="mn" id="MathJax-Span-116" style="font-size: 70.7%; font-family: MathJax_Main;">0</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; width: 100%; clip: rect(3.181em, 1000.46em, 4.173em, -1000em); top: -5.872em; left: 0em;"><span class="mtd" id="MathJax-Span-144"><span class="mrow" id="MathJax-Span-145"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.181em, 1000.46em, 4.173em, -1000em); top: -3.999em; left: 50%; margin-left: -0.25em;"><span class="mn" id="MathJax-Span-146" style="font-family: MathJax_Main;">0</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; width: 100%; clip: rect(3.181em, 1000.46em, 4.173em, -1000em); top: -4.472em; left: 0em;"><span class="mtd" id="MathJax-Span-182"><span class="mrow" id="MathJax-Span-183"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.181em, 1000.46em, 4.173em, -1000em); top: -3.999em; left: 50%; margin-left: -0.25em;"><span class="mn" id="MathJax-Span-184" style="font-family: MathJax_Main;">0</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; width: 100%; clip: rect(2.547em, 1000.2em, 4.181em, -1000em); top: -2.352em; left: 0em;"><span class="mtd" id="MathJax-Span-219"><span class="mrow" id="MathJax-Span-220"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(2.547em, 1000.2em, 4.181em, -1000em); top: -3.999em; left: 50%; margin-left: -0.139em;"><span class="mo" id="MathJax-Span-221" style="font-family: MathJax_Main;">⋮</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; width: 100%; clip: rect(3.181em, 1000.46em, 4.173em, -1000em); top: -0.952em; left: 0em;"><span class="mtd" id="MathJax-Span-240"><span class="mrow" id="MathJax-Span-241"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.181em, 1000.46em, 4.173em, -1000em); top: -3.999em; left: 50%; margin-left: -0.25em;"><span class="mn" id="MathJax-Span-242" style="font-family: MathJax_Main;">0</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; width: 100%; clip: rect(3.181em, 1000.46em, 4.173em, -1000em); top: 0.611em; left: 0em;"><span class="mtd" id="MathJax-Span-296"><span class="mrow" id="MathJax-Span-297"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.181em, 1000.46em, 4.173em, -1000em); top: -3.999em; left: 50%; margin-left: -0.25em;"><span class="mn" id="MathJax-Span-298" style="font-family: MathJax_Main;">0</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span><span style="display: inline-block; width: 0px; height: 10.985em;"></span></span><span style="position: absolute; clip: rect(5.456em, 1004.12em, 15.769em, -1000em); top: -10.985em; left: 4.281em;"><span style="display: inline-block; position: relative; width: 4.116em; height: 0px;"><span style="position: absolute; width: 100%; clip: rect(3.142em, 1004.12em, 4.317em, -1000em); top: -8.672em; left: 0em;"><span class="mtd" id="MathJax-Span-79"><span class="mrow" id="MathJax-Span-80"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.142em, 1004.12em, 4.317em, -1000em); top: -3.999em; left: 50%; margin-left: -2.058em;"><span class="mo" id="MathJax-Span-81" style="font-family: MathJax_Main;">−</span><span class="mi" id="MathJax-Span-82" style="font-family: MathJax_Main; padding-left: 0.167em;">sin</span><span class="mo" id="MathJax-Span-83"></span><span class="texatom" id="MathJax-Span-84" style="padding-left: 0.167em;"><span class="mrow" id="MathJax-Span-85"><span style="display: inline-block; position: relative; width: 1.776em; height: 0px;"><span style="position: absolute; clip: rect(3.142em, 1001.78em, 4.317em, -1000em); top: -3.999em; left: 0em;"><span class="mi" id="MathJax-Span-86" style="font-family: MathJax_Math-italic;">m</span><span class="msubsup" id="MathJax-Span-87"><span style="display: inline-block; position: relative; width: 0.898em; height: 0px;"><span style="position: absolute; clip: rect(3.142em, 1000.46em, 4.161em, -1000em); top: -3.999em; left: 0em;"><span class="mi" id="MathJax-Span-88" style="font-family: MathJax_Math-italic;">θ</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; top: -3.849em; left: 0.469em;"><span class="mn" id="MathJax-Span-89" style="font-size: 70.7%; font-family: MathJax_Main;">0</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; width: 100%; clip: rect(3.142em, 1003.28em, 4.317em, -1000em); top: -7.272em; left: 0em;"><span class="mtd" id="MathJax-Span-117"><span class="mrow" id="MathJax-Span-118"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.142em, 1003.28em, 4.317em, -1000em); top: -3.999em; left: 50%; margin-left: -1.64em;"><span class="mi" id="MathJax-Span-119" style="font-family: MathJax_Main;">cos</span><span class="mo" id="MathJax-Span-120"></span><span class="texatom" id="MathJax-Span-121" style="padding-left: 0.167em;"><span class="mrow" id="MathJax-Span-122"><span style="display: inline-block; position: relative; width: 1.776em; height: 0px;"><span style="position: absolute; clip: rect(3.142em, 1001.78em, 4.317em, -1000em); top: -3.999em; left: 0em;"><span class="mi" id="MathJax-Span-123" style="font-family: MathJax_Math-italic;">m</span><span class="msubsup" id="MathJax-Span-124"><span style="display: inline-block; position: relative; width: 0.898em; height: 0px;"><span style="position: absolute; clip: rect(3.142em, 1000.46em, 4.161em, -1000em); top: -3.999em; left: 0em;"><span class="mi" id="MathJax-Span-125" style="font-family: MathJax_Math-italic;">θ</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; top: -3.849em; left: 0.469em;"><span class="mn" id="MathJax-Span-126" style="font-size: 70.7%; font-family: MathJax_Main;">0</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; width: 100%; clip: rect(3.181em, 1000.46em, 4.173em, -1000em); top: -5.872em; left: 0em;"><span class="mtd" id="MathJax-Span-147"><span class="mrow" id="MathJax-Span-148"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.181em, 1000.46em, 4.173em, -1000em); top: -3.999em; left: 50%; margin-left: -0.25em;"><span class="mn" id="MathJax-Span-149" style="font-family: MathJax_Main;">0</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; width: 100%; clip: rect(3.181em, 1000.46em, 4.173em, -1000em); top: -4.472em; left: 0em;"><span class="mtd" id="MathJax-Span-185"><span class="mrow" id="MathJax-Span-186"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.181em, 1000.46em, 4.173em, -1000em); top: -3.999em; left: 50%; margin-left: -0.25em;"><span class="mn" id="MathJax-Span-187" style="font-family: MathJax_Main;">0</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; width: 100%; clip: rect(2.547em, 1000.2em, 4.181em, -1000em); top: -2.352em; left: 0em;"><span class="mtd" id="MathJax-Span-222"><span class="mrow" id="MathJax-Span-223"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(2.547em, 1000.2em, 4.181em, -1000em); top: -3.999em; left: 50%; margin-left: -0.139em;"><span class="mo" id="MathJax-Span-224" style="font-family: MathJax_Main;">⋮</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; width: 100%; clip: rect(3.181em, 1000.46em, 4.173em, -1000em); top: -0.952em; left: 0em;"><span class="mtd" id="MathJax-Span-243"><span class="mrow" id="MathJax-Span-244"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.181em, 1000.46em, 4.173em, -1000em); top: -3.999em; left: 50%; margin-left: -0.25em;"><span class="mn" id="MathJax-Span-245" style="font-family: MathJax_Main;">0</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; width: 100%; clip: rect(3.181em, 1000.46em, 4.173em, -1000em); top: 0.611em; left: 0em;"><span class="mtd" id="MathJax-Span-299"><span class="mrow" id="MathJax-Span-300"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.181em, 1000.46em, 4.173em, -1000em); top: -3.999em; left: 50%; margin-left: -0.25em;"><span class="mn" id="MathJax-Span-301" style="font-family: MathJax_Main;">0</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span><span style="display: inline-block; width: 0px; height: 10.985em;"></span></span><span style="position: absolute; clip: rect(5.495em, 1003.28em, 15.769em, -1000em); top: -10.985em; left: 9.396em;"><span style="display: inline-block; position: relative; width: 3.281em; height: 0px;"><span style="position: absolute; width: 100%; clip: rect(3.181em, 1000.46em, 4.173em, -1000em); top: -8.672em; left: 0em;"><span class="mtd" id="MathJax-Span-90"><span class="mrow" id="MathJax-Span-91"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.181em, 1000.46em, 4.173em, -1000em); top: -3.999em; left: 50%; margin-left: -0.25em;"><span class="mn" id="MathJax-Span-92" style="font-family: MathJax_Main;">0</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; width: 100%; clip: rect(3.181em, 1000.46em, 4.173em, -1000em); top: -7.272em; left: 0em;"><span class="mtd" id="MathJax-Span-127"><span class="mrow" id="MathJax-Span-128"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.181em, 1000.46em, 4.173em, -1000em); top: -3.999em; left: 50%; margin-left: -0.25em;"><span class="mn" id="MathJax-Span-129" style="font-family: MathJax_Main;">0</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; width: 100%; clip: rect(3.142em, 1003.28em, 4.301em, -1000em); top: -5.872em; left: 0em;"><span class="mtd" id="MathJax-Span-150"><span class="mrow" id="MathJax-Span-151"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.142em, 1003.28em, 4.301em, -1000em); top: -3.999em; left: 50%; margin-left: -1.64em;"><span class="mi" id="MathJax-Span-152" style="font-family: MathJax_Main;">cos</span><span class="mo" id="MathJax-Span-153"></span><span class="texatom" id="MathJax-Span-154" style="padding-left: 0.167em;"><span class="mrow" id="MathJax-Span-155"><span style="display: inline-block; position: relative; width: 1.776em; height: 0px;"><span style="position: absolute; clip: rect(3.142em, 1001.78em, 4.301em, -1000em); top: -3.999em; left: 0em;"><span class="mi" id="MathJax-Span-156" style="font-family: MathJax_Math-italic;">m</span><span class="msubsup" id="MathJax-Span-157"><span style="display: inline-block; position: relative; width: 0.898em; height: 0px;"><span style="position: absolute; clip: rect(3.142em, 1000.46em, 4.161em, -1000em); top: -3.999em; left: 0em;"><span class="mi" id="MathJax-Span-158" style="font-family: MathJax_Math-italic;">θ</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; top: -3.849em; left: 0.469em;"><span class="mn" id="MathJax-Span-159" style="font-size: 70.7%; font-family: MathJax_Main;">1</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; width: 100%; clip: rect(3.142em, 1003.17em, 4.301em, -1000em); top: -4.472em; left: 0em;"><span class="mtd" id="MathJax-Span-188"><span class="mrow" id="MathJax-Span-189"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.142em, 1003.17em, 4.301em, -1000em); top: -3.999em; left: 50%; margin-left: -1.585em;"><span class="mi" id="MathJax-Span-190" style="font-family: MathJax_Main;">sin</span><span class="mo" id="MathJax-Span-191"></span><span class="texatom" id="MathJax-Span-192" style="padding-left: 0.167em;"><span class="mrow" id="MathJax-Span-193"><span style="display: inline-block; position: relative; width: 1.776em; height: 0px;"><span style="position: absolute; clip: rect(3.142em, 1001.78em, 4.301em, -1000em); top: -3.999em; left: 0em;"><span class="mi" id="MathJax-Span-194" style="font-family: MathJax_Math-italic;">m</span><span class="msubsup" id="MathJax-Span-195"><span style="display: inline-block; position: relative; width: 0.898em; height: 0px;"><span style="position: absolute; clip: rect(3.142em, 1000.46em, 4.161em, -1000em); top: -3.999em; left: 0em;"><span class="mi" id="MathJax-Span-196" style="font-family: MathJax_Math-italic;">θ</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; top: -3.849em; left: 0.469em;"><span class="mn" id="MathJax-Span-197" style="font-size: 70.7%; font-family: MathJax_Main;">1</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; width: 100%; clip: rect(2.547em, 1000.2em, 4.181em, -1000em); top: -2.352em; left: 0em;"><span class="mtd" id="MathJax-Span-225"><span class="mrow" id="MathJax-Span-226"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(2.547em, 1000.2em, 4.181em, -1000em); top: -3.999em; left: 50%; margin-left: -0.139em;"><span class="mo" id="MathJax-Span-227" style="font-family: MathJax_Main;">⋮</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; width: 100%; clip: rect(3.181em, 1000.46em, 4.173em, -1000em); top: -0.952em; left: 0em;"><span class="mtd" id="MathJax-Span-246"><span class="mrow" id="MathJax-Span-247"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.181em, 1000.46em, 4.173em, -1000em); top: -3.999em; left: 50%; margin-left: -0.25em;"><span class="mn" id="MathJax-Span-248" style="font-family: MathJax_Main;">0</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; width: 100%; clip: rect(3.181em, 1000.46em, 4.173em, -1000em); top: 0.611em; left: 0em;"><span class="mtd" id="MathJax-Span-302"><span class="mrow" id="MathJax-Span-303"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.181em, 1000.46em, 4.173em, -1000em); top: -3.999em; left: 50%; margin-left: -0.25em;"><span class="mn" id="MathJax-Span-304" style="font-family: MathJax_Main;">0</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span><span style="display: inline-block; width: 0px; height: 10.985em;"></span></span><span style="position: absolute; clip: rect(5.495em, 1004.12em, 15.769em, -1000em); top: -10.985em; left: 13.677em;"><span style="display: inline-block; position: relative; width: 4.116em; height: 0px;"><span style="position: absolute; width: 100%; clip: rect(3.181em, 1000.46em, 4.173em, -1000em); top: -8.672em; left: 0em;"><span class="mtd" id="MathJax-Span-93"><span class="mrow" id="MathJax-Span-94"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.181em, 1000.46em, 4.173em, -1000em); top: -3.999em; left: 50%; margin-left: -0.25em;"><span class="mn" id="MathJax-Span-95" style="font-family: MathJax_Main;">0</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; width: 100%; clip: rect(3.181em, 1000.46em, 4.173em, -1000em); top: -7.272em; left: 0em;"><span class="mtd" id="MathJax-Span-130"><span class="mrow" id="MathJax-Span-131"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.181em, 1000.46em, 4.173em, -1000em); top: -3.999em; left: 50%; margin-left: -0.25em;"><span class="mn" id="MathJax-Span-132" style="font-family: MathJax_Main;">0</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; width: 100%; clip: rect(3.142em, 1004.12em, 4.301em, -1000em); top: -5.872em; left: 0em;"><span class="mtd" id="MathJax-Span-160"><span class="mrow" id="MathJax-Span-161"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.142em, 1004.12em, 4.301em, -1000em); top: -3.999em; left: 50%; margin-left: -2.058em;"><span class="mo" id="MathJax-Span-162" style="font-family: MathJax_Main;">−</span><span class="mi" id="MathJax-Span-163" style="font-family: MathJax_Main; padding-left: 0.167em;">sin</span><span class="mo" id="MathJax-Span-164"></span><span class="texatom" id="MathJax-Span-165" style="padding-left: 0.167em;"><span class="mrow" id="MathJax-Span-166"><span style="display: inline-block; position: relative; width: 1.776em; height: 0px;"><span style="position: absolute; clip: rect(3.142em, 1001.78em, 4.301em, -1000em); top: -3.999em; left: 0em;"><span class="mi" id="MathJax-Span-167" style="font-family: MathJax_Math-italic;">m</span><span class="msubsup" id="MathJax-Span-168"><span style="display: inline-block; position: relative; width: 0.898em; height: 0px;"><span style="position: absolute; clip: rect(3.142em, 1000.46em, 4.161em, -1000em); top: -3.999em; left: 0em;"><span class="mi" id="MathJax-Span-169" style="font-family: MathJax_Math-italic;">θ</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; top: -3.849em; left: 0.469em;"><span class="mn" id="MathJax-Span-170" style="font-size: 70.7%; font-family: MathJax_Main;">1</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; width: 100%; clip: rect(3.142em, 1003.28em, 4.301em, -1000em); top: -4.472em; left: 0em;"><span class="mtd" id="MathJax-Span-198"><span class="mrow" id="MathJax-Span-199"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.142em, 1003.28em, 4.301em, -1000em); top: -3.999em; left: 50%; margin-left: -1.64em;"><span class="mi" id="MathJax-Span-200" style="font-family: MathJax_Main;">cos</span><span class="mo" id="MathJax-Span-201"></span><span class="texatom" id="MathJax-Span-202" style="padding-left: 0.167em;"><span class="mrow" id="MathJax-Span-203"><span style="display: inline-block; position: relative; width: 1.776em; height: 0px;"><span style="position: absolute; clip: rect(3.142em, 1001.78em, 4.301em, -1000em); top: -3.999em; left: 0em;"><span class="mi" id="MathJax-Span-204" style="font-family: MathJax_Math-italic;">m</span><span class="msubsup" id="MathJax-Span-205"><span style="display: inline-block; position: relative; width: 0.898em; height: 0px;"><span style="position: absolute; clip: rect(3.142em, 1000.46em, 4.161em, -1000em); top: -3.999em; left: 0em;"><span class="mi" id="MathJax-Span-206" style="font-family: MathJax_Math-italic;">θ</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; top: -3.849em; left: 0.469em;"><span class="mn" id="MathJax-Span-207" style="font-size: 70.7%; font-family: MathJax_Main;">1</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; width: 100%; clip: rect(2.547em, 1000.2em, 4.181em, -1000em); top: -2.352em; left: 0em;"><span class="mtd" id="MathJax-Span-228"><span class="mrow" id="MathJax-Span-229"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(2.547em, 1000.2em, 4.181em, -1000em); top: -3.999em; left: 50%; margin-left: -0.139em;"><span class="mo" id="MathJax-Span-230" style="font-family: MathJax_Main;">⋮</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; width: 100%; clip: rect(3.181em, 1000.46em, 4.173em, -1000em); top: -0.952em; left: 0em;"><span class="mtd" id="MathJax-Span-249"><span class="mrow" id="MathJax-Span-250"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.181em, 1000.46em, 4.173em, -1000em); top: -3.999em; left: 50%; margin-left: -0.25em;"><span class="mn" id="MathJax-Span-251" style="font-family: MathJax_Main;">0</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; width: 100%; clip: rect(3.181em, 1000.46em, 4.173em, -1000em); top: 0.611em; left: 0em;"><span class="mtd" id="MathJax-Span-305"><span class="mrow" id="MathJax-Span-306"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.181em, 1000.46em, 4.173em, -1000em); top: -3.999em; left: 50%; margin-left: -0.25em;"><span class="mn" id="MathJax-Span-307" style="font-family: MathJax_Main;">0</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span><span style="display: inline-block; width: 0px; height: 10.985em;"></span></span><span style="position: absolute; clip: rect(5.243em, 1001.15em, 14.95em, -1000em); top: -10.378em; left: 18.792em;"><span style="display: inline-block; position: relative; width: 1.282em; height: 0px;"><span style="position: absolute; width: 100%; clip: rect(3.537em, 1001.09em, 3.961em, -1000em); top: -8.672em; left: 0em;"><span class="mtd" id="MathJax-Span-96"><span class="mrow" id="MathJax-Span-97"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.537em, 1001.09em, 3.961em, -1000em); top: -3.999em; left: 50%; margin-left: -0.586em;"><span class="texatom" id="MathJax-Span-98"><span class="mrow" id="MathJax-Span-99"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.537em, 1001.09em, 3.961em, -1000em); top: -3.999em; left: 50%; margin-left: -0.586em;"><span class="mo" id="MathJax-Span-100" style="font-family: MathJax_Main;">⋯</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; width: 100%; clip: rect(3.537em, 1001.09em, 3.961em, -1000em); top: -7.272em; left: 0em;"><span class="mtd" id="MathJax-Span-133"><span class="mrow" id="MathJax-Span-134"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.537em, 1001.09em, 3.961em, -1000em); top: -3.999em; left: 50%; margin-left: -0.586em;"><span class="texatom" id="MathJax-Span-135"><span class="mrow" id="MathJax-Span-136"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.537em, 1001.09em, 3.961em, -1000em); top: -3.999em; left: 50%; margin-left: -0.586em;"><span class="mo" id="MathJax-Span-137" style="font-family: MathJax_Main;">⋯</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; width: 100%; clip: rect(3.537em, 1001.09em, 3.961em, -1000em); top: -5.872em; left: 0em;"><span class="mtd" id="MathJax-Span-171"><span class="mrow" id="MathJax-Span-172"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.537em, 1001.09em, 3.961em, -1000em); top: -3.999em; left: 50%; margin-left: -0.586em;"><span class="texatom" id="MathJax-Span-173"><span class="mrow" id="MathJax-Span-174"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.537em, 1001.09em, 3.961em, -1000em); top: -3.999em; left: 50%; margin-left: -0.586em;"><span class="mo" id="MathJax-Span-175" style="font-family: MathJax_Main;">⋯</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; width: 100%; clip: rect(3.537em, 1001.09em, 3.961em, -1000em); top: -4.472em; left: 0em;"><span class="mtd" id="MathJax-Span-208"><span class="mrow" id="MathJax-Span-209"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.537em, 1001.09em, 3.961em, -1000em); top: -3.999em; left: 50%; margin-left: -0.586em;"><span class="texatom" id="MathJax-Span-210"><span class="mrow" id="MathJax-Span-211"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.537em, 1001.09em, 3.961em, -1000em); top: -3.999em; left: 50%; margin-left: -0.586em;"><span class="mo" id="MathJax-Span-212" style="font-family: MathJax_Main;">⋯</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; width: 100%; clip: rect(2.327em, 1001.15em, 4.051em, -1000em); top: -2.352em; left: 0em;"><span class="mtd" id="MathJax-Span-231"><span class="mrow" id="MathJax-Span-232"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(2.327em, 1001.15em, 4.051em, -1000em); top: -3.999em; left: 50%; margin-left: -0.641em;"><span class="mo" id="MathJax-Span-233" style="font-family: MathJax_Main;">⋱</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; width: 100%; clip: rect(3.537em, 1001.09em, 3.961em, -1000em); top: -0.952em; left: 0em;"><span class="mtd" id="MathJax-Span-252"><span class="mrow" id="MathJax-Span-253"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.537em, 1001.09em, 3.961em, -1000em); top: -3.999em; left: 50%; margin-left: -0.586em;"><span class="mo" id="MathJax-Span-254" style="font-family: MathJax_Main;">⋯</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; width: 100%; clip: rect(3.537em, 1001.09em, 3.961em, -1000em); top: 0.611em; left: 0em;"><span class="mtd" id="MathJax-Span-308"><span class="mrow" id="MathJax-Span-309"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.537em, 1001.09em, 3.961em, -1000em); top: -3.999em; left: 50%; margin-left: -0.586em;"><span class="mo" id="MathJax-Span-310" style="font-family: MathJax_Main;">⋯</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span><span style="display: inline-block; width: 0px; height: 10.378em;"></span></span><span style="position: absolute; clip: rect(5.798em, 1004.91em, 16.413em, -1000em); top: -11.289em; left: 21.074em;"><span style="display: inline-block; position: relative; width: 4.908em; height: 0px;"><span style="position: absolute; width: 100%; clip: rect(3.181em, 1000.46em, 4.173em, -1000em); top: -8.672em; left: 0em;"><span class="mtd" id="MathJax-Span-101"><span class="mrow" id="MathJax-Span-102"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.181em, 1000.46em, 4.173em, -1000em); top: -3.999em; left: 50%; margin-left: -0.25em;"><span class="mn" id="MathJax-Span-103" style="font-family: MathJax_Main;">0</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; width: 100%; clip: rect(3.181em, 1000.46em, 4.173em, -1000em); top: -7.272em; left: 0em;"><span class="mtd" id="MathJax-Span-138"><span class="mrow" id="MathJax-Span-139"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.181em, 1000.46em, 4.173em, -1000em); top: -3.999em; left: 50%; margin-left: -0.25em;"><span class="mn" id="MathJax-Span-140" style="font-family: MathJax_Main;">0</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; width: 100%; clip: rect(3.181em, 1000.46em, 4.173em, -1000em); top: -5.872em; left: 0em;"><span class="mtd" id="MathJax-Span-176"><span class="mrow" id="MathJax-Span-177"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.181em, 1000.46em, 4.173em, -1000em); top: -3.999em; left: 50%; margin-left: -0.25em;"><span class="mn" id="MathJax-Span-178" style="font-family: MathJax_Main;">0</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; width: 100%; clip: rect(3.181em, 1000.46em, 4.173em, -1000em); top: -4.472em; left: 0em;"><span class="mtd" id="MathJax-Span-213"><span class="mrow" id="MathJax-Span-214"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.181em, 1000.46em, 4.173em, -1000em); top: -3.999em; left: 50%; margin-left: -0.25em;"><span class="mn" id="MathJax-Span-215" style="font-family: MathJax_Main;">0</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; width: 100%; clip: rect(2.547em, 1000.2em, 4.181em, -1000em); top: -2.352em; left: 0em;"><span class="mtd" id="MathJax-Span-234"><span class="mrow" id="MathJax-Span-235"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(2.547em, 1000.2em, 4.181em, -1000em); top: -3.999em; left: 50%; margin-left: -0.139em;"><span class="mo" id="MathJax-Span-236" style="font-family: MathJax_Main;">⋮</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; width: 100%; clip: rect(3.142em, 1004.91em, 4.514em, -1000em); top: -0.952em; left: 0em;"><span class="mtd" id="MathJax-Span-255"><span class="mrow" id="MathJax-Span-256"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.142em, 1004.91em, 4.514em, -1000em); top: -3.999em; left: 50%; margin-left: -2.454em;"><span class="mi" id="MathJax-Span-257" style="font-family: MathJax_Main;">cos</span><span class="mo" id="MathJax-Span-258"></span><span class="texatom" id="MathJax-Span-259" style="padding-left: 0.167em;"><span class="mrow" id="MathJax-Span-260"><span style="display: inline-block; position: relative; width: 3.403em; height: 0px;"><span style="position: absolute; clip: rect(3.142em, 1003.4em, 4.514em, -1000em); top: -3.999em; left: 0em;"><span class="mi" id="MathJax-Span-261" style="font-family: MathJax_Math-italic;">m</span><span class="msubsup" id="MathJax-Span-262"><span style="display: inline-block; position: relative; width: 2.525em; height: 0px;"><span style="position: absolute; clip: rect(3.142em, 1000.46em, 4.161em, -1000em); top: -3.999em; left: 0em;"><span class="mi" id="MathJax-Span-263" style="font-family: MathJax_Math-italic;">θ</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; top: -3.813em; left: 0.469em;"><span class="texatom" id="MathJax-Span-264"><span class="mrow" id="MathJax-Span-265"><span style="display: inline-block; position: relative; width: 1.981em; height: 0px;"><span style="position: absolute; clip: rect(3.317em, 1001.93em, 4.328em, -1000em); top: -3.999em; left: 0em;"><span class="texatom" id="MathJax-Span-266"><span class="mrow" id="MathJax-Span-267"><span style="display: inline-block; position: relative; width: 1.077em; height: 0px;"><span style="position: absolute; clip: rect(3.317em, 1001.04em, 4.328em, -1000em); top: -3.999em; left: 0em;"><span class="mi" id="MathJax-Span-268" style="font-size: 70.7%; font-family: MathJax_Math-italic;">d<span style="display: inline-block; overflow: hidden; height: 1px; width: 0.002em;"></span></span><span class="texatom" id="MathJax-Span-269"><span class="mrow" id="MathJax-Span-270"><span style="display: inline-block; position: relative; width: 0.354em; height: 0px;"><span style="position: absolute; clip: rect(3.317em, 1000.32em, 4.328em, -1000em); top: -3.999em; left: 0em;"><span class="mo" id="MathJax-Span-271" style="font-size: 70.7%; font-family: MathJax_Main;">/</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span class="mn" id="MathJax-Span-272" style="font-size: 70.7%; font-family: MathJax_Main;">2</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span class="mo" id="MathJax-Span-273" style="font-size: 70.7%; font-family: MathJax_Main;">−</span><span class="mn" id="MathJax-Span-274" style="font-size: 70.7%; font-family: MathJax_Main;">1</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; width: 100%; clip: rect(3.142em, 1004.8em, 4.514em, -1000em); top: 0.611em; left: 0em;"><span class="mtd" id="MathJax-Span-311"><span class="mrow" id="MathJax-Span-312"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.142em, 1004.8em, 4.514em, -1000em); top: -3.999em; left: 50%; margin-left: -2.399em;"><span class="mi" id="MathJax-Span-313" style="font-family: MathJax_Main;">sin</span><span class="mo" id="MathJax-Span-314"></span><span class="texatom" id="MathJax-Span-315" style="padding-left: 0.167em;"><span class="mrow" id="MathJax-Span-316"><span style="display: inline-block; position: relative; width: 3.403em; height: 0px;"><span style="position: absolute; clip: rect(3.142em, 1003.4em, 4.514em, -1000em); top: -3.999em; left: 0em;"><span class="mi" id="MathJax-Span-317" style="font-family: MathJax_Math-italic;">m</span><span class="msubsup" id="MathJax-Span-318"><span style="display: inline-block; position: relative; width: 2.525em; height: 0px;"><span style="position: absolute; clip: rect(3.142em, 1000.46em, 4.161em, -1000em); top: -3.999em; left: 0em;"><span class="mi" id="MathJax-Span-319" style="font-family: MathJax_Math-italic;">θ</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; top: -3.813em; left: 0.469em;"><span class="texatom" id="MathJax-Span-320"><span class="mrow" id="MathJax-Span-321"><span style="display: inline-block; position: relative; width: 1.981em; height: 0px;"><span style="position: absolute; clip: rect(3.317em, 1001.93em, 4.328em, -1000em); top: -3.999em; left: 0em;"><span class="texatom" id="MathJax-Span-322"><span class="mrow" id="MathJax-Span-323"><span style="display: inline-block; position: relative; width: 1.077em; height: 0px;"><span style="position: absolute; clip: rect(3.317em, 1001.04em, 4.328em, -1000em); top: -3.999em; left: 0em;"><span class="mi" id="MathJax-Span-324" style="font-size: 70.7%; font-family: MathJax_Math-italic;">d<span style="display: inline-block; overflow: hidden; height: 1px; width: 0.002em;"></span></span><span class="texatom" id="MathJax-Span-325"><span class="mrow" id="MathJax-Span-326"><span style="display: inline-block; position: relative; width: 0.354em; height: 0px;"><span style="position: absolute; clip: rect(3.317em, 1000.32em, 4.328em, -1000em); top: -3.999em; left: 0em;"><span class="mo" id="MathJax-Span-327" style="font-size: 70.7%; font-family: MathJax_Main;">/</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span class="mn" id="MathJax-Span-328" style="font-size: 70.7%; font-family: MathJax_Main;">2</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span class="mo" id="MathJax-Span-329" style="font-size: 70.7%; font-family: MathJax_Main;">−</span><span class="mn" id="MathJax-Span-330" style="font-size: 70.7%; font-family: MathJax_Main;">1</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span><span style="display: inline-block; width: 0px; height: 11.289em;"></span></span><span style="position: absolute; clip: rect(5.798em, 1005.74em, 16.413em, -1000em); top: -11.289em; left: 26.982em;"><span style="display: inline-block; position: relative; width: 5.743em; height: 0px;"><span style="position: absolute; width: 100%; clip: rect(3.181em, 1000.46em, 4.173em, -1000em); top: -8.672em; left: 0em;"><span class="mtd" id="MathJax-Span-104"><span class="mrow" id="MathJax-Span-105"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.181em, 1000.46em, 4.173em, -1000em); top: -3.999em; left: 50%; margin-left: -0.25em;"><span class="mn" id="MathJax-Span-106" style="font-family: MathJax_Main;">0</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; width: 100%; clip: rect(3.181em, 1000.46em, 4.173em, -1000em); top: -7.272em; left: 0em;"><span class="mtd" id="MathJax-Span-141"><span class="mrow" id="MathJax-Span-142"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.181em, 1000.46em, 4.173em, -1000em); top: -3.999em; left: 50%; margin-left: -0.25em;"><span class="mn" id="MathJax-Span-143" style="font-family: MathJax_Main;">0</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; width: 100%; clip: rect(3.181em, 1000.46em, 4.173em, -1000em); top: -5.872em; left: 0em;"><span class="mtd" id="MathJax-Span-179"><span class="mrow" id="MathJax-Span-180"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.181em, 1000.46em, 4.173em, -1000em); top: -3.999em; left: 50%; margin-left: -0.25em;"><span class="mn" id="MathJax-Span-181" style="font-family: MathJax_Main;">0</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; width: 100%; clip: rect(3.181em, 1000.46em, 4.173em, -1000em); top: -4.472em; left: 0em;"><span class="mtd" id="MathJax-Span-216"><span class="mrow" id="MathJax-Span-217"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.181em, 1000.46em, 4.173em, -1000em); top: -3.999em; left: 50%; margin-left: -0.25em;"><span class="mn" id="MathJax-Span-218" style="font-family: MathJax_Main;">0</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; width: 100%; clip: rect(2.547em, 1000.2em, 4.181em, -1000em); top: -2.352em; left: 0em;"><span class="mtd" id="MathJax-Span-237"><span class="mrow" id="MathJax-Span-238"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(2.547em, 1000.2em, 4.181em, -1000em); top: -3.999em; left: 50%; margin-left: -0.139em;"><span class="mo" id="MathJax-Span-239" style="font-family: MathJax_Main;">⋮</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; width: 100%; clip: rect(3.142em, 1005.74em, 4.514em, -1000em); top: -0.952em; left: 0em;"><span class="mtd" id="MathJax-Span-275"><span class="mrow" id="MathJax-Span-276"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.142em, 1005.74em, 4.514em, -1000em); top: -3.999em; left: 50%; margin-left: -2.871em;"><span class="mo" id="MathJax-Span-277" style="font-family: MathJax_Main;">−</span><span class="mi" id="MathJax-Span-278" style="font-family: MathJax_Main; padding-left: 0.167em;">sin</span><span class="mo" id="MathJax-Span-279"></span><span class="texatom" id="MathJax-Span-280" style="padding-left: 0.167em;"><span class="mrow" id="MathJax-Span-281"><span style="display: inline-block; position: relative; width: 3.403em; height: 0px;"><span style="position: absolute; clip: rect(3.142em, 1003.4em, 4.514em, -1000em); top: -3.999em; left: 0em;"><span class="mi" id="MathJax-Span-282" style="font-family: MathJax_Math-italic;">m</span><span class="msubsup" id="MathJax-Span-283"><span style="display: inline-block; position: relative; width: 2.525em; height: 0px;"><span style="position: absolute; clip: rect(3.142em, 1000.46em, 4.161em, -1000em); top: -3.999em; left: 0em;"><span class="mi" id="MathJax-Span-284" style="font-family: MathJax_Math-italic;">θ</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; top: -3.813em; left: 0.469em;"><span class="texatom" id="MathJax-Span-285"><span class="mrow" id="MathJax-Span-286"><span style="display: inline-block; position: relative; width: 1.981em; height: 0px;"><span style="position: absolute; clip: rect(3.317em, 1001.93em, 4.328em, -1000em); top: -3.999em; left: 0em;"><span class="texatom" id="MathJax-Span-287"><span class="mrow" id="MathJax-Span-288"><span style="display: inline-block; position: relative; width: 1.077em; height: 0px;"><span style="position: absolute; clip: rect(3.317em, 1001.04em, 4.328em, -1000em); top: -3.999em; left: 0em;"><span class="mi" id="MathJax-Span-289" style="font-size: 70.7%; font-family: MathJax_Math-italic;">d<span style="display: inline-block; overflow: hidden; height: 1px; width: 0.002em;"></span></span><span class="texatom" id="MathJax-Span-290"><span class="mrow" id="MathJax-Span-291"><span style="display: inline-block; position: relative; width: 0.354em; height: 0px;"><span style="position: absolute; clip: rect(3.317em, 1000.32em, 4.328em, -1000em); top: -3.999em; left: 0em;"><span class="mo" id="MathJax-Span-292" style="font-size: 70.7%; font-family: MathJax_Main;">/</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span class="mn" id="MathJax-Span-293" style="font-size: 70.7%; font-family: MathJax_Main;">2</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span class="mo" id="MathJax-Span-294" style="font-size: 70.7%; font-family: MathJax_Main;">−</span><span class="mn" id="MathJax-Span-295" style="font-size: 70.7%; font-family: MathJax_Main;">1</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; width: 100%; clip: rect(3.142em, 1004.91em, 4.514em, -1000em); top: 0.611em; left: 0em;"><span class="mtd" id="MathJax-Span-331"><span class="mrow" id="MathJax-Span-332"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.142em, 1004.91em, 4.514em, -1000em); top: -3.999em; left: 50%; margin-left: -2.454em;"><span class="mi" id="MathJax-Span-333" style="font-family: MathJax_Main;">cos</span><span class="mo" id="MathJax-Span-334"></span><span class="texatom" id="MathJax-Span-335" style="padding-left: 0.167em;"><span class="mrow" id="MathJax-Span-336"><span style="display: inline-block; position: relative; width: 3.403em; height: 0px;"><span style="position: absolute; clip: rect(3.142em, 1003.4em, 4.514em, -1000em); top: -3.999em; left: 0em;"><span class="mi" id="MathJax-Span-337" style="font-family: MathJax_Math-italic;">m</span><span class="msubsup" id="MathJax-Span-338"><span style="display: inline-block; position: relative; width: 2.525em; height: 0px;"><span style="position: absolute; clip: rect(3.142em, 1000.46em, 4.161em, -1000em); top: -3.999em; left: 0em;"><span class="mi" id="MathJax-Span-339" style="font-family: MathJax_Math-italic;">θ</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; top: -3.813em; left: 0.469em;"><span class="texatom" id="MathJax-Span-340"><span class="mrow" id="MathJax-Span-341"><span style="display: inline-block; position: relative; width: 1.981em; height: 0px;"><span style="position: absolute; clip: rect(3.317em, 1001.93em, 4.328em, -1000em); top: -3.999em; left: 0em;"><span class="texatom" id="MathJax-Span-342"><span class="mrow" id="MathJax-Span-343"><span style="display: inline-block; position: relative; width: 1.077em; height: 0px;"><span style="position: absolute; clip: rect(3.317em, 1001.04em, 4.328em, -1000em); top: -3.999em; left: 0em;"><span class="mi" id="MathJax-Span-344" style="font-size: 70.7%; font-family: MathJax_Math-italic;">d<span style="display: inline-block; overflow: hidden; height: 1px; width: 0.002em;"></span></span><span class="texatom" id="MathJax-Span-345"><span class="mrow" id="MathJax-Span-346"><span style="display: inline-block; position: relative; width: 0.354em; height: 0px;"><span style="position: absolute; clip: rect(3.317em, 1000.32em, 4.328em, -1000em); top: -3.999em; left: 0em;"><span class="mo" id="MathJax-Span-347" style="font-size: 70.7%; font-family: MathJax_Main;">/</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span class="mn" id="MathJax-Span-348" style="font-size: 70.7%; font-family: MathJax_Main;">2</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span class="mo" id="MathJax-Span-349" style="font-size: 70.7%; font-family: MathJax_Main;">−</span><span class="mn" id="MathJax-Span-350" style="font-size: 70.7%; font-family: MathJax_Main;">1</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span><span style="display: inline-block; width: 0px; height: 11.289em;"></span></span></span></span><span class="mo" id="MathJax-Span-351" style="vertical-align: 5.473em;"><span style="display: inline-block; position: relative; width: 0.667em; height: 0px;"><span style="position: absolute; font-family: MathJax_Size4; top: -2.845em; left: 0em;">⎤<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; font-family: MathJax_Size4; top: 5.802em; left: 0em;">⎦<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="font-family: MathJax_Size4; position: absolute; top: -1.668em; left: 0em;">⎥<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="font-family: MathJax_Size4; position: absolute; top: -1.136em; left: 0em;">⎥<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="font-family: MathJax_Size4; position: absolute; top: -0.604em; left: 0em;">⎥<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="font-family: MathJax_Size4; position: absolute; top: -0.072em; left: 0em;">⎥<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="font-family: MathJax_Size4; position: absolute; top: 0.46em; left: 0em;">⎥<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="font-family: MathJax_Size4; position: absolute; top: 0.992em; left: 0em;">⎥<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="font-family: MathJax_Size4; position: absolute; top: 1.524em; left: 0em;">⎥<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="font-family: MathJax_Size4; position: absolute; top: 2.057em; left: 0em;">⎥<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="font-family: MathJax_Size4; position: absolute; top: 2.589em; left: 0em;">⎥<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="font-family: MathJax_Size4; position: absolute; top: 3.121em; left: 0em;">⎥<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="font-family: MathJax_Size4; position: absolute; top: 3.653em; left: 0em;">⎥<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="font-family: MathJax_Size4; position: absolute; top: 4.185em; left: 0em;">⎥<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="font-family: MathJax_Size4; position: absolute; top: 4.717em; left: 0em;">⎥<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 11.441em;"></span></span></span></span><span style="display: inline-block; width: 0px; height: 11.441em;"></span></span></span><span style="display: inline-block; overflow: hidden; vertical-align: -5.124em; border-left: 0px solid; width: 0px; height: 10.758em;"></span></span></nobr><span class="MJX_Assistive_MathML MJX_Assistive_MathML_Block" role="presentation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><mrow><mo>[</mo><mtable rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi>cos</mi><mo></mo><mrow class="MJX-TeXAtom-ORD"><mi>m</mi><msub><mi>θ</mi><mn>0</mn></msub></mrow></mtd><mtd><mo>−</mo><mi>sin</mi><mo></mo><mrow class="MJX-TeXAtom-ORD"><mi>m</mi><msub><mi>θ</mi><mn>0</mn></msub></mrow></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo>⋯</mo></mrow></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mi>sin</mi><mo></mo><mrow class="MJX-TeXAtom-ORD"><mi>m</mi><msub><mi>θ</mi><mn>0</mn></msub></mrow></mtd><mtd><mi>cos</mi><mo></mo><mrow class="MJX-TeXAtom-ORD"><mi>m</mi><msub><mi>θ</mi><mn>0</mn></msub></mrow></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo>⋯</mo></mrow></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mi>cos</mi><mo></mo><mrow class="MJX-TeXAtom-ORD"><mi>m</mi><msub><mi>θ</mi><mn>1</mn></msub></mrow></mtd><mtd><mo>−</mo><mi>sin</mi><mo></mo><mrow class="MJX-TeXAtom-ORD"><mi>m</mi><msub><mi>θ</mi><mn>1</mn></msub></mrow></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo>⋯</mo></mrow></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mi>sin</mi><mo></mo><mrow class="MJX-TeXAtom-ORD"><mi>m</mi><msub><mi>θ</mi><mn>1</mn></msub></mrow></mtd><mtd><mi>cos</mi><mo></mo><mrow class="MJX-TeXAtom-ORD"><mi>m</mi><msub><mi>θ</mi><mn>1</mn></msub></mrow></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo>⋯</mo></mrow></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mo>⋮</mo></mtd><mtd><mo>⋮</mo></mtd><mtd><mo>⋮</mo></mtd><mtd><mo>⋮</mo></mtd><mtd><mo>⋱</mo></mtd><mtd><mo>⋮</mo></mtd><mtd><mo>⋮</mo></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mo>⋯</mo></mtd><mtd><mi>cos</mi><mo></mo><mrow class="MJX-TeXAtom-ORD"><mi>m</mi><msub><mi>θ</mi><mrow class="MJX-TeXAtom-ORD"><mrow class="MJX-TeXAtom-ORD"><mi>d</mi><mrow class="MJX-TeXAtom-ORD"><mo>/</mo></mrow><mn>2</mn></mrow><mo>−</mo><mn>1</mn></mrow></msub></mrow></mtd><mtd><mo>−</mo><mi>sin</mi><mo></mo><mrow class="MJX-TeXAtom-ORD"><mi>m</mi><msub><mi>θ</mi><mrow class="MJX-TeXAtom-ORD"><mrow class="MJX-TeXAtom-ORD"><mi>d</mi><mrow class="MJX-TeXAtom-ORD"><mo>/</mo></mrow><mn>2</mn></mrow><mo>−</mo><mn>1</mn></mrow></msub></mrow></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mo>⋯</mo></mtd><mtd><mi>sin</mi><mo></mo><mrow class="MJX-TeXAtom-ORD"><mi>m</mi><msub><mi>θ</mi><mrow class="MJX-TeXAtom-ORD"><mrow class="MJX-TeXAtom-ORD"><mi>d</mi><mrow class="MJX-TeXAtom-ORD"><mo>/</mo></mrow><mn>2</mn></mrow><mo>−</mo><mn>1</mn></mrow></msub></mrow></mtd><mtd><mi>cos</mi><mo></mo><mrow class="MJX-TeXAtom-ORD"><mi>m</mi><msub><mi>θ</mi><mrow class="MJX-TeXAtom-ORD"><mrow class="MJX-TeXAtom-ORD"><mi>d</mi><mrow class="MJX-TeXAtom-ORD"><mo>/</mo></mrow><mn>2</mn></mrow><mo>−</mo><mn>1</mn></mrow></msub></mrow></mtd></mtr></mtable><mo>]</mo></mrow></math></span></span></div><script type="math/tex; mode=display" id="MathJax-Element-3">\begin{bmatrix} \cos{m\theta_0} & -\sin{m\theta_0} & 0 & 0 &{\cdots} & 0 & 0 \\ \sin{m\theta_0} & \cos{m\theta_0} & 0 & 0 &{\cdots} & 0 & 0 \\ 0 & 0 & \cos{m\theta_1} & -\sin{m\theta_1} &{\cdots} & 0 & 0 \\ 0 & 0 & \sin{m\theta_1} & \cos{m\theta_1} &{\cdots} & 0 & 0 \\ \vdots & \vdots & \vdots & \vdots & \ddots & \vdots & \vdots \\ 0 & 0 & 0 & 0 & \cdots & \cos{m\theta_{ {d/2}-1}} & -\sin{m\theta_{ {d/2}-1}}\\ 0 & 0 & 0 & 0 & \cdots & \sin{m\theta_{ {d/2}-1}} & \cos{m\theta_{ {d/2}-1}} \end{bmatrix}</script> <span class="MathJax_Preview" style="color: inherit; display: none;"></span><div class="MathJax_Display"><span class="MathJax MathJax_FullWidth" id="MathJax-Element-4-Frame" tabindex="0" data-mathml="<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><mrow><mo>[</mo><mtable rowspacing="4pt" columnspacing="1em"><mtr><mtd><msub><mi>q</mi><mn>0</mn></msub></mtd></mtr><mtr><mtd><msub><mi>q</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><msub><mi>q</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd><msub><mi>q</mi><mn>3</mn></msub></mtd></mtr><mtr><mtd><mo>&#x22EE;</mo></mtd></mtr><mtr><mtd><msub><mi>q</mi><mrow class="MJX-TeXAtom-ORD"><mi>d</mi><mo>&#x2212;</mo><mn>2</mn></mrow></msub></mtd></mtr><mtr><mtd><msub><mi>q</mi><mrow class="MJX-TeXAtom-ORD"><mi>d</mi><mo>&#x2212;</mo><mn>1</mn></mrow></msub></mtd></mtr></mtable><mo>]</mo></mrow></math>" role="presentation" style="position: relative;"><nobr aria-hidden="true"><span class="math" id="MathJax-Span-352" style="width: 100%; display: inline-block; min-width: 3.546em;"><span style="display: inline-block; position: relative; width: 100%; height: 0px; font-size: 102%;"><span style="position: absolute; clip: rect(5.575em, 1003.14em, 15.794em, -1000em); top: -10.934em; left: 0em; width: 100%;"><span class="mrow" id="MathJax-Span-353"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(5.575em, 1003.14em, 15.794em, -1000em); top: -10.934em; left: 50%; margin-left: -1.731em;"><span class="mrow" id="MathJax-Span-354"><span class="mo" id="MathJax-Span-355" style="vertical-align: 5.208em;"><span style="display: inline-block; position: relative; width: 0.667em; height: 0px;"><span style="position: absolute; font-family: MathJax_Size4; top: -2.845em; left: 0em;">⎡<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; font-family: MathJax_Size4; top: 5.273em; left: 0em;">⎣<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="font-family: MathJax_Size4; position: absolute; top: -1.668em; left: 0em;">⎢<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="font-family: MathJax_Size4; position: absolute; top: -1.136em; left: 0em;">⎢<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="font-family: MathJax_Size4; position: absolute; top: -0.603em; left: 0em;">⎢<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="font-family: MathJax_Size4; position: absolute; top: -0.071em; left: 0em;">⎢<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="font-family: MathJax_Size4; position: absolute; top: 0.461em; left: 0em;">⎢<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="font-family: MathJax_Size4; position: absolute; top: 0.994em; left: 0em;">⎢<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="font-family: MathJax_Size4; position: absolute; top: 1.526em; left: 0em;">⎢<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="font-family: MathJax_Size4; position: absolute; top: 2.058em; left: 0em;">⎢<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="font-family: MathJax_Size4; position: absolute; top: 2.591em; left: 0em;">⎢<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="font-family: MathJax_Size4; position: absolute; top: 3.123em; left: 0em;">⎢<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="font-family: MathJax_Size4; position: absolute; top: 3.655em; left: 0em;">⎢<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="font-family: MathJax_Size4; position: absolute; top: 4.187em; left: 0em;">⎢<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span><span class="mtable" id="MathJax-Span-356" style="padding-right: 0.167em; padding-left: 0.167em;"><span style="display: inline-block; position: relative; width: 1.794em; height: 0px;"><span style="position: absolute; clip: rect(5.578em, 1001.79em, 15.44em, -1000em); top: -10.58em; left: 0em;"><span style="display: inline-block; position: relative; width: 1.794em; height: 0px;"><span style="position: absolute; width: 100%; clip: rect(3.405em, 1000.88em, 4.345em, -1000em); top: -8.407em; left: 0em;"><span class="mtd" id="MathJax-Span-357"><span class="mrow" id="MathJax-Span-358"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.405em, 1000.88em, 4.345em, -1000em); top: -3.999em; left: 50%; margin-left: -0.437em;"><span class="msubsup" id="MathJax-Span-359"><span style="display: inline-block; position: relative; width: 0.875em; height: 0px;"><span style="position: absolute; clip: rect(3.405em, 1000.46em, 4.345em, -1000em); top: -3.999em; left: 0em;"><span class="mi" id="MathJax-Span-360" style="font-family: MathJax_Math-italic;">q<span style="display: inline-block; overflow: hidden; height: 1px; width: 0.014em;"></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; top: -3.849em; left: 0.446em;"><span class="mn" id="MathJax-Span-361" style="font-size: 70.7%; font-family: MathJax_Main;">0</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; width: 100%; clip: rect(3.405em, 1000.88em, 4.345em, -1000em); top: -7.007em; left: 0em;"><span class="mtd" id="MathJax-Span-362"><span class="mrow" id="MathJax-Span-363"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.405em, 1000.88em, 4.345em, -1000em); top: -3.999em; left: 50%; margin-left: -0.437em;"><span class="msubsup" id="MathJax-Span-364"><span style="display: inline-block; position: relative; width: 0.875em; height: 0px;"><span style="position: absolute; clip: rect(3.405em, 1000.46em, 4.345em, -1000em); top: -3.999em; left: 0em;"><span class="mi" id="MathJax-Span-365" style="font-family: MathJax_Math-italic;">q<span style="display: inline-block; overflow: hidden; height: 1px; width: 0.014em;"></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; top: -3.849em; left: 0.446em;"><span class="mn" id="MathJax-Span-366" style="font-size: 70.7%; font-family: MathJax_Main;">1</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; width: 100%; clip: rect(3.405em, 1000.88em, 4.345em, -1000em); top: -5.607em; left: 0em;"><span class="mtd" id="MathJax-Span-367"><span class="mrow" id="MathJax-Span-368"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.405em, 1000.88em, 4.345em, -1000em); top: -3.999em; left: 50%; margin-left: -0.437em;"><span class="msubsup" id="MathJax-Span-369"><span style="display: inline-block; position: relative; width: 0.875em; height: 0px;"><span style="position: absolute; clip: rect(3.405em, 1000.46em, 4.345em, -1000em); top: -3.999em; left: 0em;"><span class="mi" id="MathJax-Span-370" style="font-family: MathJax_Math-italic;">q<span style="display: inline-block; overflow: hidden; height: 1px; width: 0.014em;"></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; top: -3.849em; left: 0.446em;"><span class="mn" id="MathJax-Span-371" style="font-size: 70.7%; font-family: MathJax_Main;">2</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; width: 100%; clip: rect(3.405em, 1000.88em, 4.345em, -1000em); top: -4.207em; left: 0em;"><span class="mtd" id="MathJax-Span-372"><span class="mrow" id="MathJax-Span-373"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.405em, 1000.88em, 4.345em, -1000em); top: -3.999em; left: 50%; margin-left: -0.437em;"><span class="msubsup" id="MathJax-Span-374"><span style="display: inline-block; position: relative; width: 0.875em; height: 0px;"><span style="position: absolute; clip: rect(3.405em, 1000.46em, 4.345em, -1000em); top: -3.999em; left: 0em;"><span class="mi" id="MathJax-Span-375" style="font-family: MathJax_Math-italic;">q<span style="display: inline-block; overflow: hidden; height: 1px; width: 0.014em;"></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; top: -3.849em; left: 0.446em;"><span class="mn" id="MathJax-Span-376" style="font-size: 70.7%; font-family: MathJax_Main;">3</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; width: 100%; clip: rect(2.547em, 1000.2em, 4.181em, -1000em); top: -2.307em; left: 0em;"><span class="mtd" id="MathJax-Span-377"><span class="mrow" id="MathJax-Span-378"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(2.547em, 1000.2em, 4.181em, -1000em); top: -3.999em; left: 50%; margin-left: -0.139em;"><span class="mo" id="MathJax-Span-379" style="font-family: MathJax_Main;">⋮</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; width: 100%; clip: rect(3.405em, 1001.79em, 4.359em, -1000em); top: -0.907em; left: 0em;"><span class="mtd" id="MathJax-Span-380"><span class="mrow" id="MathJax-Span-381"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.405em, 1001.79em, 4.359em, -1000em); top: -3.999em; left: 50%; margin-left: -0.897em;"><span class="msubsup" id="MathJax-Span-382"><span style="display: inline-block; position: relative; width: 1.794em; height: 0px;"><span style="position: absolute; clip: rect(3.405em, 1000.46em, 4.345em, -1000em); top: -3.999em; left: 0em;"><span class="mi" id="MathJax-Span-383" style="font-family: MathJax_Math-italic;">q<span style="display: inline-block; overflow: hidden; height: 1px; width: 0.014em;"></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; top: -3.849em; left: 0.446em;"><span class="texatom" id="MathJax-Span-384"><span class="mrow" id="MathJax-Span-385"><span style="display: inline-block; position: relative; width: 1.273em; height: 0px;"><span style="position: absolute; clip: rect(3.357em, 1001.24em, 4.209em, -1000em); top: -3.999em; left: 0em;"><span class="mi" id="MathJax-Span-386" style="font-size: 70.7%; font-family: MathJax_Math-italic;">d<span style="display: inline-block; overflow: hidden; height: 1px; width: 0.002em;"></span></span><span class="mo" id="MathJax-Span-387" style="font-size: 70.7%; font-family: MathJax_Main;">−</span><span class="mn" id="MathJax-Span-388" style="font-size: 70.7%; font-family: MathJax_Main;">2</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; width: 100%; clip: rect(3.405em, 1001.79em, 4.359em, -1000em); top: 0.501em; left: 0em;"><span class="mtd" id="MathJax-Span-389"><span class="mrow" id="MathJax-Span-390"><span style="display: inline-block; position: relative; width: 100%; height: 0px;"><span style="position: absolute; clip: rect(3.405em, 1001.79em, 4.359em, -1000em); top: -3.999em; left: 50%; margin-left: -0.897em;"><span class="msubsup" id="MathJax-Span-391"><span style="display: inline-block; position: relative; width: 1.794em; height: 0px;"><span style="position: absolute; clip: rect(3.405em, 1000.46em, 4.345em, -1000em); top: -3.999em; left: 0em;"><span class="mi" id="MathJax-Span-392" style="font-family: MathJax_Math-italic;">q<span style="display: inline-block; overflow: hidden; height: 1px; width: 0.014em;"></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; top: -3.849em; left: 0.446em;"><span class="texatom" id="MathJax-Span-393"><span class="mrow" id="MathJax-Span-394"><span style="display: inline-block; position: relative; width: 1.273em; height: 0px;"><span style="position: absolute; clip: rect(3.357em, 1001.22em, 4.209em, -1000em); top: -3.999em; left: 0em;"><span class="mi" id="MathJax-Span-395" style="font-size: 70.7%; font-family: MathJax_Math-italic;">d<span style="display: inline-block; overflow: hidden; height: 1px; width: 0.002em;"></span></span><span class="mo" id="MathJax-Span-396" style="font-size: 70.7%; font-family: MathJax_Main;">−</span><span class="mn" id="MathJax-Span-397" style="font-size: 70.7%; font-family: MathJax_Main;">1</span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span><span style="display: inline-block; width: 0px; height: 10.58em;"></span></span></span></span><span class="mo" id="MathJax-Span-398" style="vertical-align: 5.208em;"><span style="display: inline-block; position: relative; width: 0.667em; height: 0px;"><span style="position: absolute; font-family: MathJax_Size4; top: -2.845em; left: 0em;">⎤<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="position: absolute; font-family: MathJax_Size4; top: 5.273em; left: 0em;">⎦<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="font-family: MathJax_Size4; position: absolute; top: -1.668em; left: 0em;">⎥<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="font-family: MathJax_Size4; position: absolute; top: -1.136em; left: 0em;">⎥<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="font-family: MathJax_Size4; position: absolute; top: -0.603em; left: 0em;">⎥<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="font-family: MathJax_Size4; position: absolute; top: -0.071em; left: 0em;">⎥<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="font-family: MathJax_Size4; position: absolute; top: 0.461em; left: 0em;">⎥<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="font-family: MathJax_Size4; position: absolute; top: 0.994em; left: 0em;">⎥<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="font-family: MathJax_Size4; position: absolute; top: 1.526em; left: 0em;">⎥<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="font-family: MathJax_Size4; position: absolute; top: 2.058em; left: 0em;">⎥<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="font-family: MathJax_Size4; position: absolute; top: 2.591em; left: 0em;">⎥<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="font-family: MathJax_Size4; position: absolute; top: 3.123em; left: 0em;">⎥<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="font-family: MathJax_Size4; position: absolute; top: 3.655em; left: 0em;">⎥<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span><span style="font-family: MathJax_Size4; position: absolute; top: 4.187em; left: 0em;">⎥<span style="display: inline-block; width: 0px; height: 3.999em;"></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 10.934em;"></span></span></span></span><span style="display: inline-block; width: 0px; height: 10.934em;"></span></span></span><span style="display: inline-block; overflow: hidden; vertical-align: -4.854em; border-left: 0px solid; width: 0px; height: 10.218em;"></span></span></nobr><span class="MJX_Assistive_MathML MJX_Assistive_MathML_Block" role="presentation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><mrow><mo>[</mo><mtable rowspacing="4pt" columnspacing="1em"><mtr><mtd><msub><mi>q</mi><mn>0</mn></msub></mtd></mtr><mtr><mtd><msub><mi>q</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><msub><mi>q</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd><msub><mi>q</mi><mn>3</mn></msub></mtd></mtr><mtr><mtd><mo>⋮</mo></mtd></mtr><mtr><mtd><msub><mi>q</mi><mrow class="MJX-TeXAtom-ORD"><mi>d</mi><mo>−</mo><mn>2</mn></mrow></msub></mtd></mtr><mtr><mtd><msub><mi>q</mi><mrow class="MJX-TeXAtom-ORD"><mi>d</mi><mo>−</mo><mn>1</mn></mrow></msub></mtd></mtr></mtable><mo>]</mo></mrow></math></span></span></div><script type="math/tex; mode=display" id="MathJax-Element-4">\begin{bmatrix} q_0\\ q_1 \\ q_2 \\ q_3 \\ \vdots \\ q_{d-2} \\ q_{d-1} \end{bmatrix}</script>
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 9.06em; vertical-align: -4.28em;"></span><span class="minner"><span class="mopen"><span class="delimsizing mult"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 4.7499em;"><span class="" style="top: -6.7499em;"><span class="pstrut" style="height: 11em;"></span><span class="" style="width: 0.667em; height: 9em;">
<svg width="0.667em" height="9.000em" viewBox="0 0 667 9000">
<path d="M403 1759 V84 H666 V0 H319 V1759 v5400 v1759 h347 v-84
H403z M403 1759 V0 H319 V1759 v5400 v1759 h84z">
cosmθ0sinmθ000⋮00−sinmθ0cosmθ000⋮0000cosmθ1sinmθ1⋮0000−sinmθ1cosmθ1⋮00⋯⋯⋯⋯⋱⋯⋯0000⋮cosmθd/2−1sinmθd/2−10000⋮−sinmθd/2−1cosmθd/2−1
q0q1q2q3⋮qd−2qd−1</span