0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

現場についていくための数学備忘録 #4

Posted at

行列

今回は行列について簡単にまとめていこうと思います。

行列とは

その名の通り「行」と「列」で構成されているものを言います。
具体例をいうと下記のような物になります。

[5, 13]
[4, 6]
[20, 7]

この場合、「行」は[5,13]。
列は[5, 4, 20]のことを言います。

行列の加減

2つの行列の加減は要素同士で加減ができます。
具体例) pythonではnumpyのmatix関数で行列を定義できます。

>>> A = np.matrix([[5, 13], [4, 6], [20, 7]])
>>> B = np.matrix([[8, 15], [9, 10], [20, 8]])
>>> print(A)
[[ 5 13]
 [ 4  6]
 [20  7]]
>>> print(B)
[[ 8 15]
 [ 9 10]
 [20  8]]
>>> C = A + B
>>> print(C)
[[13 28]
 [13 16]
 [40 15]]

行列の掛け算

行列の掛け算は加減よりちょっと面倒です。
掛けるものが、単純に1つの実数であれば、各要素に掛ければできます。

>>> print(A)
[[ 5 13]
 [ 4  6]
 [20  7]]
>>> print(A * 2)
[[10 26]
 [ 8 12]
 [40 14]]
>>> 

しかし、下記のように行列かける行列だと、単純に要素同士というわけにはいきません。

>>> print(A)
[[ 5 13]
 [ 4  6]
 [20  7]]
>>> print(D)
[[1 2]
 [3 4]]
>>> print(A * D)
[[44 62]
 [22 32]
 [41 68]]
>>> 

上記で何をやっているかを見ていきます。

まず、行列Aの1行目にあたる、[5, 13]を見ます。
そこに、行列Dの1列目にあたる、[1, 3]を要素ごとに掛け合わせて、合計を足すという動きをしています。
行列A2の2,3行目と行列Dの2列でも同じことをやります。
具体的には、

[5 * 1 + 13 * 3] = 44
[4 * 1 + 6 * 3] = 22
[20 * 1 + 7 * 3] = 41
[5 * 2 + 13 * 4] = 62
[4 * 2 + 6 * 4] = 32
[20 * 2 + 7 * 4] = 68

[44 62]
[22 32]
[41 68]

また、行列の掛け算には掛ける側と掛けられる側の順番を入れ替えると、値が変わってしまうという性質があります。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?