logo

Multiplicación de matrices en R

La multiplicación de matrices es la operación matricial más útil. Es muy utilizado en áreas como teoría de redes, transformación de coordenadas y muchos más usos en la actualidad. Se puede crear una matriz en R usando matriz() función y esta función toma vector de entrada, nrow, ncol, byrow, dimnames como argumentos.

Creando una matriz
Se puede crear una matriz usando la función matriz().



R
# R program to create a matrix m <- matrix(1:8, nrow=2) print(m)>

Producción:

 [,1] [,2] [,3] [,4] [1,] 1 3 5 7 [2,] 2 4 6 8>

Multiplicación de matrices


El operador de multiplicación * se utiliza para multiplicar una matriz por escalar o multiplicación por elementos de dos matrices.
Multiplicación con escalar
Si multiplicas una matriz con un valor escalar, entonces cada elemento de la matriz se multiplicará por ese escalar.

R
# R program for matrix multiplication # with a scalar m <- matrix(1:8, nrow=2) m <- 2*m print(m)>

Producción:



 [,1] [,2] [,3] [,4] [1,] 2 6 10 14 [2,] 4 8 12 16>

En el código anterior, el escalar se multiplica por cada elemento de la matriz original. Así es como se produce el proceso de multiplicación.

2*1=2 2*3=6 2*5=10 2*7=14 2*2=4 2*4=8 2*6=12 2*8=16>

Multiplicación entre matrices

Cuando una matriz se multiplica por otra matriz, se produce la multiplicación por elementos de dos matrices. Todos los elementos correspondientes de ambas matrices se multiplicarán bajo la condición de que ambas matrices sean de la misma dimensión.

R
# R program for matrix multiplication # Creating matrices m <- matrix(1:8, nrow=2) n <- matrix(8:15, nrow=2) # Multiplying matrices print(m*n)>

Producción:



 [,1] [,2] [,3] [,4] [1,] 8 30 60 98 [2,] 18 44 78 120>

Así es como se produce el proceso de multiplicación.

1*8=8 3*10=30 5*12=60 7*14=98 2*9=18 4*11=44 6*13=78 8*15=120>

Multiplicación con Vector

Si una matriz se multiplica por un vector, el vector se promoverá a matriz de fila o columna para que dos argumentos sean conformes.

R
# R program for matrix multiplication # Creating matrix m <- matrix(1:8, nrow=2) # Creating a vector vec <- 1:2 # Multiplying matrix with vector print(vec*m)>

Producción:

 [,1] [,2] [,3] [,4] [1,] 1 3 5 7 [2,] 4 8 12 16>

Así se realiza el proceso de multiplicación:

  1*1=1 1*3=3 1*5=5 1*7=7 2*2=4 2*4=8 2*6=12 2*8=16>

Multiplicación usando el operador %*%

El operador %*% se utiliza para la multiplicación de matrices que satisface la condición de que el número de columnas de la primera matriz sea igual al número de filas de la segunda. Si se multiplican la matriz A[M, N] y la matriz B[N, Z], la matriz resultante será de dimensión M*Z.

R
# R program for matrix multiplication # Creating matrices m <- matrix(1:8, nrow=2) n <- matrix(8:15, nrow=4) # Multiplying matrices using operator print(m %*% n)>

Producción:

 [,1] [,2] [1,] 162 226 [2,] 200 280>

Así se hace la multiplicación.

1*8+3*9+5*10+7*11 = 162 1*12+3*13+5*14+7*15=226 2*8+4*9+6*10+8*11 = 200 2*12+4*13+6*14+8*15=280>