logo

R での行列乗算

行列乗算は最も便利な行列演算です。現在、ネットワーク理論、座標の変換、その他多くの用途で広く使用されています。 R の行列は次を使用して作成できます。 マトリックス() この関数は入力ベクトル、nrow、ncol、byrow、dimname を引数として受け取ります。

Javaで文字列を連結する

マトリックスの作成
マトリックスは、matrix() 関数を使用して作成できます。



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

出力:

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

行列の乗算


乗算演算子 * スカラーまたは 2 つの行列の要素ごとの乗算によって行列を乗算するために使用されます。
スカラーとの乗算
行列にスカラー値を乗算すると、行列のすべての要素がそのスカラーで乗算されます。

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

出力:



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

上記のコードでは、元の行列のすべての要素にスカラーが乗算されます。このようにして乗算プロセスが行われます。

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

行列間の乗算

行列と別の行列を乗算すると、2 つの行列の要素ごとの乗算が行われます。両方の行列の対応する要素はすべて、両方の行列が同じ次元であるという条件の下で乗算されます。

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)>

出力:



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

このようにして乗算プロセスが行われます。

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

ベクトルとの乗算

行列にベクトルを乗算すると、ベクトルは行行列または列行列に昇格され、2 つの引数が適合するようになります。

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)>

出力:

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

乗算プロセスは次のように行われます。

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

%*% 演算子を使用した乗算

オペレーター %*% 最初の行列の列数が 2 番目の行列の行数と等しいという条件を満たす行列の乗算に使用されます。行列 A[M, N] と行列 B[N, Z] を乗算すると、結果として得られる行列の次元は 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)>

出力:

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

乗算はこうして行われる

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>