tensorprod
Produto tensorial e contração de arrays ao longo de dimensões escolhidas.
Categoria: Language Fundamentals > Operators and Elementary Operations
Sintaxe
C = tensorprod(A, B)
Produto externo (tensorial): cada elemento de A vezes cada elemento de B. O resultado tem ndims(A) + ndims(B) dimensões.
C = tensorprod(A, B, dimA, dimB)
Contrai: multiplica e soma sobre a dimensão dimA de A e dimB de B.
C = tensorprod(A, B, 'all')
Contrai em todas as dimensões, o que dá o produto interno completo como escalar.
Descrição
Sem dimensões de contração, tensorprod faz o produto externo, e dois vetores de comprimento 3 e 3 dão um resultado de tamanho 1x3x1x3. Contrair um par de dimensões generaliza a multiplicação de matrizes: tensorprod(A, B, 2, 1) é igual a A*B para matrizes. Contrair [1 2] com [1 2] soma os produtos de todos os elementos correspondentes.
É a ferramenta geral por trás de produtos escalares, produtos de matrizes e contrações no estilo da soma de Einstein.
Argumentos de entrada
A, B- Arrays numéricos.
dimA, dimB- Dimensões a contrair. Devem ter tamanhos iguais em
AeBe o mesmo número de entradas.
Argumentos de saída
C- O resultado. As dimensões restantes de
Avêm primeiro, seguidas das deB.
Exemplo
a = [1 2 3];
b = [4 5 6];
size(tensorprod(a, b))
tensorprod(a, b, 'all')
A = [1 2; 3 4];
tensorprod(A, A, 2, 1)
ans = 1×4
1 3 1 3
ans = 32
ans = 2×2
7 10
15 22