Gibt es irgendeine Funktion in der Gnu-Oktave, die Adjunge-Matrix (ähnlich wie adjoint in Matlab usw.)?Adjugate-Matrix in Oktave
Antwort
Die adjugate ist wahrscheinlich nicht was Sie eigentlich wollen.
Wenn Sie das normale Adjungiert (die konjugierte Transponierte) wollen, dann wird es x'
Ihnen für x
geben. (Das nicht-konjugierte Transponierung ist x.'
oder transpose(x)
. conj(x)
das komplexe Konjugat gibt, und arbeitet auf Matrizen und Vektoren als auch.)
Wenn Sie tatsächlich die adjugate (aka classical adjoint) wollen, glaube ich nicht, Octave hat es eingebaut. Es gibt ein paar Möglichkeiten, dies zu berechnen. Wenn Sie Invertierbarkeit annehmen können, dann ist es nur det(x)*inv(x)
. Wenn nicht, ist es ein bisschen komplizierter. Im Allgemeinen ist das Adjugat die Transponierte der Cofaktormatrix. Die Cofaktor-Matrix ersetzt jedes Element in der ursprünglichen Matrix durch seinen Cofaktor (plus oder minus dessen Minor, der die Determinante der ursprünglichen Matrix ohne diese Zeile und Spalte ist. Die Plus- oder Minus-Regel ist für die determinante Erweiterung die gleiche - wenn die Summe der Reihe und Spalte ist gerade, es ist positiv, wenn es negativ ist, ist es ungerade).
Die einfachste codewise ist wahrscheinlich, die SVD (die eingebaut ist) zu verwenden - das Adjugat ist ein Antihomomorphismus mit adj (xy) = adj (y) adj (x). Die SVD von x ist eine Menge von Matrizen u, s, v, mit u * s * v '= x, s diagonal, u und v beide unitär. adj (x) = adj (u * s * v ') = adj (v') adj (s) adj (u). Für invertierbare Matrizen ist das Adjugat nur die Determinante mal die Inverse. Für unitäre Matrizen ist dies nur die konjugierte Transponierte. adj (x) = det (v ') v adj (s) det (u) u' = det (v '* u) v adj (s) u'. Das Adjugat einer Diagonalmatrix s ist relativ einfach zu berechnen - jeder Eintrag von der Diagonalen ist Null und jeder Eintrag auf der Diagonale ist das Produkt der anderen.
- 1. Permutationsfunktion in Matlab/Oktave
- 2. 'inputParser' undefined in Oktave
- 3. Farbbereich zwischen Kurven in Oktave
- 4. Zeilenweise Operationen in der Oktave
- 5. Oktave ist langsam; Vorschläge
- 6. Rundung auf zwei Dezimalstellen in der Oktave
- 7. Gradient Descent Implementierung in der Oktave
- 8. Linien werden nicht in Oktave gezeichnet
- 9. belebtes Grundstück/Bahn in Matlab/Oktave
- 10. kann nicht Befehl „Drucken“ mit Oktave verwenden
- 11. oktave: Laden vieler Funktionen aus einer Datei
- 12. Oktave einfrieren, wenn es plotten muss
- 13. Call Oktave von Python über Subprozess-Modul
- 14. Wie man Fehlerbalken mit lotrechten Linienenden in der Oktave macht
- 15. Entfernen Sie nicht-ASCII-Zeichen in der Oktave
- 16. Konvertieren von Midi-Notennummern in Name und Oktave
- 17. Überprüfen, ob die Zeichenkette drei gleiche Buchstaben in Oktave enthält
- 18. Wie wird ein Gaussian an Daten in Matlab/Oktave angepasst?
- 19. OpenAl Pitch-Werte für bestimmte Musiknoten in einer Oktave
- 20. Alternative von spsolve und spdiag in Matlab/Oktave
- 21. Über die Auswertung der Verarbeitungszeit eines Codes in der Oktave
- 22. Führen Sie eine Funktion mit Oktave von Terminal
- 23. Was die äquivalente Python-Code für diese Oktave Code ist
- 24. GNU-Oktave: Lastdaten, die geometrischen Linien als Blöcke von Koordinaten
- 25. Tex-Fehler beim Updaten der Oktave mit Brüh
- 26. OpenCV 2.3 SURF Keypoint Oktave ist nie gleich 0
- 27. Wie kann ich Bilder in einem Array in der Oktave speichern?
- 28. Achsen, aber keine Zeilen beim Drucken von Plot in Oktave für Windows
- 29. Peak-Erkennung gibt unterschiedliche Ergebnisse, wenn Oktave oder Oct2py in Python verwendet
- 30. Oktave - gibt die Position des ersten Auftretens einer Zeichenkette in einem Zellenfeld zurück
Was ich wollte, war Matrix zu adjugieren und det (x) * inv (x) ist eine Lösung, danke. –