Matrix-Vektor-Produkt

Bei einer Matrix-Vektor-Multiplikation muss die Spaltenzahl der Matrix gleich der Zahl der Komponenten des Vektors sein. Die Komponentenzahl des Ergebnisvektors entspricht dann der Zeilenzahl der Matrix.

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

Zur Berechnung des Matrix-Vektor-Produkts wird jede Zeile der Matrix mit den Einträgen des Vektors kombiniert.

Ist K ein Körper (meist die reellen oder komplexen Zahlen), dann ist die Matrix-Vektor-Multiplikation eine Abbildung

\cdot ~ \colon K^{m \times n} \times K^n \to K^m, \quad (A,x) \mapsto y = A \cdot x,

die einer Matrix A = (a_{ij}) und einem Vektor x = (x_j) einen weiteren Vektor y = (y_i) zuordnet. Die Matrix-Vektor-Multiplikation ist dabei nur für den Fall definiert, dass die Spaltenzahl n der Matrix A mit der Zahl der Komponenten des Vektors x übereinstimmt. Die Komponentenzahl des Ergebnisvektors y entspricht dann der Zeilenzahl m der Matrix A. Jedes Element y_i des Ergebnisvektors berechnet sich dabei über

y_i = \sum_{j=1}^n a_{ij} \cdot x_j,

also durch komponentenweise Multiplikation der Einträge der i-ten Zeile von A mit den Elementen von x und durch Summation über diese Produkte. Häufig wird bei der Notation eines Matrix-Vektor-Produkts der Malpunkt weggelassen und man schreibt kurz Ax statt A \cdot x.

Beispiel

Gegeben sei die reelle Matrix und der reelle (Spalten-)Vektor

A = \begin{pmatrix} 3 & 2 & 1 \\ 1 & 0 & 2 \end{pmatrix} \in \R^{2 \times 3}   und   x = \begin{pmatrix} 1 \\ 0 \\ 4 \end{pmatrix} \in \R^3.

Da die Matrix A ebenso viele Spalten besitzt, wie der Vektor x lang ist, ist das Matrix-Vektor-Produkt A \cdot x definiert, die betreffende Matrix-Vektor-Multiplikation also überhaupt durchführbar. Nachdem A zwei Zeilen hat wird der Ergebnisvektor y ebenfalls zwei Elemente aufweisen. Um das erste Element des Ergebnisvektors zu berechnen, betrachtet man die erste Zeile von A, 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):

\begin{pmatrix} \color{OliveGreen} 3 & \color{OliveGreen} 2 & \color{OliveGreen} 1 \\ 1 & 0 & 2 \end{pmatrix} \cdot \begin{pmatrix} \color{BrickRed} 1 \\ \color{BrickRed} 0 \\ \color{BrickRed} 4 \end{pmatrix} = \begin{pmatrix} {\color{OliveGreen} 3} \cdot {\color{BrickRed} 1} + {\color{OliveGreen} 2} \cdot {\color{BrickRed} 0} + {\color{OliveGreen} 1} \cdot {\color{BrickRed} 4} \\ \ast \end{pmatrix} = \begin{pmatrix} {\color{Blue} 7} \\ \ast \end{pmatrix}

Für das zweite Element des Ergebnisvektors betrachtet man entsprechend die zweite Zeile von A und berechnet analog:

\begin{pmatrix} 3 & 2 & 1 \\ \color{OliveGreen} 1 & \color{OliveGreen} 0 & \color{OliveGreen} 2 \end{pmatrix} \cdot \begin{pmatrix} \color{BrickRed} 1 \\ \color{BrickRed} 0 \\ \color{BrickRed} 4 \end{pmatrix} = \begin{pmatrix} 7 \\ {\color{OliveGreen} 1} \cdot {\color{BrickRed} 1} + {\color{OliveGreen} 0} \cdot {\color{BrickRed} 0} + {\color{OliveGreen} 2} \cdot {\color{BrickRed} 4} \end{pmatrix} = \begin{pmatrix} 7 \\ {\color{Blue} 9} \end{pmatrix}

Als Ergebnis erhält man so am Ende das Matrix-Vektor-Produkt y = A \cdot x.

Eigenschaften

Das Matrix-Vektor-Produkt ist assoziativ in dem Sinne, dass für Matrizen A \in K^{l \times m}, B \in K^{m \times n} und Vektoren x \in K^n

A \cdot (B \cdot x) = ( A \cdot B ) \cdot x

gilt. Das Matrix-Vektor-Produkt ist auch verträglich mit der Multiplikation von Skalaren a \in K, das heißt

a \, (A \cdot x) = ( a \, A ) \cdot x = A \cdot ( a \, x ).

Betrachtet man die komponentenweise Matrizenaddition A + B zweier Matrizen A,B \in K^{m \times n} sowie die Vektoraddition zweier Vektoren x,y \in K^n, dann sind auch die Distributivgesetze erfüllt, das heißt

(A + B) \cdot x = A \cdot x + B \cdot x

und

A \cdot (x + y) = A \cdot x + A \cdot y.

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

O(m \cdot n).

Die Laufzeit des Algorithmus ist für quadratische Matrizen (m=n) demnach von der Ordnung O(n^2). Spezielle Matrizen, wie Bandmatrizen, dünnbesetzte Matrizen oder Toeplitz-Matrizen, können durch Ausnutzen der Struktur auch effizienter mit einem Vektor multipliziert werden.

Verwendung

Das Matrix-Vektor-Produkt wird in der linearen Algebra häufig verwendet. So ist die Matrixschreibweise eines linearen Gleichungssystems

A \cdot x = b

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 V und W zwei endlichdimensionale Vektorräume über dem gleichen Körper, dann kann jede lineare Abbildung f \colon V \to W nach Wahl je einer Basis in beiden Vektorräumen über ihre Abbildungsmatrix M_f dargestellt werden. Das Bild y eines Vektors x unter der Abbildung f in den jeweiligen Basen kann dann über das Matrix-Vektor-Produkt

y = M_f \cdot x

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.

In den Wirtschaftswissenschaften wird das Matrix-Vektor-Produkt bei der Input-Output-Analyse benutzt.

Trenner
Basierend auf einem Artikel in: externer Link Wikipedia.de
Seitenende
Seite zurück
©  biancahoegel.de
Datum der letzten Änderung: Jena, den: 02.05. 2020