Multiplicação de matrizes N-Dimensionais

17 respostas
J

Certo…Todo mundo aqui já implementou uma multiplicação de matrizes bidimensionais. Alguém sabe se existe esta operação para matrizes de dimensão superior a 2? Se existe, alguém tem idéia de como é o caso geral da multiplicação de matrizes N-dimensionais?

17 Respostas

rmendes08

Matrizes, são , por definição bi-dimensionais. Só pra lembrar :

matriz != array

J

Mas falo de matrizes na acepção matemática do termo, não necessariamente computacional…

Luca

Olá

Só conheço multiplicação de matrizes bi dimensionais. Mas sei que uma matriz m x m x p são p matrizes m x n, isto é, uma matriz de 3 dimensões m x n x p se compõe de p matrizes m x n. Então este seria minha base de raciocínio para tentar descobrir se é possível multiplicar matrizes multidimensionais.

[]s
Luca

P

rmendes08:
Matrizes, são , por definição bi-dimensionais. Só pra lembrar :

matriz != array

Discordo.Sempre entendi que:

Matriz é um Array multidimensional.
Vetor é um Array unidimensional.

Esta é uma referência para o que expûs. Outros sites vão dizer a mesma coisa.

http://www.google.com.br/search?hl=pt-BR&q=define%3Aarray&btnG=Pesquisa+Google&meta=

sergiotaborda

Matrizes n-dimensionais continuam apenas tendo colunas e linhas. A regra é a mesma, acontece apenas que as linhas e colunas terão n elementos.

Tlv esteja pensando em objetos com 3 indices. Nesse caso desconheço. Mas tb desconheço aplicabilidade para isso. Vc está mesmo precisando fazer essa operação ou é apenas curiosidade ?

Marcio_Duran

:arrow: Talvez aqui !!!

:arrow: Improving Java for Numerical Computation

:arrow: http://math.nist.gov/javanumerics/

:arrow: http://www.hpjava.org/courses/arl/index.html

B

Na matemática, matrizes, por definição, tem dimensão 2, ou são tensores de ordem 2. Vetores tem ordem 1, escalares zero.
Multiplicações de matrizes só ocorrem com estruturas de ordem 2 ou menor.

Dê uma olhada em multiplicação de tensores ou em multiplicações de matrizes em cadeia.

rmendes08

boone:
rmendes08:
Matrizes, são , por definição bi-dimensionais. Só pra lembrar :

matriz != array

Discordo.Sempre entendi que:

Matriz é um Array multidimensional.
Vetor é um Array unidimensional.

Esta é uma referência para o que expûs. Outros sites vão dizer a mesma coisa.

http://www.google.com.br/search?hl=pt-BR&q=define%3Aarray&btnG=Pesquisa+Google&meta=

As duas definições estão incorretas.

Matematicamente, o conceitor de vetor é bem mais amplo. Um número real pode ser um vetor, um par ordenado, uma matriz, uma tupla qualquer pode ser um vetor, um polinômio, e por aí vai, isso inclui um array. Ou seja, um array pode ser um vetor, e não o contrário.

Uma matriz, é necessariamente, um array (arranjo) em duas dimensões, em linhas e colunas, ou seja, é uma tabela. Dizer que uma matriz é um arranjo de duas dimensões, não é a mesma coisa que dizer que é um vetor de duas dimensões.

ps: que irônico você citar a Sankhya, pois é onde eu trabalho!

Marcio_Duran

Matrizes n-dimensionais continuam apenas tendo colunas e linhas. A regra é a mesma, acontece apenas que as linhas e colunas terão n elementos.

Tlv esteja pensando em objetos com 3 indices. Nesse caso desconheço. Mas tb desconheço aplicabilidade para isso. Vc está mesmo precisando fazer essa operação ou é apenas curiosidade ?

:arrow: [size=17]Inverse of a jacobian matrix[/size], não seria alguma coisa relacionada a Robótica que ele quer dizer !!!
[size=18]
Fonte [/size]
:arrow: http://www-ee.ccny.cuny.edu/www/web/jxiao/Jacobian.ppt

J

Realmente, matrizes podem assumir quantas dimensões vc quiser( e a ram aguentar, claro). Uma matriz A[i][j] pode assumir também 3 dimensões A[i][j][k]. Lembre-se que o consumo de memória aumenta exponencialmente. Mas sinceramente, o que vc vai calcular com uma terceira dimensão??

dionat4n

Multiplicação simples de N dimensões tem em livros de matemática de segundo grau e de álgebra linear.

Se quiser algo mais interessante, pesquise sobre um algoritmo de programação dinâmica que utiliza a técnica de divisão e conquista. O nome do autor e do algoritmo é Strassen. Procure sobre multiplicação de matrizes no livro “Algoritmos” (Algorithms) do Cormen que lá tem tudo. Estudei esses algoritmos na disciplina de Complexidade de Algoritmos, bem interessante.

Só não pire! hehe

Proteu_Alcebidiano

Com três dimensões ele pode querer guardar as coordenadas de um cubo, por exemplo…ou representar formas além de R³ =)

T+

J

Para isso vc pode usar uma classe com atributos xyz e guardar seus objetos num vetor. Não precisa de matriz de n dimensões. A não ser que realmente seja um projeto de computação gráfica ao nível da opengl.

Luca

Olá

Por favor cite algum livro e mostre como se faz.

Por mais de 10 anos da minha vida sobrevivi principalmente graças aos meus conhecimentos de matrizes, da aplicação do cálculo matricial à engenharia e da solução de grandes sistemas de equações. Acho que li os principais livros do assunto e não me lembro de ter visto multiplicação de matrizes com mais de 2 dimensões. É impossível fazer? Acho que não e até dei uma dica para reduzir de 3 dimensões para 2.

Como no meu tempo a gente só aprendia cálculo matricial e álgebra linear na faculdade, fiquei curioso sobre os tais livros do segundo grau que ensinam Multiplicação simples de N dimensões.

[]s
Luca

dionat4n

Luca:
Olá

Por favor cite algum livro e mostre como se faz.

Por mais de 10 anos da minha vida sobrevivi principalmente graças aos meus conhecimentos de matrizes, da aplicação do cálculo matricial à engenharia e da solução de grandes sistemas de equações. Acho que li os principais livros do assunto e não me lembro de ter visto multiplicação de matrizes com mais de 2 dimensões. É impossível fazer? Acho que não e até dei uma dica para reduzir de 3 dimensões para 2.

Como no meu tempo a gente só aprendia cálculo matricial e álgebra linear na faculdade, fiquei curioso sobre os tais livros do segundo grau que ensinam Multiplicação simples de N dimensões.

[]s
Luca

Ah, confundi dimensão com o tamanho da matriz.
:roll:

J

rs…esquenta naum.

dionat4n

mas eu to curioso, vou pesquisar mais sobre isso!
soh q agora to sem tempo, trabalhando…

Criado 6 de dezembro de 2008
Ultima resposta 9 de dez. de 2008
Respostas 17
Participantes 10