Was ist der richtige Weg, um eine Multiplikation zwischen Skalar und Vektor zu schreiben?
Die Regel der Matrixmultiplikation besagt, dass die Anzahl der Spalten des linken Operanden der Anzahl der Zeilen des rechten Operanden entspricht.
$M*N$ wenn M hat $n$ Spalten und N sollten haben $n$ Reihen.
Nach dieser Konvention besteht die natürliche Methode zum Schreiben einer Multiplikation zwischen einem Vektor und einem Skalar darin, den Vektor auf die linke Seite zu setzen - wobei der Skalar als 1: 1-Matrix verwendet wird.
Ich stellte jedoch fest, dass Menschen häufig nicht der obigen Regel folgen: am Beispiel der Eigenzerlegung:
Wiki der Eigenzerlegung
$A\upsilon=\lambda\upsilon$
Gibt es eine Faustregel, die uns anleitet, wann wir den Skalar auf die linke Seite setzen sollen?
Antworten
Skalarmultiplikation und Matrixmultiplikation sind zwei separate Operationen. Obwohl sie das gleiche Wort "Multiplikation" enthalten, sind sie völlig unterschiedlich.
Die Matrixmultiplikation ist nicht kommutativ - Sie müssen also die richtige Matrix auf die rechte Seite stellen, es geht nicht um Konventionen. Skalare sind kommutativ und können auf beiden Seiten platziert werden.
Ich glaube nicht, dass es per se eine schriftliche Konvention gibt - die Leute haben sich einfach daran gewöhnt, Koeffizienten vor andere Begriffe zu stellen. Wenn Sie rechts einen Skalar setzen, kann es sein, dass einige Leute, die Ihre Ausdrücke lesen, aufhören und denken: "Hugh, warte, arbeiten wir mit nicht kommutativer Algebra?" für einen Augenblick. Einige Leute denken vielleicht auch "Hugh, ist das ein Skalar oder fehlt mir etwas?". Es kann einige zusätzliche Gehirnzyklen für einen Leser dauern, also würde ich Skalare auf der linken Seite behalten, aber es wird wahrscheinlich keine Tragödie sein, wenn Sie sie auf die andere Seite stellen.
Während es möglich ist, die Skalarmultiplikation mit zu imitieren$1\times n$ oder $n \times 1$Matrizen - das ist es nicht im Wesentlichen. Wieder - dies sind verschiedene Operationen und nur eine von ihnen ist kommutativ.
Dies ist nur eine Frage der Notationskonventionen. Normalerweise werden die Axiome eines Vektorraums durch Schreiben einer Skalarmultiplikation in die Form formuliert$$\lambda \cdot v$$ wo $v \in V$ und $\lambda$ gehört zum Bodenfeld $K$. Der Grund ist, dass wir das normalerweise im Produkt verstehen$\mu \cdot \lambda$ von Elementen von $K$Wir haben einen ersten Faktor$\mu$und ein zweiter Faktor$\lambda$. In einem Feld (dessen Multiplikation kommutativ ist) scheint die Reihenfolge der Faktoren irrelevant zu sein (weil$\mu \cdot \lambda = \lambda \cdot \mu$), aber in einem Ring $R$(deren Multiplikation im Allgemeinen nicht kommutativ ist) Die Reihenfolge ist wesentlich. Dies gilt zum Beispiel für den Ring von$n\times n$-Matrizen über einem Feld. Eines der Axiome eines Vektorraums ist$$(\mu \cdot \lambda) \cdot v = \mu \cdot (\lambda \cdot v)$$ Das ist mnemonisch einfacher als die gleiche Formel, die über die Skalarmultiplikation von rechts geschrieben wurde $$v \cdot (\mu \cdot \lambda) = (v \cdot \lambda) \cdot \mu .$$ Okay, für ein Feld macht dies keinen großen Unterschied, da es dasselbe sagt wie $$v \cdot (\lambda \cdot \mu) = (v \cdot \lambda) \cdot \mu .$$Beachten Sie jedoch, dass das Konzept eines Vektorraums über einen Ring auf das eines Moduls verallgemeinert werden kann$R$und hier macht die Reihenfolge einen Unterschied. Tatsächlich unterscheidet man zwischen links und rechts$R$-Module. Für links$R$-Module schreibt man normalerweise skalare Mutliplikation als $\lambda \cdot v$für richtig $R$-Module als $v \cdot \lambda$. Siehe hier .
Kommen wir nun zum Kern Ihrer Frage. Das Matrixprodukt$A \bullet B$ wird normalerweise für ein definiert $m\times n$ Matrix $A$ und ein $n\times p$ Matrix $B$dh wir verlangen, dass die Anzahl der Spalten von $A$ ist gleich der Anzahl der Zeilen von $B$. Wie Sie sagen, ein Skalar$\lambda$ kann als die angesehen werden $1 \times 1$ Matrix $(\lambda)$. Somit sind die folgenden zwei Ausdrücke definiert:$$(\lambda) \bullet A \text{ for } 1 \times n \text{ matrices } A \tag{1} $$ $$A \bullet (\lambda) \text{ for } n \times 1 \text{ matrices } A \tag{2} $$ Im $(1)$ $A$wird ein Zeilenvektor genannt , in$(2)$ein Spaltenvektor .
Es kommt also auf Ihre Lieblingsnotation an: Wenn Sie Elemente von betrachten $K^n$ Als Zeilenvektoren müssen Sie verwenden $(1)$Wenn Sie sie als Spaltenvektoren betrachten, müssen Sie schreiben $(2)$.
Auf jeden Fall ist dies nur relevant, wenn Sie auf jeden Fall darauf bestehen, das Skalarprodukt von zu verstehen$\lambda$ und $A$als Matrixprodukt. Normalerweise für$A = (a_{ij})$ man definiert einfach $$ \lambda \cdot (a_{ij}) = (\lambda \cdot a_{ij}) .$$ Dabei spielt es keine Rolle, ob Sie Elemente von betrachten $K^n$ als Zeilenvektoren oder als Spaltenvektoren.