scipy.stats.ortho_group#

scipy.stats.ortho_group = <scipy.stats._multivariate.ortho_group_gen Objekt>[Quelle]#

Eine orthogonale Matrix (O(N)) Zufallsvariable.

Gibt eine zufällige orthogonale Matrix zurück, die aus der O(N) Haar-Verteilung (der einzigen gleichmäßigen Verteilung auf O(N)) gezogen wurde.

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 eine RandomState- oder Generator-Instanz ist, wird dieses Objekt verwendet. Standard ist None.

Methoden

rvs(dim=None, size=1, random_state=None)

Zufällige Stichproben aus O(N) ziehen.

Siehe auch

special_ortho_group

Hinweise

Diese Klasse steht in engem Zusammenhang mit special_ortho_group.

Es wird darauf geachtet, numerische Fehler zu vermeiden, gemäß der Arbeit von Mezzadri.

Referenzen

[1]

F. Mezzadri, „How to generate random matrices from the classical compact groups“, arXiv:math-ph/0609050v2.

Beispiele

>>> import numpy as np
>>> from scipy.stats import ortho_group
>>> x = 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
>>> np.fabs(scipy.linalg.det(x))
1.0

Dies generiert eine zufällige Matrix aus O(3). Sie ist orthogonal und hat eine Determinante von +1 oder -1.

Alternativ kann das Objekt (als Funktion) aufgerufen werden, um den dim Parameter festzulegen, wodurch eine "eingefrorene" ortho_group Zufallsvariable zurückgegeben wird.

>>> rv = ortho_group(5)
>>> # Frozen object with the same methods but holding the
>>> # dimension parameter fixed.