KRONECKER

Cette procédure permet de calculer le produit de Kronecker de deux matrices.

Utilisation

La procédure stockée KRONECKER a la syntaxe suivante :
KRONECKER matrixAname,matrixBname,matrixCname )
Paramètres
matrixAname
Le nom de la matrice d'entrée A.
Type : NVARCHAR(ANY)
matrixBname
Le nom de la matrice d'entrée B.
Type : NVARCHAR(ANY)
matrixCname
Le nom de la matrice de sortie C.
Type : NVARCHAR(ANY)
Retours
BOOLEAN VRAI, en cas de succès.

Détails

Les matrices A et B NE DOIVENT PAS nécessairement avoir les mêmes dimensions, c'est-à-dire le même nombre de lignes et de colonnes. La matrice C qui en résulte a des dimensions correspondant aux produits des dimensions respectives de A et B. La matrice C ne doit pas exister avant l'opération. Si A est une matrice m par n et B une matrice k par l, alors le produit de Kronecker m * k par n * l est tel que C_{i {i * k + r, j * l + s} = A_{i {i, j} * B_{r {r, s}.

Exemples

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)