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"]
