Operações com Matrizes e Vetores
Operações com Matrizes e Vetores
Tabela de Conteúdos:
- Criar uma matriz 2 X 4
- Multiplicar duas matrizes, a primeira com dimensões 2 x 3, e a segunda com dimensões 3 x 4
- Multiplicar uma matriz com dimensões 2 x 3 por um vetor com dimensão 3
Dica: Após visitar um link da tabela de conteúdos, utilize a tecla de retorno do seu navegador para voltar para a tabela.
Nos códigos que implementam os algoritmos estudados a biblioteca de classes
org.apache.commons.math3 será utilizada.
Especialmente matrizes e vetores serão comumente representados por objetos das classes RealMatrix e
RealVector, respectivamente, desta biblioteca.
Vamos apresentar o resultado de alguns métodos destas classes.
Criar uma matriz de dimensões 2 X 4.
Com a linha de comando Java
RealMatrix M =
MatrixUtils.createRealMatrix(new double[][] { {1, 2, 3, 4}, {5, 6, 7, 8} });
A matriz M(2x4) é criada.
Observe a notação, M é o nome da matriz, os valores entre parêntesis em seguida significam as dimensões (linhas x colunas),
sempre nesta ordem.
O método estático createRealMatrix()
da classe MatrixUtils
foi utilizado para criar a martriz com os elementos
já populados, a partir de uma constante do tipo doube[][]
.
Multiplicar duas matrizes, a primeira com dimensões 2 x 3, e a segunda com dimensões 3 x 4
Comandos para criar as duas matrizes exemplo em Java e multiplicar uma pela outra:
RealMatrix M1 =
MatrixUtils.createRealMatrix(new double[][] { {1, 2, 3}, {4, 5, 6} });
RealMatrix M2 =
MatrixUtils.createRealMatrix(new double[][] { {1, 2, 3, 4},
{5, 6, 7, 8}, {9, 10, 11, 12 } });
RealMatrix M3 = M1.multiply(M2);
Comentários sobre a operação multiplicação de matrizes
Definição da operação de multiplicação realizada acima:
Digamos que a matriz da esquerda da multiplicação tem dimensões (o x p), a da direita dimensões (p x q),
e a matriz resultante dimensões (o, q).
Então, cada elemento da matriz M3 vai valer
.
Ou seja,
.
.
.
.
- Existem definições para mais de uma operação de multiplicação de matrizes.
- A que mostramos acima pode ser considerada a multiplicação padrão.
- Só pode ser aplicada se o número de colunas da matriz da esquerda é igual ao número de linhas da matriz da direita.
- A matriz resultante vai ter o número de linhas da matriz da direita e o número de colunas da matriz da esquerda.
- Note que a multiplicação de matrizes, assim definida, não é comutativa ().
Comentários sobre os comandos Java utilizados para a multiplicação de matrizes
Leia a documentação do org.apache.commons.math3.
Especialmente as das classes
MatrixUtils e
RealMatrix.
Multiplicar uma matriz com dimensões 2 x 3 por um vetor com dimensão 3
Comandos para criar a matriz , o vetor e multiplicar :
RealMatrix M1 =
MatrixUtils.createRealMatrix(new double[][] { {1, 2, 3}, {4, 5, 6} });
RealVector v1 = new ArrayRealVector(new double[]{1, 2, 3});
RealVector v2 = M1.operate(v1);
Comentários sobre a operação multiplicação de matriz por vetor
Definição da operação de multiplicação realizada acima:
Digamos que a matriz da esquerda da multiplicação tem dimensões (o x p), o vetor tem dimensão (p), e o vetor resultante dimensão (o).
Então, os elementos do vetor v2 vão valer
.
Ou seja,
.
.
- Existem definições para mais de uma operação de multiplicação de matriz por vetor.
- A que mostramos acima pode ser considerada a multiplicação padrão.
- Só pode ser aplicada se o número de colunas da matriz é igual ao número de elementos do vetor.
- O vetor resultante vai ter dimensão igual ao número de linhas da matriz.
Comentários sobre os comandos Java utilizados para a multiplicação de matriz por vetor
Leia a documentação do org.apache.commons.math3.
Especialmente as das classes
RealMatrix e
RealVector.
Somar dois vetores de mesma dimensão
Comandos para criar os vetores e e atribuir a soma dos dois a
RealVector V1 = MatrixUtils.createRealVector(new double[] {1, 2, 3} );
RealVector V2 = MatrixUtils.createRealVector(new double[] {4, 5, 6} );
RealVector V3 = V1.add(V2);