gsvd
Decomposição em valores singulares generalizada de um par de matrizes.
Categoria: Mathematics > Linear Algebra
Sintaxe
sigma = gsvd(A, B)
Retorna os valores singulares generalizados de A e B.
[U, V, X, C, S] = gsvd(A, B)
Retorna os fatores com A = U*C*X' e B = V*S*X', em que C'*C + S'*S = I.
Descrição
A GSVD fatora duas matrizes ao mesmo tempo com um fator à direita X compartilhado. Está na base de problemas de mínimos quadrados com restrições e da comparação entre dois conjuntos de dados: um valor singular generalizado grande indica uma direção em que A domina B.
Reduz-se à SVD comum quando B é a identidade. A ordenação dos valores singulares generalizados segue as convenções de forma do MATLAB.
Argumentos de entrada
A, B- Matrizes com o mesmo número de colunas.
Argumentos de saída
sigma- Vetor coluna dos valores singulares generalizados
sqrt(diag(C'*C)) ./ sqrt(diag(S'*S)). U, V- Matrizes unitárias.
X- Matriz não singular compartilhada pelas duas fatorações.
C, S- Matrizes tipo diagonal cujos quadrados somam a identidade.
Exemplo
Valores singulares generalizados e uma conferência
A = [1 0; 0 2; 1 1];
B = [1 1; 0 1];
sigma = gsvd(A, B)
[U, V, X, C, S] = gsvd(A, B);
disp(round(C'*C + S'*S))
Saída
sigma = 2×1
1.3028
2.3028
1 0
0 1