KRONECKER

Este procedimiento calcula el producto de Kronecker de dos matrices.

Uso

El procedimiento almacenado KRONECKER tiene la siguiente sintaxis:
KRONECKER matrixAname,matrixBname,matrixCname )
Parámetros
matrixAname
El nombre de la matriz de entrada A.
Tipo NVARCHAR(ANY)
matrixBname
El nombre de la matriz de entrada B.
Tipo NVARCHAR(ANY)
matrixCname
El nombre de la matriz de salida C.
Tipo NVARCHAR(ANY)
Devuelve
BOOLEAN TRUE, si tiene éxito.

Detalles

Las matrices A y B NO tienen por qué tener las mismas dimensiones, es decir, número de filas y columnas. La matriz resultante C tiene dimensiones correspondientes a los productos de las dimensiones respectivas de A y B. La matriz C no debe existir antes de la operación. Si A es una matriz m por n y B es una matriz k por l, entonces el producto de Kronecker m * k por n * l matriz tal que C_{i {i * k + r, j * l + s} = A_{i {i, j} * B_{r {r, s}.

Ejemplos

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)