Matrixmultiplikation - Undefiniertes Produkt

Ich lerne lineare Algebra für eine Klasse für maschinelles Lernen und habe eine Frage zur Matrizenmultiplikation. Das Produkt zweier Matrizen ist immer dann undefiniert, wenn die Zeilen der ersten Matrix (von rechts nach links gelesen) nicht mit der Spalte der zweiten Matrix übereinstimmen.

Angenommen, ich müsste (aus irgendeinem Grund) eine 3x3-Matrix mit einer 2x2-Matrix multiplizieren. Könnte ich die Operation nicht einfach abschließen, indem ich die "fehlende Zeile" mit den Koordinaten [0,0] hinzufüge? Ich denke darüber nach, denn wenn Matrizen lineare Transformationen des Raums darstellen, dann repräsentiert eine 2x2-Matrix eine zweidimensionale Transformation. Aber ist eine zweidimensionale Transformation nicht einfach eine Transformation, bei der jede andere Dimension gleich 0 ist?

Nehmen wir zur Veranschaulichung an, ich möchte eine lineare Transformation [-1,0;0,1] auf den Vektor [3,3] anwenden. Der resultierende Vektor wäre ein zweidimensionaler Vektor [-3,3]. Nehmen wir nun an, dass ich nach dieser Transformation eine weitere Transformation auf denselben Vektor anwenden möchte, diesmal jedoch in drei Dimensionen. Um das Beispiel so einfach wie möglich zu halten, verwenden wir dafür die Identitätstransformation: [1,0,0;0,1,0;0,0,1]. Dazu müsste die 3x3-Matrix [1,0,0;0,1,0;0,0,1] mit der 2x3-Matrix [-1,0;0,1] multipliziert werden, was technisch nicht möglich ist. Wenn ich jedoch die obige Methode anwende (dh eine dritte Zeile mit allen 0 zur 2x3-Matrix hinzufüge), wäre ich immer noch in der Lage, die Transformation zu berechnen und das Ergebnis [-1,0,0;0,1,0] zu erhalten. Ich kann dies dann mit meinem ursprünglichen Vektor multiplizieren und erhalte [-3,3,0]. Der einzige Unterschied, den ich zwischen [-3,3,0] und [-3,

Was fehlt mir hier?

Grüße,

Federico

Antworten (3)

Du musst etwas deutlicher sagen, was du machen willst. Technisch gesehen können Sie eine 2x2-Matrix einfach nicht mit einer 3x3-Matrix multiplizieren. Ich bin mir also nicht sicher, was du da vorhast.

Aber falls A M 2 × 2 und du willst finden B M 3 × 3 damit wann immer ( X 1 , X 2 , X 3 ) R 3 wir haben A ( X 1 , X 2 ) T identisch mit der Projektion von B ( X 1 , X 2 , X 3 ) T auf die ersten beiden Koordinaten, dann ist das durchaus machbar. In der Tat, nehme an

A = ( A B C D )
Dann musst du lassen
B = ( A B 0 C D 0 )
wo die Sterne alles sein können, was Sie wollen.

Hallo @Ben W, ich untersuche keine bestimmte Anwendung. Ich versuche konzeptionell zu verstehen, warum Sie Ihre Worte "Technisch gesehen können Sie eine 2x2-Matrix einfach nicht mit einer 3x3-Matrix multiplizieren" verwenden.
@fcorte Sie wissen bereits, dass die Matrixmultiplikation nur für definiert ist × M Und M × N Matrizen (dh wo die Anzahl der Spalten der ersten Matrix mit der Anzahl der Zeilen der zweiten übereinstimmt). Ich bin mir nicht sicher, was es dazu noch zu sagen gibt.
Warum ist es nur für lxm und mxn definiert, wenn man doch durch Multiplikation von lxm mit anxn eine lineare Transformation berechnen kann? Das heißt, indem einfach angenommen wird, dass jeder zusätzliche Koordinaten- oder Basisvektor in der höherdimensionalen Matrix auf 0 in der niedrigerdimensionalen kollabiert werden kann, wenn die Standardmultiplikationsregeln angewendet werden. Wenn Sie dies tun, erhalten Sie immer noch eine definierte Antwort, obwohl eine davon impliziert, dass einige Informationen verloren gehen, wenn Sie von n + x-Dimensionen in n Einsen kollabieren. Siehe auch meine Frage an Chris Culter weiter unten.
@fcorte Sie können die lineare Karte definieren Q : M 2 × 2 M 3 × 3 indem man Q A sei die Matrix, die durch Anhängen von Nullen links und unten gebildet wird A . Dann für alle B M 3 × 3 du kannst multiplizieren Q A Und B zusammen. Das ist soweit in Ordnung, aber es ist nicht dasselbe wie Multiplizieren A Und B , welche Operation undefiniert ist. Wenn Sie möchten, können Sie die Definition der Matrixmultiplikation "erweitern" und schreiben A B für ( Q A ) B wenn der Kontext klar ist. Aber ich bin mir nicht sicher, wie nützlich das wäre.

Ich würde sagen, der Kern der Idee kann verwendet werden, aber eine Matrix, die nur 0 enthält, lässt den Vektor nicht unverändert, die Einheitskarte ändert den Vektor nicht. Wenn Sie also eine 2D-Karte auf einem 3D-Objekt verwenden möchten Sie Sie können sich dafür entscheiden, 1 Achse zu wählen, entlang der nichts geändert wird, indem Sie die Einheitskarte anstelle der Nullkarte verwenden.

Jede quadratische Matrix stellt unabhängig von ihren Einträgen eine lineare Abbildung dar. So sind beispielsweise die Nullmatrix und die Einheitsmatrix beide linear.
Entschuldigung, schlechte Formulierung. Eine Matrix, die nur 0 enthält, ist eine lineare Abbildung, aber keine, die nichts tut. Ich habe versucht, es in meiner Antwort zu ändern.

Sie führen effektiv Berechnungen durch F S M ( R ) , der endlich unterstützte Bereich N × N -dimensionale reellwertige Matrizen. Und Sie betrachten jede solche Matrix als äquivalent zu jeder endlichdimensionalen Scheibe, die alle ihre Nicht-Null-Einträge enthält. Das funktioniert im Allgemeinen gut: zum Beispiel Multiplikation in F S M ( R ) ist assoziativ. Aber es gibt keine Identitätsmatrix, da sie unendlich viele haben müsste 1 s, und das ist unbequem.

Das heißt, nur weil Sie dies tun können, heißt das nicht unbedingt, dass Sie es tun sollten ! Um dies in einer angewandten Umgebung auszudrücken: Nehmen wir an, Sie entwerfen ein Paket für lineare Algebra von Grund auf neu. Wenn der Benutzer versucht, zwei Matrizen mit unerwarteten Formen zu multiplizieren, dann ist es wahrscheinlich ein Fehler, also ist es besser, einen großen Fehler zu signalisieren, anstatt stillschweigend die Hälfte seiner Daten in Nullen umzuwandeln. Wenn der Benutzer die Multiplikation wirklich durchführen möchte, fordern Sie ihn auf, explizit zu beschreiben, wie die Eingaben zuerst in Form geschlagen werden sollen. Siehe zum Beispiel die Array-Manipulation und Pad- Funktionen von numpy .

Ich glaube, ich verstehe den Sinn Ihrer Antwort. Zur Verdeutlichung: Es scheint mir, dass es keinen Unterschied zwischen den Matrizen [a,b;c,d] und [a,b,n;c,d,n;n,n,n] für n = 0 gibt. Meinen Sie das auch mit "jede solche Matrix ist äquivalent zu jeder endlichdimensionalen Scheibe, die alle ihre Einträge ungleich Null enthält"? Wenn dies richtig ist und wie mein obiges Beispiel impliziert, führt die Multiplikation einer 3x3-Matrix mit 2x2 dazu, dass drei Dimensionen in zwei zusammenfallen. Ich sehe, wie dadurch einige "Informationen" verloren gehen, aber ist das nicht immer noch ein "definierter" Fall, der tatsächlich mit den Standardregeln berechnet werden kann? Warum wird dies als "undefiniert" angesehen?