Python -- numpy Matrix-Operationen

Schriftsteller:Kleine Träume, Erstellt: 2017-01-12 12:47:58, aktualisiert:

Python numpy Matrix-Operationen

Hinweis: NumPy ist der Nachfolger von Numarray und wird als Ersatz für NumArray verwendet. SAGE ist ein mathematisches Softwarepaket, das auf NumPy und einigen anderen Tools basiert, um Tools wie Magma, Maple, Mathematica und Matlab zu ersetzen. Heute wollte ich im Internet nach Informationen über NumPy suchen und versuchte, mit NumPy eine Umkehrmatrix zu suchen, aber ich konnte keine Informationen in chinesischer Sprache finden. Einige Nutzer in den Foren fragten mich, wie man eine Matrix mit Python macht.

  • Matrix-Objekte

    Matrix-Typen erben den Ndarray-Typ und enthalten daher alle Datenattribute und Methoden von Ndarray. Matrix-Typen unterscheiden sich von Ndarray-Typen in sechs wichtigen Punkten, die zu unerwarteten Ergebnissen führen, wenn Sie Matrix-Objekte als Arrays handhaben.

    • 1) Matrix-Objekte können mit einer Matlab-Style-String erstellt werden, also einer String, die mit einem Raum und einem Punkt getrennt ist.

    • 2) Die Matrixobjekte sind immer zweidimensional. Dies beinhaltet weitreichende Auswirkungen, z. B. dass der Rücklaufwert von m.ravel (()) zweidimensional ist und dass der Rücklaufwert der Mitgliederwahl ebenfalls zweidimensional ist, so dass sich die Verhaltensweisen der Reihen von der Array unterscheiden.

    • 3) Multiplikationen des Matrixtyps, die die Multiplikationen der Array umfassen, werden mit Multiplikationsoperationen der Matrix verwendet.

    • 4) Die Array-Operationen des Matrixtyps überschreiten auch die vorherigen Array-Operationen, die die Array der Matrix verwenden. Aufgrund dieser Tatsache wird erneut daran erinnert, dass die Anrufung von anasanarray[...] mit einem Array einer Matrix als Parameter die gleiche ist wie oben.

    • 5) Die matrix-Standard-Array_priority ist 10.0, so dass eine Kombination aus narray und Matrixobjekten immer die Matrix zurückgibt.

    • 6) Die Matrix hat einige eigene Eigenschaften, die die Berechnung leichter machen. Diese Eigenschaften sind:

      • (a).T - Rückkehr zur eigenen Verlagerung

      • (b).H - Rückkehr zur eigenen Resonanzverlagerung

      • ©.I - Zurück in die eigene Umkehrmatrix

      • (d).A - eine Ansicht der 2D-Array, die ihre eigenen Daten zurückgibt (ohne eine Kopie zu machen)

        Die Matrix-Klasse ist eine Python-Subklasse von ndarray, die man auch lernen kann, um eigene Ndarray-Subklassen zu konstruieren. Matrix-Objekte können auch mit anderen Matrix-Objekten, Wörtern, Strings oder anderen, die in ein Ndarray-Argument umgewandelt werden können, konstruiert werden.

  • Beispiel 1: Matrix mit Stringkonstruktion

    import numpy as np
    a=np.mat('1 2 3; 4 5 3')
    print (a*a.T).I
    [[ 0.29239766 -0.13450292]
    [-0.13450292  0.08187135]]
    
  • Beispiel 2: Matrixkonstruktion mit Nestsequenzen

    np.matrix([[  1.+0.j,   5.+0.j,  10.+0.j],
          [  1.+0.j,   3.+0.j,   0.+4.j]])
    
  • Beispiel 3: Eine Matrix wird mit einer Array aufgebaut

    np.mat( np.random.rand(3,3) ).T
    np.matrix([[ 0.81541602,  0.73987459,  0.03509142],
          [ 0.14767449,  0.60539483,  0.05641679],
          [ 0.43257759,  0.628695  ,  0.47413553]])
    

    Matrix ((data, dtype=None, copy=True)) Die Daten, die mit dem Parameterdata übertragen werden, werden in eine Matrix umgewandelt. Wenn dtype None ist, wird der Datentyp durch den Inhalt der Daten bestimmt. Wenn copy True ist, werden die Daten in den Daten kopiert, sonst wird der ursprüngliche Datenbuffer verwendet.候会调用matrix.new(Matrix, Daten, D-Types, Kopien) - Ich weiß. Ich bin nicht derjenige, der die Matrix versteht. Asmatrix ((data, dtype=None) Die Daten, die nicht kopiert wurden, werden zurückgegeben. Die gleichen Werte wie die Matrix ((data, dtype, copy=False) ‒ Bmat (obj, ldict=None, gdict=None) Erstellen Sie eine Matrix mit einer String, einer Reihe von Netzen oder einer Array. Dieser Befehl erlaubt Ihnen, eine Matrix aus anderen Objekten zu erstellen. Hierbei werden die Parameter ldict und gdict verwendet, die als Lokal- und Modulwörterbuch dienen.

    A=np.mat('2 2; 2 2'); B=np.mat('1 1; 1 1');
    print(np.bmat('A B; B A'))
      [[2 2 1 1]
       [2 2 1 1]
       [1 1 2 2]
       [1 1 2 2]]
    

Übersetzt von su frank


Mehr