Operationen auf Skalare, Vektoren und Matrizen

Copyright

Copyright 1994,  Claudia Funke
TU-Berlin, FB 13, Fachgebiet Ökonometrie und Statistik
Dieses Notebook darf ausschließlich als Unterrichtsmaterial und für private 
Zwecke verwendet und nicht ohne Zustimmung der Autorin verändert werden.

Die meisten in Mathematica verfügbaren mathematischen Operatoren sind
so implementiert, daß sie auf einen Vektor und eine Matrix angewendet diese
elementweise auswerten. Im folgenden werden die wichtigsten dieser
mathematischen Operatoren beschrieben. Dabei wird Ordnungskonformität
der betrachteten Vektoren und Matrizen vorausgesetzt.

Numerische Operatoren

Addition/Subtraktion

A = B + C

mit	A = (m,n) - Matrix,	 B = (m,n) - Matrix,	C = (m,n) - Matrix

b = { {1,2}, {3,4} }; MatrixForm[b]

c = { {c11,c12}, {c21,c22} }; MatrixForm[c]

a = b + c; MatrixForm[a]

Wird ein Skalar zu einer Matrix addiert/subtrahiert, expandiert Mathematica
diesen intern zu einer Matrix gleicher Größe.

A = B + s

mit	A = (m,n) - Matrix,	 B = (m,n) - Matrix,	s = (1,1) - Matrix

a = b + s; MatrixForm[a]

Multiplikation

Das normale Matrizenprodukt ist als

A = B * C

mit	A = (m,n) - Matrix,	 B = (m,k) - Matrix,	C = (k,n) - Matrix

und

k
a_ij = Sum b_ir c_ij
r=1

definiert.

d = { {4,3}, {2,5} }; MatrixForm[d]

Die Multiplikation zweier Matrizen kann numerisch

a = b . d; MatrixForm[a]

wie auch symbolisch erfolgen.

a = b . c; MatrixForm[a]

Die Multiplikation einer Matrix mit einem Vektor ist ebenfalls kein Problem.

a = b . {v1, v2}; MatrixForm[a]

Bei der Multiplikation einer Matrix mit einem Skalar wird jedes Element
der Matrix mit dem Skalar multipliziert.

A = B * s

mit	A = (m,n) - Matrix,	 B = (m,n) - Matrix,	s = (1,1) - Matrix

a = s  b; MatrixForm[a]

Das n-te Produkt einer Matrix

n
A = Prod B_i
i=1

wird mit

MatrixPowert[ Liste, n ]

berechnet.

b = { {b11,b12}, {b21,b22} }; MatrixForm[b]

a = MatrixPower[b, 3]; MatrixForm[a]

Dimensions[a]

Bei der Reihenfolge der Operatoren muß nicht auf Ordnungskonformität
geachtet werden, da der dot-Operator  .   sowohl die Möglichkeit der 
Prämultiplikation als auch der Postmultiplikation prüft und die Operation
ausführt, die möglich ist. Für das Multiplizieren von Vektoren gilt, daß
Mathematica nur Listen kennt und daher ebenfalls nicht auf Ordnungs-
konformität in der Reihenfolge der Operanden prüft.

Spezielle Vektorprodukte

Das innere Produkt zweier Vektoren (Skalarprodukt)

z = u' * v

mit	z = (1,1) - Matrix,	 u = (n,1) - Matrix,	v = (n,1) - Matrix

und

n              
              Sum   u_i v_i
i=1

wird ebenfalls über den dot-Operator berechnet.

u = {1, 2, 3}; v = {v1, v2, v3};

z = u . v

Das äußere Produkt zweier Vektoren (dyadisches Produkt)

Z = u * v'

mit	Z = (m,n) - Matrix,	 u = (m,1) - Matrix,	v = (n,1) - Matrix

und

Z_ij = v_i u_j     i = 1, 2, ... , n; j = 1, 2, ..., n

wird mit der Funktion

Outer[ Times, Liste1, Liste2 ]

berechnet.

z = Outer[Times, u, v]; MatrixForm[z]

Kronekerprodukt

Mit der gleichen Funktion wird auch das Kroneckerprodukt ermittelt.

A = B Ø C

mit	A = (mp,nq) - Matrix,	 u = (m,n) - Matrix,	v = (p,q) - Matrix
	Ø ist der Ersatz für das hier nicht darstellbare Zeichen des
	Kroneckerproduktes

mit

a_ij = b_ij C,   i = 1, 2, ... , n; j = 1, 2, ..., n

b = { {b11,b12},{b21,22} };
c = { {c11,c12}, {c21,c22}, {c31,c32} };
a = Outer[Times, b, c]

MatrixForm[a]

Dimensions[a]

Potenzen

Der Potenzoperator   ^   kann ebenfalls auf eine Matrix angewandt werden
und ergibt

a_ij = b_ij^n

b = { {b11,b12}, {b21,b22} }; a = b^2;
MatrixForm[a]

Der Exponent selbst kann auch eine Matrix sein und es ergibt sich dann

a_ij = b_ij^c_ij

c = { {c11,c12}, {c21,c22} }; a = b^c;
MatrixForm[a]