Na matemática, o produto de Kronecker, por vezes denotado por ⊗, é uma operação em duas matrizes de tamanho arbitrário, resultando numa matriz em blocos. É uma especialização do produto tensorial (que é denotado pelo mesmo símbolo) de vetores para matrizes, e dá a matriz da transformação linear do produto tensorial em relação a uma escolha padrão de base. O produto de Kronecker deve ser distinguido da multiplicação de matrizes usual, que é uma operação inteiramente diferente. O produto de Kronecker também é por vezes chamado de produto direto de matrizes.[1]
O produto de Kronecker tem o nome do matemático alemão Leopold Kronecker (1823–1891), embora haja poucas evidências de que ele tenha sido o primeiro a defini-lo e usá-lo. O produto de Kronecker também já foi chamado de matriz de Zehfuss e produto de Zehfuss, em homenagem a Johann Georg Zehfuss, que em 1858 descreveu esta operação de matriz, mas produto de Kronecker é atualmente o termo mais amplamente usado.[2][3] A atribuição errônea a Kronecker em vez de a Zehfuss deveu-se a Kurt Hensel.[4]
Definição
editarSe A for uma matriz m × n e B for uma matriz p × q, então o produto de Kronecker A ⊗ B é a matriz em blocos pm × qn:
mais explicitamente:
Usando e para denotar a divisão inteira (truncada) e o resto, respectivamente, e numerando os elementos da matriz a partir de 0, obtém-se
Para a numeração usual começando em 1, obtém-se
Se A e B representam transformações lineares V1 → W1 e V2 → W2, respectivamente, então o produto tensorial dos dois mapas é um mapa V1 ⊗ V2 → W1 ⊗ W2 representado por A ⊗ B.
Exemplos
editarDa mesma forma:
Propriedades
editarRelações com outras operações de matrizes
editar1. Bilinearidade e associatividade:
O produto de Kronecker é um caso especial do produto tensorial, por isso é bilinear e associativo:
onde A, B e C são matrizes, 0 é uma matriz nula, e k é um escalar.
2. Não comutativo:
Em geral, A ⊗ B e B ⊗ A são matrizes diferentes. No entanto, A ⊗ B e B ⊗ A são equivalentes por permutação, o que significa que existem matrizes de permutação P e Q tais que[5]
Se A e B forem quadradas, então A ⊗ B e B ⊗ A são até semelhantes por permutação, o que significa que podemos tomar P = QT.
As matrizes P e Q são matrizes de embaralhamento perfeito (perfect shuffle matrices), chamadas de matriz "comutadora".[6] A matriz de comutação Sp, q pode ser construída tomando fatias da matriz identidade Ir, onde .
A notação de dois pontos do MATLAB é usada aqui para indicar submatrizes, e Ir é a matriz identidade r × r. Se e , então
3. A propriedade do produto misto:
Se A, B, C e D são matrizes de tal tamanho que se pode formar os produtos de matrizes AC e BD, então[7]
Isto é chamado de propriedade do produto misto, porque mistura o produto matricial ordinário com o produto de Kronecker.
Como uma consequência imediata (novamente, tomando e ),
Em particular, usando a propriedade de transposição mostrada abaixo, isto significa que se
e Q e U forem ortogonais (ou unitárias), então A também é ortogonal (resp., unitária).
O produto misto matriz-vetor de Kronecker pode ser escrito como:
onde é o operador de vetorização aplicado a (formado pela reformatação da matriz).
Se e são matrizes quadradas de dimensão , e e são matrizes quadradas de dimensão , então o comutador é
- ,
ou
- .
5. Produto de Hadamard (multiplicação elemento a elemento):
A propriedade do produto misto também funciona para o produto elemento a elemento. Se A e C são matrizes do mesmo tamanho, B e D são matrizes do mesmo tamanho, então[7]
6. A inversa de um produto de Kronecker:
Segue-se que A ⊗ B é invertível se e somente se tanto A quanto B forem invertíveis, neste caso a inversa é dada por
A propriedade do produto invertível também vale para a pseudoinversa de Moore-Penrose,[7][8] ou seja
Na linguagem da teoria das categorias, a propriedade do produto misto do produto de Kronecker (e do produto tensorial mais geral) mostra que a categoria MatF de matrizes sobre um corpo F, é de fato uma categoria monoidal, cujos objetos são números naturais n, morfismos n → m são matrizes n × m com entradas em F, a composição é dada pela multiplicação de matrizes, setas identidade são simplesmente as matrizes identidades n × n In, e o produto tensorial é dado pelo produto de Kronecker.[9]
MatF é uma categoria esqueleto concreta para a categoria equivalente FinVectF de espaços vetoriais de dimensão finita sobre F, cujos objetos são tais espaços vetoriais de dimensão finita V, as setas são mapas F-lineares L : V → W, e as setas identidade são os mapas identidade dos espaços. A equivalência de categorias equivale a escolher simultaneamente uma base em cada espaço vetorial de dimensão finita V sobre F; os elementos das matrizes representam estes mapeamentos com respeito às bases escolhidas; e da mesma forma o produto de Kronecker é a representação do produto tensorial nas bases escolhidas.
7. Transposta:
A transposição e a transposição conjugada são distributivas sobre o produto de Kronecker:
- e
8. Determinante:
Seja A uma matriz n × n e seja B uma matriz m × m. Então
O expoente em |A| é a ordem de B e o expoente em |B| é a ordem de A.
9. Soma de Kronecker e exponenciação:
Se A for n × n, B for m × m, e Ik denotar a matriz identidade k × k então podemos definir o que às vezes é chamado de soma de Kronecker, , por
Isto é diferente da soma direta de duas matrizes. Esta operação está relacionada com o produto tensorial em álgebras de Lie, como detalhado abaixo (#Propriedades abstratas) no ponto "Relação com o produto tensorial abstrato".
Temos a seguinte fórmula para a exponencial de matriz, que é útil nalgumas avaliações numéricas.[10]
As somas de Kronecker aparecem naturalmente em física quando se considera conjuntos de sistemas não interagentes.
Se Hr for o Hamiltoniano do r-ésimo sistema de tal tipo. Então o Hamiltoniano total do conjunto é
10. Vetorização de um produto de Kronecker:
Seja uma matriz e uma matriz . Quando a ordem do produto de Kronecker e da vetorização é invertida, as duas operações podem ser ligadas linearmente através de uma função que envolve a matriz de comutação, . Isto é, e têm a seguinte relação:
Além disso, a relação acima pode ser rearranjada em termos de ou da seguinte forma:
onde
11. Produto externo:
Se e são vetores arbitrários, então o produto externo entre e é definido como . O produto de Kronecker está relacionado ao produto externo por: .
Propriedades abstratas
editar1. Espectro:
Suponha que A e B são matrizes quadradas de tamanho n e m respectivamente. Sejam λ1, ..., λn os autovalores de A e μ1, ..., μm os de B (listados de acordo com a multiplicidade). Então os autovalores de A ⊗ B são
Segue-se que o traço e o determinante de um produto de Kronecker são dados por
Se A e B são matrizes retangulares, então pode-se considerar sua decomposição em valores singulares. Suponha que A tenha rA valores singulares não nulos, a saber
De forma análoga, denote os valores singulares não nulos de B por
Então o produto de Kronecker A ⊗ B tem rArB valores singulares não nulos, a saber
Dado que o posto de uma matriz é igual ao número de valores singulares não nulos, verificamos que
3. Relação com o produto tensorial abstrato:
O produto de Kronecker de matrizes corresponde ao produto tensorial abstrato de mapas lineares. Especificamente, se os espaços vetoriais V, W, X e Y têm as bases {v1, ..., vm}, {w1, ..., wn}, {x1, ..., xd}, e {y1, ..., ye}, respectivamente, e se as matrizes A e B representam as transformações lineares S : V → X e T : W → Y, respectivamente, nas bases apropriadas, então a matriz A ⊗ B representa o produto tensorial dos dois mapas, S ⊗ T : V ⊗ W → X ⊗ Y em relação à base {v1 ⊗ w1, v1 ⊗ w2, ..., v2 ⊗ w1, ..., vm ⊗ wn} de V ⊗ W e à base definida de forma análoga de X ⊗ Y com a propriedade de que A ⊗ B(vi ⊗ wj) = (Avi) ⊗ (Bwj), onde i e j são números inteiros no intervalo adequado.[11]
Quando V e W são álgebras de Lie, e S : V → V e T : W → W são homomorfismos de álgebra de Lie, a soma de Kronecker de A e B representa os homomorfismos induzidos da álgebra de Lie V ⊗ W → V ⊗ W.
4. Relação a produtos de grafos:
O produto de Kronecker das matrizes de adjacência de dois grafos é a matriz de adjacência do grafo produto tensorial. A soma de Kronecker das matrizes de adjacência de dois grafos é a matriz de adjacência do grafo produto cartesiano.[12]
Equações de matriz
editarO produto de Kronecker pode ser usado para obter uma representação conveniente para algumas equações de matriz. Considere, por exemplo, a equação AXB = C, onde A, B e C são matrizes dadas e a matriz X é a incógnita. Podemos usar o "truque vec" para reescrever esta equação como
Aqui, vec(X) denota a vetorização da matriz X, formada empilhando as colunas de X num único vetor coluna.
Decorre agora das propriedades do produto de Kronecker que a equação AXB = C tem uma solução única, se e somente se A e B forem invertíveis (Horn & Johnson 1991, Lema 4.3.1).
Se X e C forem ordenadas por linha nos vetores de coluna u e v, respectivamente, então (Jain 1989, 2.8 Block Matrices and Kronecker Products)
A razão é que
Aplicações
editarPara um exemplo da aplicação desta fórmula, veja o artigo sobre a equação de Lyapunov. Esta fórmula também é útil para mostrar que a distribuição normal de matriz é um caso especial da distribuição normal multivariada. Esta fórmula também é útil para representar as operações de processamento de imagem 2D na forma matriz-vetor.
Outro exemplo é quando uma matriz pode ser fatorada como um produto de Kronecker, então a multiplicação de matrizes pode ser efetuada mais rapidamente usando a fórmula acima. Isto pode ser aplicado de forma recursiva, tal como na FFT de base 2 e na Transformação rápida de Walsh-Hadamard. Separar uma matriz conhecida no produto de Kronecker de duas matrizes mais pequenas é conhecido como o problema do "produto de Kronecker mais próximo", e pode ser resolvido exatamente[13] através do uso da SVD. Separar uma matriz no produto de Kronecker de mais do que duas matrizes, de uma forma ideal, é um problema difícil e que é tema de investigação contínua; alguns autores abordam o assunto como um problema de decomposição tensorial.[14][15]
Em combinação com o método dos mínimos quadrados, o produto de Kronecker pode ser usado como uma solução precisa para o problema de calibração mão-olho.[16]
Operações de matrizes relacionadas
editarDuas operações de matrizes relacionadas são os produtos de Tracy-Singh e os produtos de Khatri-Rao, que operam em matrizes em blocos. Seja a matriz m × n A subdividida em blocos mi × nj Aij e a matriz p × q B subdividida em blocos pk × qℓ Bkl, naturalmente com Σi mi = m, Σj nj = n, Σk pk = p e Σℓ qℓ = q.
Produto de Tracy–Singh
editarO produto de Tracy–Singh é definido como[17][18][19]
o que significa que o (ij)-ésimo sub-bloco do produto mp × nq A B é a matriz mi p × nj q Aij B, da qual o (kℓ)-ésimo sub-bloco é igual à matriz mi pk × nj qℓ Aij ⊗ Bkℓ. Essencialmente, o produto de Tracy-Singh é o produto de Kronecker par a par para cada par de partições nas duas matrizes.
Por exemplo, se A e B forem matrizes particionadas 2 × 2 ex.:
obtemos:
Produto de Khatri–Rao
editar- Produto de bloco de Kronecker
- Produto de Khatri-Rao por colunas
Produto de divisão de face (Face-splitting product)
editarPropriedades de produtos mistos[20]
onde denota o produto de divisão de face.[21][22]
De forma semelhante:[23]
onde e são vetores, e denota o produto de Hadamard.
Da mesma forma:
onde é a convolução de vetor e é a matriz da transformada de Fourier (este resultado é uma evolução das propriedades do count sketch[25]),[21][22]
onde denota o produto de Khatri-Rao por colunas.
Similarmente:
onde e são vetores.
Ver também
editarNotas
editar- ↑ Weisstein, Eric W. «Kronecker product». mathworld.wolfram.com (em inglês). Consultado em 6 de setembro de 2020
- ↑ Zehfuss, G. (1858). «Ueber eine gewisse Determinante». Zeitschrift für Mathematik und Physik. 3: 298–301
- ↑ Henderson, Harold V.; Pukelsheim, Friedrich; Searle, Shayle R. (1983). «On the history of the kronecker product». Linear and Multilinear Algebra. 14 (2): 113–120. ISSN 0308-1087. doi:10.1080/03081088308817548. hdl:1813/32834
Verifique o valor de |url-access=subscription(ajuda) - ↑ Sayed, Ali H. (22 de dezembro de 2022). Inference and Learning from Data: Foundations (em inglês). [S.l.]: Cambridge University Press. ISBN 978-1-009-21812-2
- ↑
Henderson, H.V.; Searle, S.R. (1980). «The vec-permutation matrix, the vec operator and Kronecker products: A review» (PDF). Linear and Multilinear Algebra. 9 (4): 271–288. doi:10.1080/03081088108817379. hdl:1813/32747
- ↑
Van Loan, Charles F. (2000). «The ubiquitous Kronecker product». Journal of Computational and Applied Mathematics. 123 (1–2): 85–100. Bibcode:2000JCoAM.123...85L. doi:10.1016/s0377-0427(00)00393-9
- ↑ a b c Liu, Shuangzhe; Trenkler, Götz; Kollo, Tõnu; von Rosen, Dietrich; Baksalary, Oskar Maria (2023). «Professor Heinz Neudecker and matrix differential calculus». Statistical Papers (em inglês). 65 (4): 2605–2639. doi:10.1007/s00362-023-01499-w
- ↑
Langville, Amy N.; Stewart, William J. (1 de junho de 2004). «The Kronecker product and stochastic automata networks». Journal of Computational and Applied Mathematics. 167 (2): 429–447. Bibcode:2004JCoAM.167..429L. doi:10.1016/j.cam.2003.10.010
- ↑
Macedo, Hugo Daniel; Oliveira, José Nuno (2013). «Typing linear algebra: A biproduct-oriented approach». Science of Computer Programming. 78 (11): 2160–2191. Bibcode:2013arXiv1312.4818M. CiteSeerX 10.1.1.747.2083
. arXiv:1312.4818
. doi:10.1016/j.scico.2012.07.012
- ↑ Brewer, J.W. (1969). «A note on Kronecker matrix products and matrix equation systems». SIAM Journal on Applied Mathematics. 17 (3): 603–606. doi:10.1137/0117057
- ↑ Dummit, David S.; Foote, Richard M. (1999). Abstract Algebra 2 ed. Nova Iorque: John Wiley and Sons. pp. 401–402. ISBN 978-0-471-36857-1
- ↑ Ver Knuth, D.E. «Pre-Fascicle 0a: Introduction to Combinatorial Algorithms» zeroth printing, revision 2 ed. resposta ao Exercício 96. Consultado em 24 de outubro de 2007. Arquivado do original em 13 de maio de 2019, a aparecer como parte de Knuth, D.E. The Art of Computer Programming. 4A. [S.l.: s.n.]
- ↑ Van Loan, C.; Pitsianis, N. (1992). Approximation with Kronecker Products. Ithaca, Nova Iorque: Cornell University Press
- ↑ King Keung Wu; Yam, Yeung; Meng, Helen; Mesbahi, Mehran (2016). «Kronecker product approximation with multiple factor matrices via the tensor product algorithm». 2016 IEEE International Conference on Systems, Man, and Cybernetics (SMC). [S.l.: s.n.] pp. 004277–004282. ISBN 978-1-5090-1897-0. doi:10.1109/SMC.2016.7844903
- ↑ Dantas, Cássio F.; Cohen, Jérémy E.; Gribonval, Rémi (2018). «Learning Fast Dictionaries for Sparse Representations Using Low-Rank Tensor Decompositions». Latent Variable Analysis and Signal Separation (PDF). Col: Lecture Notes in Computer Science. 10891. [S.l.: s.n.] pp. 456–466. ISBN 978-3-319-93763-2. doi:10.1007/978-3-319-93764-9_42
- ↑ Li, Algo; et al. (4 de setembro de 2010). «Simultaneous robot-world and hand-eye calibration using dual-quaternions and Kronecker product.» (PDF). International Journal of the Physical Sciences. 5 (10): 1530–1536. Arquivado do original (PDF) em 9 de fevereiro de 2020
- ↑ Tracy, D.S.; Singh, R.P. (1972). «A new matrix product and its applications in matrix differentiation». Statistica Neerlandica. 26 (4): 143–157. doi:10.1111/j.1467-9574.1972.tb00199.x
- ↑
Liu, Shuangzhe (1999). «Matrix Results on the Khatri–Rao and Tracy–Singh Products». Linear Algebra and Its Applications. 289 (1–3): 267–277. doi:10.1016/S0024-3795(98)10209-4
- ↑ Liu, Shuangzhe; Trenkler, Götz (2008). «Hadamard, Khatri-Rao, Kronecker and other matrix products». International Journal of Information and Systems Sciences. 4 (1): 160–177
- ↑ Slyusar, V.I. (1998) [27 de dezembro de 1996]. «End products in matrices in radar applications» (PDF). Radioelectronics and Communications Systems. 41 (3): 50–53
- ↑ a b Slyusar, Vadym (1999). «New matrix operations for DSP» (palestra publicada pelo autor). doi:10.13140/RG.2.2.31620.76164/1 – via ResearchGate
- ↑ a b Slyusar, V.I. (13 de março de 1998). «A Family of Face Products of Matrices and its Properties» (PDF). Cybernetics and Systems Analysis C/C of Kibernetika I Sistemnyi Analiz. 1999. 35 (3): 379–384. doi:10.1007/BF02733426
- ↑ Slyusar, V.I. (15 de setembro de 1997). New operations of matrices product for applications of radars (PDF). Direct and Inverse Problems of Electromagnetic and Acoustic Wave Theory (DIPED-97), Lviv. pp. 73–74
- ↑
Ahle, Thomas Dybdahl; Knudsen, Jakob Bæk Tejs (3 de setembro de 2019). «Almost optimal tensor sketch». arXiv:1909.01821
[cs.DS]
- ↑
Ninh, Pham; Pagh, Rasmus (2013). Fast and scalable polynomial kernels via explicit feature maps. SIGKDD international conference on Knowledge discovery and data mining. Association for Computing Machinery. CiteSeerX 10.1.1.718.2766
. doi:10.1145/2487575.2487591
Referências
editar- Horn, Roger A.; Johnson, Charles R. (1991). Topics in Matrix Analysis. [S.l.]: Cambridge University Press. ISBN 978-0-521-46713-1
- Jain, Anil K. (1989). Fundamentals of Digital Image Processing. [S.l.]: Prentice Hall. Bibcode:1989fdip.book.....J. ISBN 978-0-13-336165-0
- Steeb, Willi-Hans (1997). Matrix Calculus and Kronecker Product with Applications and C++ Programs. [S.l.]: World Scientific Publishing. ISBN 978-981-02-3241-2
- Steeb, Willi-Hans (2006). Problems and Solutions in Introductory and Advanced Matrix Calculus. [S.l.]: World Scientific Publishing. ISBN 978-981-256-916-5
- Liu, Shuangzhe; Trenkler, Götz (2008), «Hadamard, Khatri-Rao, Kronecker and other matrix products», International Journal of Information and Systems Sciences, 4: 160–177
Ligações externas
editar- Hazewinkel, Michiel, ed. (2001), «Tensor product», Enciclopédia de Matemática, ISBN 978-1-55608-010-4 (em inglês), Springer
- Predefinição:PlanetMath
- «Kronecker product». MathWorld
- «New Kronecker product problems» (PDF). Consultado em 19 de agosto de 2009. Arquivado do original (PDF) em 4 de novembro de 2021
- calculate Kronecker product of two matrices. SourceForge (generic C++ and Fortran 90 source code). 27 de junho de 2015
- «Kronecker product». RosettaCode.org. 31 de dezembro de 2020. Consultado em 13 de janeiro de 2021 Software source in more than 40 languages.