15. 2014/03/202014 JOI春合宿 行列の基礎とその応用
縦ベクトル
縦ベクトル: 数,式を縦に並べたもの
15
要素ごとに足す
要素ごとに掛ける
0
@
x
y
z
1
A
0
@
x
y
z
1
A +
0
@
p
q
r
1
A =
0
@
x + p
y + q
z + r
1
A
c
0
@
x
y
z
1
A =
0
@
cx
cy
cz
1
A
(←スカラー倍と呼ぶ)
列ベクトルと呼ぶほうが多いかもしれない
18. 2014/03/202014 JOI春合宿 行列の基礎とその応用
行列
18
0
@
1 1 1
1 0 2
2 1 1
1
A 行列: 数,式を縦横に並べたもの
ベクトルと同様に,要素ごとに足す,要素ごとに掛ける
0
@
1 1 1
1 0 2
2 1 1
1
A +
0
@
1 0 0
0 1 0
0 0 1
1
A =
0
@
0 1 1
1 1 2
2 1 2
1
A
c
0
@
1 1 1
1 0 2
2 1 1
1
A =
0
@
c c c
c 0 2c
2c c c
1
A
19. 2014/03/202014 JOI春合宿 行列の基礎とその応用
行列と縦ベクトルの積
19
0
@
1 1 1
1 0 2
2 1 1
1
A
-x +y +z =0
x -2z =3
2x -y +z =-1
は
係数を抜き出したものになっている.
の
0
@
1 1 1
1 0 2
2 1 1
1
A
0
@
x
y
z
1
A =
0
@
0
3
1
1
A
が連立一次方程式になるように
行列と縦ベクトルの積を定めよう
20. 2014/03/202014 JOI春合宿 行列の基礎とその応用
行列と縦ベクトルの積
20
0
@
1 1 1
1 0 2
2 1 1
1
A
0
@
x
y
z
1
A = x
0
@
1
1
2
1
A + y
0
@
1
0
1
1
A + z
0
@
1
2
1
1
A
とすればよい.
-x +y +z =0
x -2z =3
2x -y +z =-1
0
@
x
x
2x
1
A +
0
@
y
0
y
1
A +
0
@
z
2z
z
1
A =
0
@
0
3
1
1
A
x
0
@
1
1
2
1
A + y
0
@
1
0
1
1
A + z
0
@
1
2
1
1
A =
0
@
0
3
1
1
A
←3つ前のスライド
25. 2014/03/202014 JOI春合宿 行列の基礎とその応用25
… =
0
B
B
B
B
B
@
1
0
0
...
0
1
C
C
C
C
C
A
1 +0 …+0 +0
初めの要素が 1 で他が全部 0 の縦ベクトルをAにかけてみる
a=1, b=c=...=z=0
A(1,0,...,0)=?
27. 2014/03/202014 JOI春合宿 行列の基礎とその応用27
同様に考えると......
… =A =
0
B
B
B
B
B
@
1
0
0
...
0
1
C
C
C
C
C
A
A =
0
B
B
B
B
B
@
0
1
0
...
0
1
C
C
C
C
C
A
A
=
0
B
B
B
B
B
@
0
0
0
...
1
1
C
C
C
C
C
A
A…
Aと … のそれぞれの積を並べるとAになる!
0
B
B
B
B
B
@
1
0
0
...
0
1
C
C
C
C
C
A
0
B
B
B
B
B
@
0
1
0
...
0
1
C
C
C
C
C
A
0
B
B
B
B
B
@
0
0
0
...
1
1
C
C
C
C
C
A
A(1,0,...,0)=?
28. 2014/03/202014 JOI春合宿 行列の基礎とその応用
行列どうしの積
28
→ を調べてみる
Aと … のそれぞれの積を並べるとAになる!
0
B
B
B
B
B
@
1
0
0
...
0
1
C
C
C
C
C
A
0
B
B
B
B
B
@
0
1
0
...
0
1
C
C
C
C
C
A
0
B
B
B
B
B
@
0
0
0
...
1
1
C
C
C
C
C
A
[AB]
0
B
B
B
B
B
@
1
0
0
...
0
1
C
C
C
C
C
A
, [AB]
0
B
B
B
B
B
@
0
1
0
...
0
1
C
C
C
C
C
A
, · · ·
29. 2014/03/202014 JOI春合宿 行列の基礎とその応用29
… =B
行列どうしの積
=A[AB]
0
B
B
B
B
B
@
1
0
0
...
0
1
C
C
C
C
C
A
= A
2
6
6
6
6
6
4
B
0
B
B
B
B
B
@
1
0
0
...
0
1
C
C
C
C
C
A
3
7
7
7
7
7
5
=A[AB]
0
B
B
B
B
B
@
0
1
0
...
0
1
C
C
C
C
C
A
= A
2
6
6
6
6
6
4
B
0
B
B
B
B
B
@
0
1
0
...
0
1
C
C
C
C
C
A
3
7
7
7
7
7
5
2つの式 Ax=y, By=z があるとき, A(Bx)=z.
A(Bx)=(AB)x
となるように行列同士の積を定めよう
30. 2014/03/202014 JOI春合宿 行列の基礎とその応用30
… =B
行列どうしの積
=A
AB= A A A … A
[AB]
0
B
B
B
B
B
@
1
0
0
...
0
1
C
C
C
C
C
A
= A
2
6
6
6
6
6
4
B
0
B
B
B
B
B
@
1
0
0
...
0
1
C
C
C
C
C
A
3
7
7
7
7
7
5
=A[AB]
0
B
B
B
B
B
@
0
1
0
...
0
1
C
C
C
C
C
A
= A
2
6
6
6
6
6
4
B
0
B
B
B
B
B
@
0
1
0
...
0
1
C
C
C
C
C
A
3
7
7
7
7
7
5
32. 2014/03/202014 JOI春合宿 行列の基礎とその応用
0
B
B
B
B
B
B
@
A11 · · · A1n
...
...
Ai1 · · · Ain
...
...
An1 · · · Ann
1
C
C
C
C
C
C
A
0
B
@
B11 · · · B1j · · · B1n
... · · ·
...
Bn1 · · · Bnj · · · Bnn
1
C
A
行列どうしの積
i 行目 j 列目の要素を と書きます
32
Aij
の i 行目 j 列目=
の i 行目=
0
B
B
B
B
B
B
@
A11 · · · A1n
...
...
Ai1 · · · Ain
...
...
An1 · · · Ann
1
C
C
C
C
C
C
A
0
@
B1j
· · ·
Bnj
1
A
Ai1B1j + · · · + AinBnj
→Aの i 行目とBの j 行目の内積
41. 2014/03/202014 JOI春合宿 行列の基礎とその応用
Ai1 · · · Ain
0
B
@
B11 · · · B1j · · · B1n
...
...
...
Bn1 · · · Bnj · · · Bnn
1
C
A
0
B
B
B
B
B
B
@
A11 · · · A1n
...
...
Ai1 · · · Ain
...
...
An1 · · · Ann
1
C
C
C
C
C
C
A
0
B
@
B11 · · · B1j · · · B1n
... · · ·
...
Bn1 · · · Bnj · · · Bnn
1
C
A
i 行目 j 列目の要素を と書きます
41
Aij
の i 行目 j 列目=
の i 行目=
Ai1B1j + · · · + AinBnj →Aの i 行目とBの j 行目の内積
行列の積ふたたび
74. 2014/03/202014 JOI春合宿 行列の基礎とその応用
a
b
c
d
74
時刻 t に人が居る確率
at, bt, ct, dt
0
B
B
@
at+1
bt+1
ct+1
dt+1
1
C
C
A =
0
B
B
@
0 1/2 1/3 1
0 0 1/3 0
1 0 0 0
0 1/2 1/3 0
1
C
C
A
0
B
B
@
at
bt
ct
dt
1
C
C
A
↓Aとする
2.PageRank
79. 2014/03/202014 JOI春合宿 行列の基礎とその応用79
(紅,白)=(1,1) のとき 351 円
(紅,白)=(1,0) のとき 147 円
(紅,白)=(2,3) のとき 848 円
(紅,白)=(10,20) のとき 5050 円
売ってみたらこうなった.
→箱と饅頭の価値はどんくらい?
(厳密には解けない)
0
B
B
@
351
147
848
5050
1
C
C
A =
0
B
B
@
1 1 1
1 1 0
1 2 3
1 10 20
1
C
C
A
0
@
bB
bR
bW
1
A +
0
B
B
@
"1
"2
"3
"4
1
C
C
A
3.統計学(線形回帰)
80. 2014/03/202014 JOI春合宿 行列の基礎とその応用
3.統計学(線形回帰)
80
C X B ε= +
C B ε= +
X
X
X
X
C B ε= +
X
X
X
-1
0
B
B
@
351
147
848
5050
1
C
C
A =
0
B
B
@
1 1 1
1 1 0
1 2 3
1 10 20
1
C
C
A
0
@
bB
bR
bW
1
A +
0
B
B
@
"1
"2
"3
"4
1
C
C
A
81. 2014/03/202014 JOI春合宿 行列の基礎とその応用
3.統計学(線形回帰)
81
C X B ε= +
C B ε= +
X
X
X
X
C B=
X
X
X
-1
0
B
B
@
351
147
848
5050
1
C
C
A =
0
B
B
@
1 1 1
1 1 0
1 2 3
1 10 20
1
C
C
A
0
@
bB
bR
bW
1
A +
0
B
B
@
"1
"2
"3
"4
1
C
C
A
ε‘は平均 0
(めっちゃ雑な説明)
82. 2014/03/202014 JOI春合宿 行列の基礎とその応用
3.統計学(線形回帰)
82
C B=
X
X
X
-1
0
B
B
@
351
147
848
5050
1
C
C
A =
0
B
B
@
1 1 1
1 1 0
1 2 3
1 10 20
1
C
C
A
0
@
bB
bR
bW
1
A +
0
B
B
@
"1
"2
"3
"4
1
C
C
A
を実際に計算してみると……
箱が 53円
紅饅頭が 94円
白饅頭が203円
90. 2014/03/202014 JOI春合宿 行列の基礎とその応用
回転 と平行移動 合わせて,
90
0
@
x
y
z
1
A !
0
@
x
y
z
1
A + rw
0
@
1
0
0
1
A ! rx
0
@
0
1
0
1
A ! ry
0
@
0
0
1
1
A ! rz
0
B
B
@
x0
y0
z0
1
1
C
C
A =
0
B
B
@
x
y
z
1
1
C
C
A
rx ry rz rw
0 0 0 1
6. 3DCG
103. 2014/03/202014 JOI春合宿 行列の基礎とその応用
LU分解
103
L
U x=b
U x=c
Ax = b
Ux = A1A2 · · · AN b
(A1A2 · · · AN ) 1
Ux = b
L,U だけ前もって計算しておけば,
b が変わってもO(N2)で解ける
L,U の計算はO(N3)
x=(Answer)
後退代入
O(N2)
後退代入
O(N2)
105. 2014/03/202014 JOI春合宿 行列の基礎とその応用105
べき乗法
An
x = An
( 1c1x1 + 2c2x2 + nc3x3)
= n
1 c1x1 + n
2 c2x2 + n
nc3x3
! n
1 c1x1 + n
2 c2x2 + n
nc3x3
適当な x から初めて,
・x ← Ax
・x の長さが 1 になるように x ← cx とする
(値が大きくなり過ぎないように)
を繰り返すと,x は最大固有値の固有ベクトルに近付く