Heim > Backend-Entwicklung > Python-Tutorial > Python-Methode zum Erstellen einer symmetrischen Matrix basierend auf dem Numpy-Modul

Python-Methode zum Erstellen einer symmetrischen Matrix basierend auf dem Numpy-Modul

黄舟
Freigeben: 2017-10-12 10:55:51
Original
5338 Leute haben es durchsucht

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]])
Nach dem Login kopieren

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]])
Nach dem Login kopieren

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]])
Nach dem Login kopieren

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)
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage