KRONECKER

Mit diesem Verfahren wird das Kronecker-Produkt zweier Matrizen berechnet.

Verwendung

Die gespeicherte Prozedur KRONECKER hat die folgende Syntax:
KRONECKER matrixAname,matrixBname,matrixCname )
Parameter
matrixAname
Der Name der Eingabematrix A.
Typ: NVARCHAR(ANY)
matrixBname
Der Name der Eingabematrix B.
Typ: NVARCHAR(ANY)
matrixCname
Der Name der Ausgabematrix C.
Typ: NVARCHAR(ANY)
Rückgabe
BOOLEAN TRUE, wenn erfolgreich.

Details zu

Die Matrizen A und B müssen NICHT die gleichen Abmessungen haben, d. h. die gleiche Anzahl von Zeilen und Spalten. Die resultierende Matrix C hat die Dimensionen, die dem Produkt der jeweiligen Dimensionen von A und B entsprechen. Die Matrix C darf vor der Operation nicht existieren. Wenn A eine m x n-Matrix und B eine k x l-Matrix ist, dann ist das Kronecker-Produkt m * k x n * l-Matrix so, dass C_{i {i * k + r, j * l + s} = A_{i {i, j} * B_{r {r, s}.

Beispiele

CALL nzm..SHAPE('1,10,1000,10000', 2, 2, 'A');
CALL nzm..SHAPE('2,5,7,19', 2, 2, 'B');
CALL nzm..KRONECKER('A', 'B', 'C');
CALL nzm..PRINT('C');
CALL nzm..DELETE_MATRIX('A');
CALL nzm..DELETE_MATRIX('B');
CALL nzm..DELETE_MATRIX('C');

 SHAPE
-------
 t
(1 row)

 SHAPE
-------
 t
(1 row)

KRONECKER
-----------
t
(1 row)

                           PRINT
-----------------------------------------------------------------
 -- matrix: C --
 2, 5, 20, 50
 7, 19, 70, 190
 2000, 5000, 20000, 50000
 7000, 19000, 70000, 190000
(1 row)

 DELETE_MATRIX
---------------
 t
(1 row)

 DELETE_MATRIX
---------------
 t
(1 row)

 DELETE_MATRIX
---------------
 t
(1 row)