Rotaciones aleatorias
CircularRealMatrixDistribution representa una distribución uniforme de las matrices cuadradas octogonales de dimensión
, también conocidas como la medida de Haar en el grupo ortogonal
. Las matrices generadas de acuerdo con esta distribución pueden actuar como operadores de rotación de vectores en un espacio vectorial
-dimensional
Defina una distribución de vectores aleatorios obtenidos rotando un vector en 3D fijo (0,0,1) por una matriz aleatoria de CircularRealMatrixDistribution de dimensión 3.
\[ScriptCapitalD] =
MatrixPropertyDistribution[r.{0, 0, 1},
r \[Distributed] CircularRealMatrixDistribution[3]];Use esta distribución para tomar muestra de puntos en la superficie de la unidad de esfera.
points = RandomVariate[\[ScriptCapitalD], 10^3];Compruebe si todos los puntos de muestra pertenecen a la unidad de esfera.
AllTrue[points, RegionMember[Sphere[3]]]Represente gráficamente los puntos muestreados con el vector original.

El elemento del área de superficie en la esfera en coordinadas cilíndricas es dado por
.
{x, y, z} = Transpose[points];
\[Phi] = ArcTan[y/x];Compruebe si las distribuciones marginales de
y
son uniformes.
Histogram[#, 20, PDF] & /@ {\[Phi], z}
Revise si los puntos de muestra están distribuidos uniformemente en la superficie de la esfera, comprobando si la distribución conjunta de
y
es uniforme.

Pruebe la hipótesis de que la distribución conjunta de
y
es uniforme.
DistributionFitTest[Transpose[{\[Phi], z}],
UniformDistribution[{{-Pi/2, Pi/2}, {-1, 1}}], "TestConclusion"]