LINEAR_COMBO - combinaison linéaire des composantes de la matrice

Cette procédure met en œuvre la combinaison linéaire des composantes de la matrice, en calculant matC:=aVal*matA^transposeA + bVal*matB^transposeB + cVal. Ici, matA et matB sont des matrices d'entrée, matC est une matrice de sortie, aVal, bVal, et cVal sont des coefficients, et transposeA et transposeB sont des paramètres booléens indiquant si matA et matB doivent être transposés pendant l'opération.

Utilisation

La procédure stockée LINEAR_COMBINATION a la syntaxe suivante :
LINEAR_COMBINATION matrixA,transposeA,aValue,matrixB,transposeB,bValue,cValue,matrixC )
Paramètres
matrixA
Le nom de la matrice d'entrée A.
Type : NVARCHAR(ANY)
tranposeA
Spécifie si la matrice A doit être transposée.
Type : Booléen
aValue
La valeur du facteur a.
Type : Double
matrixB
Le nom de la matrice d'entrée B.
Type : NVARCHAR(ANY)
tranposeB
Spécifie si la matrice B doit être transposée.
Type : Booléen
bValue
La valeur du facteur b.
Type : Double
cValue
La valeur du facteur c.
Type : Double
matrixC
Le nom de la matrice de sortie C.
Type : NVARCHAR(ANY)
Retours
BOOLEAN VRAI toujours.

Exemples

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)