pagesvd

Decomposição em valores singulares de cada página de um array 3-D.

Categoria: Mathematics > Linear Algebra

Sintaxe

S = pagesvd(A)

Retorna os valores singulares de cada página A(:,:,k), em ordem decrescente.

[U, S, V] = pagesvd(A)

Retorna os fatores de cada página, de modo que cada página satisfaz A(:,:,k) = U(:,:,k)*S(:,:,k)*V(:,:,k)'.

[U, S, V] = pagesvd(A, 'econ')

Calcula os fatores de tamanho econômico de cada página.

Descrição

pagesvd aplica svd de forma independente a cada página m-por-n de um array m-por-n-por-p. Evita escrever um laço sobre a terceira dimensão e devolve os resultados empilhados na mesma ordem das páginas.

Com uma saída o resultado é uma pilha de vetores coluna, útil para comparar os espectros de várias matrizes de uma vez.

Argumentos de entrada

A
Array numérico cujas páginas (as duas primeiras dimensões) são as matrizes a decompor.
'econ'
Opção que descarta os vetores singulares que não correspondem a um valor singular.

Argumentos de saída

S
Com uma saída, um array de tamanho min(m,n)-por-1-por-p com os valores singulares de cada página. Com três saídas, as matrizes diagonais de valores singulares, uma por página.
U, V
Fatores ortogonais (unitários) de cada página.

Exemplo

Valores singulares de duas páginas

A = cat(3, [1 2; 3 4], [2 0; 0 1]);
S = pagesvd(A);
disp(S(:,:,1)')
disp(S(:,:,2)')
Saída
    5.4650    0.3660
     2     1

Veja também

svd pagemtimes pagetranspose pageinv