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.
- tranposeA
- Spécifie si la matrice A doit être transposée.
- aValue
- La valeur du facteur a.
- matrixB
- Le nom de la matrice d'entrée B.
- tranposeB
- Spécifie si la matrice B doit être transposée.
- bValue
- La valeur du facteur b.
- cValue
- La valeur du facteur c.
- matrixC
- Le nom de la matrice de sortie C.
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)