LINEAR_COMBO - combinación lineal de componentes matriciales

Este procedimiento implementa la combinación lineal de los componentes de la matriz, calculando matC:=aVal*matA^transposeA + bVal*matB^transposeB + cVal. Aquí, matA y matB son matrices de entrada, matC es una matriz de salida, aVal, bVal, y cVal son coeficientes, y transposeA y transposeB son parámetros booleanos que indican si matA y matB deben transponerse durante la operación.

Uso

El procedimiento almacenado LINEAR_COMBINATION tiene la siguiente sintaxis:
LINEAR_COMBINATION matrixA,transposeA,aValue,matrixB,transposeB,bValue,cValue,matrixC )
Parámetros
matrixA
El nombre de la matriz de entrada A.
Tipo NVARCHAR(ANY)
tranposeA
Especifica si la matriz A debe transponerse.
Tipo: BOOLEAN
aValue
El valor del factor a.
Tipo: DOUBLE
matrixB
El nombre de la matriz de entrada B.
Tipo NVARCHAR(ANY)
tranposeB
Especifica si la matriz B debe transponerse.
Tipo: BOOLEAN
bValue
El valor del factor b.
Tipo: DOUBLE
cValue
El valor del factor c.
Tipo: DOUBLE
matrixC
El nombre de la matriz de salida C.
Tipo NVARCHAR(ANY)
Devuelve
BOOLEAN TRUE siempre.

Ejemplos

CALL nzm..create_ones_matrix('A', 4, 4); 
CALL nzm..set_value('A', 1, 2, 2);
CALL nzm..set_value('A', 1, 3, 3);
CALL nzm..set_value('A', 1, 4, 4);
CALL nzm..create_identity_matrix('B', 4); 
CALL nzm..set_value('B', 4, 1, 10);
CALL nzm..linear_combination('A', FALSE, 1.5, 'B', FALSE, 1, 1, 'AB');
CALL nzm..linear_combination('A', TRUE, 1.5, 'B', FALSE, 1, 1, 'AtB');
CALL nzm..linear_combination('A', FALSE, 1.5, 'B', TRUE, 1, 1, 'ABt');
CALL nzm..linear_combination('A', TRUE, 1.5, 'B', TRUE, 1, 1, 'AtBt');
CALL nzm..print('A');
CALL nzm..print('B');
CALL nzm..print('AB');
CALL nzm..print('AtB');
CALL nzm..print('ABt');
CALL nzm..print('AtBt');
CALL nzm..delete_matrix('A');
CALL nzm..delete_matrix('B');
CALL nzm..delete_matrix('AB');
CALL nzm..delete_matrix('AtB');
CALL nzm..delete_matrix('ABt');
CALL nzm..delete_matrix('AtBt');

 CREATE_ONES_MATRIX
--------------------
 t
(1 row)

 SET_VALUE
-----------
 t
(1 row)

 SET_VALUE
-----------
 t
(1 row)

 SET_VALUE
-----------
 t
(1 row)

 CREATE_IDENTITY_MATRIX
------------------------
 t
(1 row)

 SET_VALUE
-----------
 t
(1 row)

 LINEAR_COMBINATION
--------------------
 t
(1 row)

 LINEAR_COMBINATION
--------------------
 t
(1 row)

 LINEAR_COMBINATION
--------------------
 t
(1 row)

 LINEAR_COMBINATION
--------------------
 t
(1 row)

                              PRINT
-------------------------------------------------------------
 -- matrix: A --
 1, 2, 3, 4
 1, 1, 1, 1
 1, 1, 1, 1
 1, 1, 1, 1
(1 row)

                             PRINT
--------------------------------------------------------------
 -- matrix: B --
 1, 0, 0, 0
 0, 1, 0, 0
 0, 0, 1, 0
 10, 0, 0, 1
(1 row)

                             PRINT
---------------------------------------------------------------
 -- matrix: AB--
 3.5, 4,5. 5, 7
 2.5, 3.5, 2.5, 2.5
 2.5, 2.5, 3.5, 2.5
 12.5, 2.5, 2.5, 3.5
(1 row)

                             PRINT
---------------------------------------------------------------
 -- matrix: AtB --
 3.5, 2.5, 2.5, 2.5
 4, 3.5, 2.5, 2.5
 5.5, 2.5, 3.5, 2.5
 17, 2.5, 2.5, 3.5
(1 row)

                             PRINT
---------------------------------------------------------------
-- matrix: ABt --
 3.5, 4, 5.5, 17
 2.5, 3.5, 2.5, 2.5
 2.5, 2.5, 3.5, 2.5
 2.5, 2.5, 2.5, 3.5
(1 row)

                            PRINT
---------------------------------------------------------------
-- matrix: AtBt --
 3.5, 2.5, 2.5, 12.5
 4, 3.5, 2.5, 2.5
 5.5, 2.5, 3.5, 2.5
 7, 2.5, 2.5, 3.5
(1 row)

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

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

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

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

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

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