scipy.stats.special_ortho_group#
- scipy.stats.special_ortho_group = <scipy.stats._multivariate.special_ortho_group_gen Objekt>[Quelle]#
Eine Zufallsvariable für spezielle orthogonale Matrizen (SO(N)).
Gibt eine zufällige Rotationsmatrix zurück, die aus der Haar-Verteilung (der einzigen gleichmäßigen Verteilung auf SO(N)) mit einer Determinante von +1 gezogen wird.
Das Schlüsselwort dim gibt die Dimension N an.
- Parameter:
- dimSkalar
Dimension der Matrizen
- seed{None, int, np.random.RandomState, np.random.Generator}, optional
Wird zum Ziehen von Zufallsvarianten verwendet. Wenn seed None ist, wird die RandomState Singleton verwendet. Wenn seed eine Ganzzahl ist, wird eine neue
RandomState-Instanz verwendet, die mit seed initialisiert wird. Wenn seed bereits eineRandomState- oderGenerator-Instanz ist, wird dieses Objekt verwendet. Standard ist None.
Methoden
rvs(dim=None, size=1, random_state=None)
Zufällige Stichproben aus SO(N) ziehen.
Siehe auch
Hinweise
Die Methode
rvsgibt eine zufällige Rotationsmatrix zurück, die aus der Haar-Verteilung gezogen wird, der einzigen gleichmäßigen Verteilung auf SO(N). Der Algorithmus generiert eine Haar-verteilte orthogonale Matrix in O(N) mithilfe der Methodervsvonortho_groupund passt dann die Matrix an, um sicherzustellen, dass die Determinante +1 ist.Für eine zufällige Rotation in drei Dimensionen siehe
scipy.spatial.transform.Rotation.random.Beispiele
>>> import numpy as np >>> from scipy.stats import special_ortho_group >>> x = special_ortho_group.rvs(3)
>>> np.dot(x, x.T) array([[ 1.00000000e+00, 1.13231364e-17, -2.86852790e-16], [ 1.13231364e-17, 1.00000000e+00, -1.46845020e-16], [ -2.86852790e-16, -1.46845020e-16, 1.00000000e+00]])
>>> import scipy.linalg >>> scipy.linalg.det(x) 1.0
Dies generiert eine zufällige Matrix aus SO(3). Sie ist orthogonal und hat eine Determinante von 1.
Alternativ kann das Objekt (als Funktion) aufgerufen werden, um den Parameter dim festzulegen, wodurch eine „eingefrorene“ spezielle_ortho_group-Zufallsvariable zurückgegeben wird.
>>> rv = special_ortho_group(5) >>> # Frozen object with the same methods but holding the >>> # dimension parameter fixed.