SVD - Descomposición de valores singulares

Este procedimiento calcula la descomposición del valor singular A = U * SIGMA * transposición(V) de una matriz.

Uso

El procedimiento almacenado SVD tiene la siguiente sintaxis:
SVD matrixA,matrixU,matrixS,matrixVT )
Parámetros
matrixA
El nombre de la matriz de entrada A.
Tipo NVARCHAR(ANY)
matrixU
El nombre de la matriz de salida U.
Tipo NVARCHAR(ANY)
matrixS
El nombre de la matriz de salida de una columna S.
Tipo NVARCHAR(ANY)
matrixVT
El nombre de la matriz de salida transpose(V).
Tipo NVARCHAR(ANY)
Devuelve
BOOLEAN TRUE siempre.

Detalles

Utilice "call nzm..vec_to_diag('S','SIGMA');" para crear la matriz diagonal SIGMA a partir de la matriz de una columna S.

Ejemplos

call nzm..shape('1,2,3,4,5,6,7,8,9,0',3,3,'A'); 
call nzm..svd('A', 'U', 'S', 'VT');
call nzm..vec_to_diag('S','SIGMA'); 
call nzm..gemm('U', 'SIGMA', 'USIGMA'); 
call nzm..gemm('USIGMA', 'VT', 'A1'); 
call nzm..subtract('A', 'A1', 'A0'); 
call nzm..print('A0');
call nzm..delete_matrix('A');
call nzm..delete_matrix('U');
call nzm..delete_matrix('S');
call nzm..delete_matrix('VT');
call nzm..delete_matrix('SIGMA');
call nzm..delete_matrix('USIGMA');
call nzm..delete_matrix('A0');
call nzm..delete_matrix('A1');

 SHAPE
-------
 t
(1 row)

 SVD
-----
 t
(1 row)

 VEC_TO_DIAG
-------------
 t
(1 row)

 GEMM
------
 t
(1 row)

 GEMM
------
 t
(1 row)

 SUBTRACT
----------
 t
(1 row)

                                                    PRINT
---------------------------------------------------------------------------------------------------------------
 -- matrix: A0 --
 -1.7763568394003e-15, -6.2172489379009e-15, -3.1086244689504e-15
 -1.7763568394003e-15, -1.7763568394003e-15, -4.4408920985006e-15
 -2.6645352591004e-15, -7.105427357601e-15, -7.105427357601e-15
(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)

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

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