Matrix-Vektor-Produkt

Das Matrix-Vektor-Produkt ist in der linearen Algebra das Produkt einer Matrix mit einem Vektor. Damit eine solche Matrix-Vektor-Multiplikation durchgeführt werden kann, muss die Spaltenzahl der Matrix mit der Zahl der Komponenten des Vektors übereinstimmen. Das Ergebnis ist dann wieder ein Vektor, dessen Elemente durch komponentenweise Multiplikation und Summation der Einträge der entsprechenden Zeile der Matrix mit den Elementen des Ausgangsvektors ermittelt werden. Das Matrix-Vektor-Produkt kann als Spezialfall einer Matrizenmultiplikation angesehen werden, bei der die zweite Matrix aus nur einer Spalte besteht.
Das Matrix-Vektor-Produkt wird beispielsweise in der Matrixschreibweise linearer Gleichungssysteme sowie bei iterativen Verfahren zu ihrer numerischen Lösung eingesetzt. Weiter kann jede lineare Abbildung zwischen endlichdimensionalen Vektorräumen nach Wahl entsprechender Basen als Matrix-Vektor-Produkt dargestellt werden.
Definition

Ist
ein Körper
(meist die reellen
oder komplexen Zahlen), dann
ist die Matrix-Vektor-Multiplikation eine Abbildung
,
die einer Matrix
und einem Vektor
einen weiteren Vektor
zuordnet. Die Matrix-Vektor-Multiplikation ist dabei nur für den Fall definiert,
dass die Spaltenzahl
der Matrix
mit der Zahl der Komponenten des Vektors
übereinstimmt. Die Komponentenzahl des Ergebnisvektors
entspricht dann der Zeilenzahl
der Matrix
.
Jedes Element
des Ergebnisvektors berechnet sich dabei über
,
also durch komponentenweise Multiplikation
der Einträge der -ten
Zeile von
mit den Elementen von
und durch Summation über diese Produkte.
Häufig wird bei der Notation eines Matrix-Vektor-Produkts der Malpunkt
weggelassen und man schreibt kurz
statt
.
Beispiel
Gegeben sei die reelle Matrix und der reelle (Spalten-)Vektor
und
.
Da die Matrix
ebenso viele Spalten besitzt, wie der Vektor
lang ist, ist das Matrix-Vektor-Produkt
definiert, die betreffende Matrix-Vektor-Multiplikation also überhaupt
durchführbar. Nachdem
zwei Zeilen hat, wird der Ergebnisvektor
ebenfalls zwei Elemente aufweisen. Um das erste Element des Ergebnisvektors zu
berechnen, betrachtet man die erste Zeile von
,
multipliziert die jeweils entsprechenden Einträge dieser Zeile mit denen des
Ausgangsvektors und summiert die Ergebnisse auf (die Sternchen
stehen für noch nicht berechnete Elemente):
Für das zweite Element des Ergebnisvektors betrachtet man entsprechend die
zweite Zeile von
und berechnet analog:
Als Ergebnis erhält man so am Ende das Matrix-Vektor-Produkt .
Eigenschaften
Das Matrix-Vektor-Produkt ist assoziativ
in dem Sinne, dass für Matrizen ,
und Vektoren
gilt. Das Matrix-Vektor-Produkt ist auch verträglich mit der Multiplikation
von Skalaren
,
das heißt
.
Betrachtet man die komponentenweise Matrizenaddition
zweier Matrizen
sowie die Vektoraddition
zweier Vektoren
,
dann sind auch die Distributivgesetze
erfüllt, das heißt
und
.
Algorithmus
In Pseudocode kann das Matrix-Vektor-Produkt wie folgt implementiert werden:
function matrix-vector-product(A,x,m,n)
y = zeroes(m) // Ergebnisvektor y mit Nullen initialisieren
for i = 1 to m // Schleife über die Zeilen von A
for j = 1 to n // Schleife über die Elemente von x
y(i) = y(i) + A(i,j) * x(j) // Bildung der Produktsumme
end
end
return y
Die Reihenfolge der beiden For-Schleifen kann dabei auch vertauscht werden. Da die beiden Schleifen unabhängig voneinander sind, ist die Anzahl der benötigten arithmetischen Operationen von der Ordnung
.
Die Laufzeit des Algorithmus ist für quadratische Matrizen
demnach von der Ordnung
.
Spezielle Matrizen, wie Bandmatrizen,
dünnbesetzte
Matrizen oder Toeplitz-Matrizen,
können durch Ausnutzen der Struktur auch effizienter mit einem Vektor
multipliziert werden.
Geometrische Interpretation
Im bis zu 3-dimensionalen Fall einer Multiplikation von einer Matrix mit einem Vektor kann man schon anhand der Zahlen in der Matrix erkennen, wie die Matrix als lineare Abbildung "aussieht". Sei zum Beispiel eine 2-dimensionale Ebene mit den Basisvektoren
gegeben. Einen Vektor in dem 2-dimensionalen Vektorraum wird mit Hilfe der
Basisvektoren dargestellt. Meistens werden implizit diese beiden Basisvektoren
benutzt. Möchte man zum Beispiel den Vektor
als Linearkombination mit diesen Basisvektoren darstellen, so setzt sich der
Vektor
durch
zusammen. Setzt man die Basisvektoren
und
als Matrix zusammen, erhält man
.
Das ist die Einheitsmatrix
.
Möchte man zum Beispiel mit einer Matrix eine lineare Abbildung beschreiben, die
eine 90° Drehung gegen den Uhrzeigersinn beschreibt, so kann man sich
vorstellen, der
Basisvektor sich dreht und dann zu
wird.
Dreht man den
Basisvektor um 90° gegen den Uhrzeigersinn, ergibt sich intuitiv
.
Die Matrix, die nun die 90° Rotation gegen den Uhrzeigersinn beschreibt, ist
damit
.
Aus dieser Betrachtungsweise kann man die Zahlen in einer Matrix geometrisch
interpretieren.
Verwendung
Das Matrix-Vektor-Produkt wird in der linearen Algebra häufig verwendet. So ist die Matrixschreibweise eines linearen Gleichungssystems
nichts anderes als eine Vektorgleichung, auf deren linken Seite ein Matrix-Vektor-Produkt steht. Viele iterative Verfahren zur numerischen Lösung linearer Gleichungssysteme, wie das Verfahren der konjugierten Gradienten oder allgemeine Krylow-Unterraum-Verfahren, basieren auf wiederholten Matrix-Vektor-Multiplikationen. Auch die Potenzmethode zur Ermittlung des betragsgrößten Eigenwerts einer Matrix basiert auf der wiederholten Berechnung von Matrix-Vektor-Produkten.
Sind allgemein
und
zwei endlichdimensionale Vektorräume
über dem gleichen Körper, dann kann jede lineare
Abbildung
nach Wahl je einer Basis
in beiden Vektorräumen über ihre Abbildungsmatrix
dargestellt werden. Das Bild
eines Vektors
unter der Abbildung
in den jeweiligen Basen kann dann über das Matrix-Vektor-Produkt
ermittelt werden. In der Geometrie lässt sich beispielsweise auf diese Weise jede Drehung um den Ursprung und jede Spiegelung an einer Ursprungsebene durch ein solches Matrix-Vektor-Produkt ausführen. Auch diskrete Faltungen, beispielsweise die diskrete Fourier-Transformation, können als Matrix-Vektor-Produkt realisiert werden.
Literatur
- Charles Leiserson, Ronald L. Rivest, Clifford Stein: Algorithmen – eine Einführung. Oldenbourg, 2010, ISBN 3-486-59002-2.



© biancahoegel.de
Datum der letzten Änderung: Jena, den: 11.02. 2023