Rotações aleatórias
CircularRealMatrixDistribution representa uma distribuição uniforme das matrizes quadradas ortogonais de dimensão , também conhecida como a medida de Haar no grupo ortogonal
. As matrizes geradas de acordo com essa distribuição podem atuar como operadores de rotação para vetores em um espaço vetorial
-dimensional.
Defina uma distribuição de vetores aleatórios obtidos com a rotação de um vetor em 3D fixo (0,0,1) por uma matriz aleatória de CircularRealMatrixDistribution de dimensão 3.
![Click for copyable input](assets.pt-br/random-rotations/In_101.png)
\[ScriptCapitalD] =
MatrixPropertyDistribution[r.{0, 0, 1},
r \[Distributed] CircularRealMatrixDistribution[3]];
Use esta distribuição para fazer uma amostra de pontos na área de superfície da esfera.
![Click for copyable input](assets.pt-br/random-rotations/In_102.png)
points = RandomVariate[\[ScriptCapitalD], 10^3];
Verifique se todos os pontos da amostra pertencem à unidade da esfera.
![Click for copyable input](assets.pt-br/random-rotations/In_103.png)
AllTrue[points, RegionMember[Sphere[3]]]
![](assets.pt-br/random-rotations/O_50.png)
Represente graficamente os pontos da amostra com o vetor original.
![](assets.pt-br/random-rotations/O_51.png)
O elemento da área de superfície da esfera em coordenadas cilíndricas é dado por .
![Click for copyable input](assets.pt-br/random-rotations/In_105.png)
{x, y, z} = Transpose[points];
\[Phi] = ArcTan[y/x];
Verifique se as distribuições marginais de e
são uniformes.
![Click for copyable input](assets.pt-br/random-rotations/In_106.png)
Histogram[#, 20, PDF] & /@ {\[Phi], z}
![](assets.pt-br/random-rotations/O_52.png)
Verifique se os pontos da amostra estão distribuídos uniformemente na superfície da esfera verificando se a distribuição conjunta de e
é uniforme.
![](assets.pt-br/random-rotations/O_53.png)
Teste a hipótese de que a distribuição conjunta de e
é uniforme.
![Click for copyable input](assets.pt-br/random-rotations/In_108.png)
DistributionFitTest[Transpose[{\[Phi], z}],
UniformDistribution[{{-Pi/2, Pi/2}, {-1, 1}}], "TestConclusion"]
![](assets.pt-br/random-rotations/O_54.png)