Heim > Artikel > Backend-Entwicklung > Python-Methode zum Erstellen einer symmetrischen Matrix basierend auf dem Numpy-Modul
In diesem Artikel wird hauptsächlich die Methode zum Erstellen symmetrischer Matrizen in Python vorgestellt und die zugehörigen Operationsfähigkeiten von Python anhand des Numpy-Moduls zur Implementierung von Matrixoperationen in Form von Beispielen analysiert
Die Beispiele in diesem Artikel beschreiben Python-Methoden zum Erstellen symmetrischer Matrizen. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:
Symmetrische (echte Symmetrie-)Matrix ist:
Schritt 1: Erstellen Sie eine quadratische Matrix
>>> import numpy as np >>> X = np.random.rand(5**2).reshape(5, 5) >>> X array([[ 0.26984148, 0.25408384, 0.12428487, 0.0194565 , 0.91287708], [ 0.31837673, 0.35493156, 0.74336268, 0.31810561, 0.04409245], [ 0.06644445, 0.8967897 , 0.10990936, 0.05036292, 0.72581982], [ 0.94758512, 0.21375975, 0.36781736, 0.1633904 , 0.36070709], [ 0.53263787, 0.18380491, 0.0225521 , 0.91239367, 0.75521585]])
Schritt 2: Behalten Sie den oberen dreieckigen Teil bei
>>> X = np.triu(X) # 保留其上三角部分 >>> X array([[ 0.26984148, 0.25408384, 0.12428487, 0.0194565 , 0.91287708], [ 0. , 0.35493156, 0.74336268, 0.31810561, 0.04409245], [ 0. , 0. , 0.10990936, 0.05036292, 0.72581982], [ 0. , 0. , 0. , 0.1633904 , 0.36070709], [ 0. , 0. , 0. , 0. , 0.75521585]])
Schritt 3: „Kopieren“ Sie das obere Dreieck in das untere Dreieck
>>> X += X.T - np.diag(X.diagonal()) >>> X array([[ 0.26984148, 0.25408384, 0.12428487, 0.0194565 , 0.91287708], [ 0.25408384, 0.35493156, 0.74336268, 0.31810561, 0.04409245], [ 0.12428487, 0.74336268, 0.10990936, 0.05036292, 0.72581982], [ 0.0194565 , 0.31810561, 0.05036292, 0.1633904 , 0.36070709], [ 0.91287708, 0.04409245, 0.72581982, 0.36070709, 0.75521585]])
Beachten Sie, dass die Elemente auf der Diagonale einmal subtrahiert werden müssen. Weil das obere Dreieck cov
und das untere Dreieck cov.T
beim Hinzufügen die Elemente auf der Hauptdiagonale zweimal hinzufügen.
Schritt 4: Testen
>>> X.T == X array([[ True, True, True, True, True], [ True, True, True, True, True], [ True, True, True, True, True], [ True, True, True, True, True], [ True, True, True, True, True]], dtype=bool)
Das obige ist der detaillierte Inhalt vonPython-Methode zum Erstellen einer symmetrischen Matrix basierend auf dem Numpy-Modul. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!