Беспорядочное вращение
CircularRealMatrixDistribution представляет равномерное распределение ортогональных квадратных матриц с размером массива , также известное как мера Хаара на ортогональной группе . Матрицы, сгенерированные согласно данному распределению, могут выступать в роли операторов вращения для векторов в -мерном векторном пространстве.
Определите распределение случайных векторов, полученных путём вращения фиксированного трёхмерного вектора (0,0,1) случайной матрицей из CircularRealMatrixDistribution размера массива 3.
\[ScriptCapitalD] =
MatrixPropertyDistribution[r.{0, 0, 1},
r \[Distributed] CircularRealMatrixDistribution[3]];
Используйте данное распределение для отбора точек на поверхности единичной сферы.
points = RandomVariate[\[ScriptCapitalD], 10^3];
Проверьте, принадлежат ли все отобранные точки единичной сфере.
AllTrue[points, RegionMember[Sphere[3]]]
Графически изобразите отобранные точки с исходным вектором.
Параметр площади поверхности сферы задан в цилиндрических координатах через .
{x, y, z} = Transpose[points];
\[Phi] = ArcTan[y/x];
Проверьте, являются ли маргинальные распределения и равномерными.
Histogram[#, 20, PDF] & /@ {\[Phi], z}
Убедитесь, равномерно ли распределены отобранные точки на поверхности сферы, проверив равномерность совместного распределения и .
Проверьте гипотезу о том, что совместное распределение и является равномерным.
DistributionFitTest[Transpose[{\[Phi], z}],
UniformDistribution[{{-Pi/2, Pi/2}, {-1, 1}}], "TestConclusion"]