随机转动
CircularRealMatrixDistribution 表示维数为
的正交方阵的均匀分布,也称作正交群
的哈尔测度. 根据该分布生成的矩阵可以作为
-维向量空间中向量的转动算符.
通过由维数为 3 的 CircularRealMatrixDistribution 旋转固定的三维向量 (0,0,1) 得到随机向量,定义它的分布.
In[1]:=
\[ScriptCapitalD] =
MatrixPropertyDistribution[r.{0, 0, 1},
r \[Distributed] CircularRealMatrixDistribution[3]];使用该分布在单位球面上对点进行采样.
In[2]:=
points = RandomVariate[\[ScriptCapitalD], 10^3];检查是否所有采样点属于单位球.
In[3]:=
AllTrue[points, RegionMember[Sphere[3]]]Out[3]=
绘制采样点与原始向量.
显示完整的 Wolfram 语言输入
Out[4]=

柱面坐标下球面面积元由
给出.
In[5]:=
{x, y, z} = Transpose[points];
\[Phi] = ArcTan[y/x];检查
和
的边缘分布是否均匀.
In[6]:=
Histogram[#, 20, PDF] & /@ {\[Phi], z}Out[6]=

通过检查
和
的联合分布是否为均匀分布,检查采样点是否在球表面上均匀分布.
显示完整的 Wolfram 语言输入
Out[7]=

检验
和
的联合分布为均匀分布的假设.
In[8]:=
DistributionFitTest[Transpose[{\[Phi], z}],
UniformDistribution[{{-Pi/2, Pi/2}, {-1, 1}}], "TestConclusion"]Out[8]=
