Množenje matrike v R

Matrično množenje je najbolj uporabna matrična operacija. Danes se široko uporablja na področjih, kot so teorija omrežij, preoblikovanje koordinat in še veliko več. Matriko v R lahko ustvarite z uporabo matrika() in ta funkcija kot argumente sprejme vhodni vektor, nrow, ncol, byrow, dimnames.

Ustvarjanje matrice
Matriko lahko ustvarite s funkcijo matrix().

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

Izhod:

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

Množenje matrik


Operator množenja * se uporablja za množenje matrike s skalarnim ali elementnim množenjem dveh matrik.
Množenje s skalarjem
Če pomnožite matriko s skalarno vrednostjo, bo vsak element matrike pomnožen s tem skalarjem.

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

Izhod:

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

V zgornji kodi se skalar pomnoži z vsakim elementom izvirne matrike. Tako poteka postopek množenja.

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

Množenje med matrikami

Ko matriko pomnožimo z drugo matriko, pride do elementnega množenja dveh matrik. Vsi ustrezni elementi obeh matrik bodo pomnoženi pod pogojem, da bosta obe matriki enake dimenzije.

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) 

Izhod:

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

Tako poteka postopek množenja.

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

Množenje z vektorjem

Če je matrika pomnožena z vektorjem, bo vektor povišan v matriko vrstic ali stolpcev, da sta dva argumenta skladna.

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) 

Izhod:

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

Tako poteka postopek množenja:

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

Množenje z operatorjem %*%.

Operater %*% se uporablja za množenje matrike, ki izpolnjuje pogoj, da je število stolpcev v prvi matriki enako številu vrstic v drugi. Če pomnožimo matriko A[M, N] in matriko B[N, Z], bo rezultantna matrika imela dimenzijo 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) 

Izhod:

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

Tako poteka množenje

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