SlideShare a Scribd company logo
1 of 113
Download to read offline
プログラマのための線形代数 再 入門 2
∼要件定義から学ぶ行列式と逆行列∼
@taketo1024
2015/03/27 第2回プログラマのための数学勉強会
今回の目標
ただの計算地獄だった行列式と逆行列を
システム開発の文脈で説明し直し、
プログラマが納得して使えるようになること。
行列式 (determinant)
行列式 (determinant)
A =
✓
1 2
3 4
◆
行列式 (determinant)
A =
✓
1 2
3 4
◆
detA =
1 2
3 4
= 1 · 4 2 · 3
行列式 (determinant)
A =
✓
1 2
3 4
◆
detA =
1 2
3 4
= 1 · 4 2 · 3
+
行列式 (determinant)
A =
✓
1 2
3 4
◆
detA =
1 2
3 4
= 1 · 4 2 · 3
-
行列式 (determinant)
A =
✓
1 2
3 4
◆
detA =
1 2
3 4
= 1 · 4 2 · 3
= 2
行列式 (determinant)
A =
0
@
1 2 3
4 5 6
7 8 9
1
A
行列式 (determinant)
A =
0
@
1 2 3
4 5 6
7 8 9
1
A
detA =
1 2 3
4 5 6
7 8 9
= 1 · 5 · 9 + 2 · 6 · 7 + 3 · 4 · 8
3 · 5 · 7 2 · 4 · 9 1 · 6 · 8
行列式 (determinant)
A =
0
@
1 2 3
4 5 6
7 8 9
1
A
detA =
1 2 3
4 5 6
7 8 9
= 1 · 5 · 9 + 2 · 6 · 7 + 3 · 4 · 8
3 · 5 · 7 2 · 4 · 9 1 · 6 · 8
行列式 (determinant)
A =
0
@
1 2 3
4 5 6
7 8 9
1
A
detA =
1 2 3
4 5 6
7 8 9
= 1 · 5 · 9 + 2 · 6 · 7 + 3 · 4 · 8
3 · 5 · 7 2 · 4 · 9 1 · 6 · 8
行列式 (determinant)
A =
0
@
1 2 3
4 5 6
7 8 9
1
A
detA =
1 2 3
4 5 6
7 8 9
= 1 · 5 · 9 + 2 · 6 · 7 + 3 · 4 · 8
3 · 5 · 7 2 · 4 · 9 1 · 6 · 8
行列式 (determinant)
A =
0
@
1 2 3
4 5 6
7 8 9
1
A
detA =
1 2 3
4 5 6
7 8 9
= 1 · 5 · 9 + 2 · 6 · 7 + 3 · 4 · 8
3 · 5 · 7 2 · 4 · 9 1 · 6 · 8
行列式 (determinant)
A =
0
@
1 2 3
4 5 6
7 8 9
1
A
detA =
1 2 3
4 5 6
7 8 9
= 1 · 5 · 9 + 2 · 6 · 7 + 3 · 4 · 8
3 · 5 · 7 2 · 4 · 9 1 · 6 · 8
行列式 (determinant)
A =
0
@
1 2 3
4 5 6
7 8 9
1
A
detA =
1 2 3
4 5 6
7 8 9
= 1 · 5 · 9 + 2 · 6 · 7 + 3 · 4 · 8
3 · 5 · 7 2 · 4 · 9 1 · 6 · 8
行列式 (determinant)
A =
0
@
1 2 3
4 5 6
7 8 9
1
A
detA =
1 2 3
4 5 6
7 8 9
= 1 · 5 · 9 + 2 · 6 · 7 + 3 · 4 · 8
3 · 5 · 7 2 · 4 · 9 1 · 6 · 8
= 0
行列式 (determinant)
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
行列式 (determinant)
= 1 · 6 · 11 · 16 1 · 6 · 12 · 15 + 1 · 7 · 12 · 14 1 · 7 · 10 · 16 + 1 · 8 · 11 · 14 1 · 8 · 10 · 15
+2 · 5 · 12 · 15 2 · 5 · 11 · 16 + 2 · 7 · 9 · 16 2 · 7 · 12 · 13 + 2 · 8 · 11 · 13 2 · 8 · 9 · 15
+3 · 5 · 10 · 16 3 · 5 · 12 · 14 + 3 · 6 · 12 · 13 3 · 6 · 9 · 16 + 3 · 8 · 9 · 14 3 · 8 · 10 · 13
+4 · 5 · 10 · 15 4 · 5 · 11 · 14 + 4 · 6 · 9 · 15 4 · 6 · 11 · 13 + 4 · 7 · 10 · 13 4 · 7 · 9 · 13
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
!?
人間がやるべき計算じゃない

(コンピュータのある時代でよかった)
計算は機械がやればいいが、
これが何なのかは分かっておきたい。
プログラマの「理解」の3層構造
• 要件が分かる:何のためのものなのか
• 仕様が分かる:何を与えると何が返ってくるのか
• 実装が分かる:どのように動いているのか
プログラマはこの3つが ってはじめて「分かった」と言える。
1. 行列式の「要件」
(復習) 行列は線形変換の定量表現
✓
x
y
◆
x
✓
1
0
◆
y
✓
0
1
◆
f
y
✓
bx
by
◆
x
✓
ax
ay
◆
f
✓
x
y
◆
=
✓
ax bx
ay by
◆ ✓
x
y
◆
(復習) 等倍・偏倍変換
A =
✓
a 0
0 b
◆
✓
1
0
◆
✓
0
1
◆
f
✓
a
0
◆
✓
0
b
◆
(復習) 回転
A =
✓
cos✓ sin✓
sin✓ cos✓
◆
✓
1
0
◆
✓
0
1
◆
f
✓
cos ✓
sin ✓
◆
✓
sin ✓
cos ✓
◆
(復習) 反転
A =
✓
1 0
0 1
◆
✓
1
0
◆
✓
0
1
◆
f
✓
0
1
◆
✓
1
0
◆
(復習) 正射影
A =
✓
1 0
0 0
◆
✓
1
0
◆
✓
0
1
◆
f
✓
1
0
◆
✓
1
0
◆
✓
0
1
◆
✓
a
0
◆
✓
0
b
◆
✓
cos ✓
sin ✓
◆
✓
sin ✓
cos ✓
◆
✓
0
1
◆
✓
1
0
◆ ✓
1
0
◆
f
変換の特徴を表す 1次元の量 を考えたい
特に潰れるかどうかを
判別したい
潰れると元に戻せない!
✓
1
0
◆
✓
0
1
◆
✓
1
0
◆
f
✓
1
0
◆
✓
0
1
◆
f
f 1
?
同じように潰れてしまう
復元できない!
行列式の「要件」
• n次元の線形変換は n次正方行列 (n2 個の数) で表される。
• 線形変換の特徴を 1次元の量 によって表したい。
• 特に「潰れてしまう」かどうかを判別したい。
n次正方行列 A detAの行列式A (1次元の量)
2. 行列式の「仕様」
変換後の面積と向きに注目!
✓
1
0
◆
✓
0
1
◆
✓
a
0
◆
✓
0
b
◆
✓
cos ✓
sin ✓
◆
✓
sin ✓
cos ✓
◆
✓
0
1
◆
✓
1
0
◆ ✓
1
0
◆
f
面積 ab 倍
面積同じ
面積同じ
面積 0
✓
1
0
◆
✓
0
1
◆
✓
a
0
◆
✓
0
b
◆
✓
cos ✓
sin ✓
◆
✓
sin ✓
cos ✓
◆
✓
0
1
◆
✓
1
0
◆ ✓
1
0
◆
f
表向き
表向き
裏向き
向きなし
✓
1
0
◆
✓
0
1
◆
✓
a
0
◆
✓
0
b
◆
✓
cos ✓
sin ✓
◆
✓
sin ✓
cos ✓
◆
✓
0
1
◆
✓
1
0
◆ ✓
1
0
◆
f
detA = ab
detA = 1
detA = -1
detA = 0
detA = 「面積の倍率 向き」
✓
x
y
◆
x
✓
1
0
◆
y
✓
0
1
◆
f
y
✓
bx
by
◆
x
✓
ax
ay
◆
f
✓
x
y
◆
=
✓
ax bx
ay by
◆ ✓
x
y
◆
3次元(さらに高次元)の場合、
det A = 体積の倍率 向き
f
0
@
ax
ay
az
1
A
0
@
bx
by
bz
1
A
0
@
cx
cy
cz
1
A
右手系 → 左手系 の場合 detA < 0
行列式の「仕様」
detA
> 0
= 0
< 0
… 向きを保ち、体積 detA 倍
… 潰れる
… 向きを変えて、体積 -detA 倍
3. 行列式の「実装」
「n2 次元 → 1次元」の関数を
一発で出すのは難しい
複雑なものは簡単なものの組み合わせに
(設計の基本!)
1) det E = 1
✓
1
0
◆
✓
0
1
◆
✓
1
0
◆
✓
0
1
◆
E =
✓
1 0
0 1
◆
id
detE = 1
1 0
0 1
= 1
2) det(b, a) = -det(a, b)
✓
1
0
◆
✓
0
1
◆
✓
1
0
◆
✓
0
1
◆
A =
✓
0 1
1 0
◆
裏向き
f
det(b, a) = det(a, b)
0 1
1 0
=
1 0
0 1
= 1
det(a1 + a2, b) = det(a1, b) + det(a2, b),
det(k・a, b) = k・det(a, b)
✓
1
0
◆
✓
0
1
◆
f
3) det(ka, b) = k · det(a, b)
A =
✓
2 0
0 1
◆
✓
0
1
◆
✓
2
0
◆
2 0
0 1
= 2 ·
1 0
0 1
= 2
det(a1 + a2, b) = det(a1, b) + det(a2, b)
実はこれが行列式の全て!
detE = 1
det(b, a) = det(a, b)
det(ka, b) = k · det(a, b)
1)
2)
3)
(交代性)
(多重線形性)
det(a1 + a2, b) = det(a1, b) + det(a2, b)
1) ∼ 3) から導かれる便利な性質
4)
5)
det(a, a) = 0
det(a kb, b) = det(a, b)
計算してみよう!
1 2
3 4
1 2
3 4
1 2
3 4
=
1 2
0 4
+
0 2
3 4
3)
1 2
3 4
=
1 2
0 4
+
0 2
3 4
1 2
3 4
=
1 2
0 4
+
0 2
3 4
=
1 2
0 0
+
1 0
0 4
+
0 2
3 0
+
0 0
3 4
3)
1 2
3 4
=
1 2
0 4
+
0 2
3 4
= 0 = 0
=
1 2
0 0
+
1 0
0 4
+
0 2
3 0
+
0 0
3 4
4)
1 2
3 4
=
1 2
0 4
+
0 2
3 4
=
1 2
0 0
+
1 0
0 4
+
0 2
3 0
+
0 0
3 4
= 4
1 0
0 1
+ 2 · 3
0 1
1 0
3)
1 2
3 4
=
1 2
0 4
+
0 2
3 4
=
1 2
0 0
+
1 0
0 4
+
0 2
3 0
+
0 0
3 4
= 4
1 0
0 1
+ 2 · 3
0 1
1 0
= 4
1 0
0 1
2 · 3
1 0
0 1
2)
1 2
3 4
=
1 2
0 4
+
0 2
3 4
=
1 2
0 0
+
1 0
0 4
+
0 2
3 0
+
0 0
3 4
= 4
1 0
0 1
+ 2 · 3
0 1
1 0
= 4
1 0
0 1
2 · 3
1 0
0 1
= 1 = 11)
1 2
3 4
=
1 2
0 4
+
0 2
3 4
=
1 2
0 0
+
1 0
0 4
+
0 2
3 0
+
0 0
3 4
= 4
1 0
0 1
+ 2 · 3
0 1
1 0
= 4
1 0
0 1
2 · 3
1 0
0 1 = 2
1 2 3
4 5 6
7 8 9
1 2 3
4 5 6
7 8 9
= 1 · 5 · 9
1 0 0
0 1 0
0 0 1
+ 1 · 6 · 8
1 0 0
0 0 1
0 1 0
+2 · 4 · 9
0 1 0
1 0 0
0 0 1
+ 2 · 6 · 7
0 1 0
0 0 1
1 0 0
+3 · 4 · 8
0 0 1
1 0 0
0 1 0
+ 3 · 5 · 7
0 0 1
0 1 0
1 0 0
1 2 3
4 5 6
7 8 9
= 1 · 5 · 9
1 0 0
0 1 0
0 0 1
+ 1 · 6 · 8
1 0 0
0 0 1
0 1 0
+2 · 4 · 9
0 1 0
1 0 0
0 0 1
+ 2 · 6 · 7
0 1 0
0 0 1
1 0 0
+3 · 4 · 8
0 0 1
1 0 0
0 1 0
+ 3 · 5 · 7
0 0 1
0 1 0
1 0 0
= 1
= 1
= 1
= 1
= 1
= 1
1 2 3
4 5 6
7 8 9
= 1 · 5 · 9
1 0 0
0 1 0
0 0 1
+ 1 · 6 · 8
1 0 0
0 0 1
0 1 0
+2 · 4 · 9
0 1 0
1 0 0
0 0 1
+ 2 · 6 · 7
0 1 0
0 0 1
1 0 0
+3 · 4 · 8
0 0 1
1 0 0
0 1 0
+ 3 · 5 · 7
0 0 1
0 1 0
1 0 0
= 1 · 5 · 9 1 · 6 · 8
+2 · 6 · 7 2 · 4 · 9
+3 · 4 · 8 3 · 5 · 7 = 0
行列式計算のアルゴリズム
1. 各行から列が重複しないように成分を取り出して掛ける
2. 残った 0, 1 だけの行列式を計算する(偶数回の交代で単
位行列になる場合 1、奇数回の場合 -1)
3. これらの取り出し方の全パターンを足し合わせる
アルゴリズムを数式にすると…
detA =
X
2Sn
Y
i
ai, (i)
. . .
. . .
. . .
detA =
X
2Sn
Y
i
ai, (i)
. . .
. . .
. . .
アルゴリズムを数式にすると…
A の i 行から取り出した成分
detA =
X
2Sn
Y
i
ai, (i)
. . .
. . .
. . .
各行に渡る成分の積
アルゴリズムを数式にすると…
detA =
X
2Sn
Y
i
ai, (i)
. . .
. . .
. . .
残った 0, 1 だけの行列式
アルゴリズムを数式にすると…
detA =
X
2Sn
Y
i
ai, (i)
. . .
. . .
. . .
並べ替えの全パターンの総和
アルゴリズムを数式にすると…
アルゴリズムを数式にすると…
detA =
X
2Sn
Y
i
ai, (i)
. . .
. . .
. . .
detA =
X
2Sn
Y
i
ai, (i)
. . .
. . .
. . .
=
X
2Sn
Y
i
ai, (i)sgn( )
アルゴリズムを数式にすると…
並べ替えの「符号」
(偶数回: 1, 奇数回: -1)
1 2 3
4 5 6
7 8 9
= 1 · 5 · 9
1 0 0
0 1 0
0 0 1
+ 1 · 6 · 8
1 0 0
0 0 1
0 1 0
+2 · 4 · 9
0 1 0
1 0 0
0 0 1
+ 2 · 6 · 7
0 1 0
0 0 1
1 0 0
+3 · 4 · 8
0 0 1
1 0 0
0 1 0
+ 3 · 5 · 7
0 0 1
0 1 0
1 0 0
detA =
X
2Sn
Y
i
ai, (i)sgn( )
同じ式に見えるかな?
これが行列式の「定義」として
数学の本に出てくる
理解すべき原理はこっち:
detE = 1
det(b, a) = det(a, b)
det(ka, b) = k · det(a, b)
1)
2)
3)
(交代性)
(多重線形性)
det(a1 + a2, b) = det(a1, b) + det(a2, b)
出発点はシンプルな方が良い
宿題: 行列と行列式を好きな言語で
実装してみましょう
行列式の展開
1 2 3
4 5 6
7 8 9
= 1 · 5 · 9
1 0 0
0 1 0
0 0 1
+ 1 · 6 · 8
1 0 0
0 0 1
0 1 0
+2 · 4 · 9
0 1 0
1 0 0
0 0 1
+ 2 · 6 · 7
0 1 0
0 0 1
1 0 0
+3 · 4 · 8
0 0 1
1 0 0
0 1 0
+ 3 · 5 · 7
0 0 1
0 1 0
1 0 0
1 2 3
4 5 6
7 8 9
= 1 · 5 · 9
1 0 0
0 1 0
0 0 1
+ 1 · 6 · 8
1 0 0
0 0 1
0 1 0
+2 · 4 · 9
0 1 0
1 0 0
0 0 1
+ 2 · 6 · 7
0 1 0
0 0 1
1 0 0
+3 · 4 · 8
0 0 1
1 0 0
0 1 0
+ 3 · 5 · 7
0 0 1
0 1 0
1 0 0
1 2 3
4 5 6
7 8 9
= 1
0
@5 · 9
1 0 0
0 1 0
0 0 1
+ 6 · 8
1 0 0
0 0 1
0 1 0
1
A
+2
0
@4 · 9
0 1 0
1 0 0
0 0 1
+ 6 · 7
0 1 0
0 0 1
1 0 0
1
A
+3
0
@4 · 8
0 0 1
1 0 0
0 1 0
+ 5 · 7
0 0 1
0 1 0
1 0 0
1
A
1 2 3
4 5 6
7 8 9
= 1
0
@5 · 9
1 0 0
0 1 0
0 0 1
+ 6 · 8
1 0 0
0 0 1
0 1 0
1
A
+2
0
@4 · 9
0 1 0
1 0 0
0 0 1
+ 6 · 7
0 1 0
0 0 1
1 0 0
1
A
+3
0
@4 · 8
0 0 1
1 0 0
0 1 0
+ 5 · 7
0 0 1
0 1 0
1 0 0
1
A
1 2 3
4 5 6
7 8 9
= 1
✓
5 · 9
1 0
0 1
+ 6 · 8
0 1
1 0
◆
2
✓
4 · 9
1 0
0 1
+ 6 · 7
0 1
1 0
◆
+3
✓
4 · 8
1 0
0 1
+ 5 · 7
0 1
1 0
◆
1 2 3
4 5 6
7 8 9
= 1
✓
5 · 9
1 0
0 1
+ 6 · 8
0 1
1 0
◆
2
✓
4 · 9
1 0
0 1
+ 6 · 7
0 1
1 0
◆
+3
✓
4 · 8
1 0
0 1
+ 5 · 7
0 1
1 0
◆
1 2 3
4 5 6
7 8 9
= 1
✓
5 · 9
1 0
0 1
+ 6 · 8
0 1
1 0
◆
2
✓
4 · 9
1 0
0 1
+ 6 · 7
0 1
1 0
◆
+3
✓
4 · 8
1 0
0 1
+ 5 · 7
0 1
1 0
◆
= 1
5 6
8 9
2
4 6
7 9
+ 3
4 5
7 8
1 2 3
4 5 6
7 8 9
= 1
✓
5 · 9
1 0
0 1
+ 6 · 8
0 1
1 0
◆
2
✓
4 · 9
1 0
0 1
+ 6 · 7
0 1
1 0
◆
+3
✓
4 · 8
1 0
0 1
+ 5 · 7
0 1
1 0
◆
= 1
5 6
8 9
2
4 6
7 9
+ 3
4 5
7 8 … 第1行で展開
1 2 3
4 5 6
7 8 9
= 1 · 5 · 9
1 0 0
0 1 0
0 0 1
+ 1 · 6 · 8
1 0 0
0 0 1
0 1 0
+2 · 4 · 9
0 1 0
1 0 0
0 0 1
+ 2 · 6 · 7
0 1 0
0 0 1
1 0 0
+3 · 4 · 8
0 0 1
1 0 0
0 1 0
+ 3 · 5 · 7
0 0 1
0 1 0
1 0 0
くくり出し方を変えれば、任意の行・列で展開できる
= 2
4 6
7 9
+ 5
1 3
7 9
8
1 3
4 6
n次行列式は (n-1) 次行列式の和に展開できる
→ 再帰呼び出しでも実装できる(宿題)
そして逆行列
✓
1
0
◆
✓
0
1
◆
✓
a
0
◆
✓
0
b
◆
✓
cos ✓
sin ✓
◆
✓
sin ✓
cos ✓
◆
✓
0
1
◆
✓
1
0
◆ ✓
1
0
◆
f
逆行列:逆変換に対応する行列
f 1
A 1
=
✓
cos( ✓) sin( ✓)
sin( ✓) cos( ✓)
◆
A 1
=
✓
1/a 0
0 1/b
◆
A 1
=
✓
1 0
0 1
◆
逆変換なし!
A =
0
@
1 2 3
1 0 1
2 1 2
1
A
A =
0
@
1 2 3
1 0 1
2 1 2
1
A
0
@
x
y
z
1
A
0
@
x + 2y + z
x z
2x + y 2z
1
A
A 1
det A 0 であれば、逆行列 A-1 は取れるはず。
A 1
A = E AA 1
= E
やってみましょう。
(トリッキーなことをします)
1 2 3
1 0 1
2 1 2
= 1
0 1
1 2
2
1 1
2 2
+ 3
1 0
2 1 = 4
第1行で展開
1 2 3
1 0 1
2 1 2
= 1
0 1
1 2
2
1 1
2 2
+ 3
1 0
2 1 = 4
1 0 1
1 0 1
2 1 2
= 1
0 1
1 2
0
1 1
2 2
1
1 0
2 1
2行目を1行目にコピペ
1 2 3
1 0 1
2 1 2
= 1
0 1
1 2
2
1 1
2 2
+ 3
1 0
2 1 = 4
1 0 1
1 0 1
2 1 2
= 1
0 1
1 2
0
1 1
2 2
1
1 0
2 1 = 0
1 2 3
1 0 1
2 1 2
= 1
0 1
1 2
2
1 1
2 2
+ 3
1 0
2 1 = 4
1 0 1
1 0 1
2 1 2
= 1
0 1
1 2
0
1 1
2 2
1
1 0
2 1 = 0
同じ行が並んでいるので
計算するまでもなく 0
1 2 3
1 0 1
2 1 2
= 1
0 1
1 2
2
1 1
2 2
+ 3
1 0
2 1 = 4
1 0 1
1 0 1
2 1 2
= 1
0 1
1 2
0
1 1
2 2
1
1 0
2 1
2 1 2
1 0 1
2 1 2
= 2
0 1
1 2
1
1 1
2 2
2
1 0
2 1
= 0
= 03行目を1行目にコピペ
1 2 3
1 0 1
2 1 2
= 1
0 1
1 2
2
1 1
2 2
+ 3
1 0
2 1 = 4
1 0 1
1 0 1
2 1 2
= 1
0 1
1 2
0
1 1
2 2
1
1 0
2 1
2 1 2
1 0 1
2 1 2
= 2
0 1
1 2
1
1 1
2 2
2
1 0
2 1
= 0
= 0
1 2 3
1 0 1
2 1 2
= 1
0 1
1 2
2
1 1
2 2
+ 3
1 0
2 1 = 4
1 0 1
1 0 1
2 1 2
= 1
0 1
1 2
0
1 1
2 2
1
1 0
2 1
2 1 2
1 0 1
2 1 2
= 2
0 1
1 2
1
1 1
2 2
2
1 0
2 1
= 0
= 0
Aの要素が並んでいる…
1 2 3
1 0 1
2 1 2
= 1
0 1
1 2
2
1 1
2 2
+ 3
1 0
2 1 = 4
1 0 1
1 0 1
2 1 2
= 1
0 1
1 2
0
1 1
2 2
1
1 0
2 1
2 1 2
1 0 1
2 1 2
= 2
0 1
1 2
1
1 1
2 2
2
1 0
2 1
= 0
= 0
縦には同じ行列式…これは…!
ドーン!
0
@
1 2 3
1 0 1
2 1 2
1
A
0
B
B
B
B
B
B
B
B
B
B
@
0 1
1 2
1 1
2 2
1 0
2 1
1
C
C
C
C
C
C
C
C
C
C
A
=
0
@
4
0
0
1
A
同じことを 第2行、第3行 でもやる。
ドドーン!
0
@
1 2 3
1 0 1
2 1 2
1
A
0
B
B
B
B
B
B
B
B
B
B
@
2 3
1 2
1 3
2 2
1 2
2 1
1
C
C
C
C
C
C
C
C
C
C
A
=
0
@
0
4
0
1
A
0
@
1 2 3
1 0 1
2 1 2
1
A
0
B
B
B
B
B
B
B
B
B
B
@
2 3
0 1
1 3
1 1
1 2
1 0
1
C
C
C
C
C
C
C
C
C
C
A
=
0
@
0
0
4
1
A
全部合わせて…
0
@
1 2 3
1 0 1
2 1 2
1
A
0
B
B
B
B
B
B
B
B
B
B
@
0 1
1 2
1 1
2 2
1 0
2 1
1
C
C
C
C
C
C
C
C
C
C
A
=
0
@
4
0
0
1
A
0
@
1 2 3
1 0 1
2 1 2
1
A
0
B
B
B
B
B
B
B
B
B
B
@
2 3
1 2
1 3
2 2
1 2
2 1
1
C
C
C
C
C
C
C
C
C
C
A
=
0
@
0
4
0
1
A
0
@
1 2 3
1 0 1
2 1 2
1
A
0
B
B
B
B
B
B
B
B
B
B
@
2 3
0 1
1 3
1 1
1 2
1 0
1
C
C
C
C
C
C
C
C
C
C
A
=
0
@
0
0
4
1
A
Enter the Matrix…
0
@
1 2 3
1 0 1
2 1 2
1
A
0
B
B
B
B
B
B
B
B
B
B
@
0 1
1 2
2 3
0 1
2 3
0 1
1 1
2 2
1 3
2 2
1 3
1 1
1 0
2 1
1 2
2 1
1 2
1 0
1
C
C
C
C
C
C
C
C
C
C
A
=
0
@
4 0 0
0 4 0
0 0 4
1
A
両辺 detA = 4 で割れば…
0
@
1 2 3
1 0 1
2 1 2
1
A
0
B
B
B
B
B
B
B
B
B
B
@
0 1
1 2
2 3
0 1
2 3
0 1
1 1
2 2
1 3
2 2
1 3
1 1
1 0
2 1
1 2
2 1
1 2
1 0
1
C
C
C
C
C
C
C
C
C
C
A
=
0
@
4 0 0
0 4 0
0 0 4
1
A
detA = 4
できあがり!
0
@
1 2 3
1 0 1
2 1 2
1
A ·
1
detA
0
B
B
B
B
B
B
B
B
B
B
@
0 1
1 2
2 3
0 1
2 3
0 1
1 1
2 2
1 3
2 2
1 3
1 1
1 0
2 1
1 2
2 1
1 2
1 0
1
C
C
C
C
C
C
C
C
C
C
A
=
0
@
1 0 0
0 1 0
0 0 1
1
A
= A 1 =
1
4
0
@
1 7 1
0 8 4
1 3 2
1
A
n次行列の場合も全く同じ
(宿題ってことで)
高次元の計算にはもっと効率的な方法がある
• 余因子行列による方法 … O(n3)
• 掃き出し法 … O(n2)
• LU分解 … O(n2)
• …
まとめ
• 行列式は線形変換の特徴を表す1次元の量
• detA 0 のとき、逆変換が作れる
• 計算は機械に任せよう(仕組みが分かってれば良い)
行列式の原理:
detE = 1
det(b, a) = det(a, b)
det(ka, b) = k · det(a, b)
1)
2)
3)
(交代性)
(多重線形性)
det(a1 + a2, b) = det(a1, b) + det(a2, b)
線形変換は多変数の変換のうち最も単純なもの。
ホントは逆変換が一発で求められること自体ありがたい。
プログラマのための線形代数 再 入門 3
∼基底変換、固有値、そしてその先∼
次回予告:
Thanks!
Twitter: @taketo1024

Blog: http://taketo1024.hateblo.jp
0
@
1 2 3
1 0 1
2 1 2
1
A ·
1
detA
0
B
B
B
B
B
B
B
B
B
B
@
0 1
1 2
2 3
0 1
2 3
0 1
1 1
2 2
1 3
2 2
1 3
1 1
1 0
2 1
1 2
2 1
1 2
1 0
1
C
C
C
C
C
C
C
C
C
C
A
=
0
@
1 0 0
0 1 0
0 0 1
1
A

More Related Content

What's hot

Variational AutoEncoder
Variational AutoEncoderVariational AutoEncoder
Variational AutoEncoderKazuki Nitta
 
機械学習モデルのハイパパラメータ最適化
機械学習モデルのハイパパラメータ最適化機械学習モデルのハイパパラメータ最適化
機械学習モデルのハイパパラメータ最適化gree_tech
 
スペクトラルグラフ理論入門
スペクトラルグラフ理論入門スペクトラルグラフ理論入門
スペクトラルグラフ理論入門irrrrr
 
機械学習プロフェッショナルシリーズ輪読会 #5 異常検知と変化検知 Chapter 1 & 2 資料
機械学習プロフェッショナルシリーズ輪読会 #5 異常検知と変化検知 Chapter 1 & 2 資料機械学習プロフェッショナルシリーズ輪読会 #5 異常検知と変化検知 Chapter 1 & 2 資料
機械学習プロフェッショナルシリーズ輪読会 #5 異常検知と変化検知 Chapter 1 & 2 資料at grandpa
 
ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介Naoki Hayashi
 
[DL輪読会]Deep Learning 第2章 線形代数
[DL輪読会]Deep Learning 第2章 線形代数[DL輪読会]Deep Learning 第2章 線形代数
[DL輪読会]Deep Learning 第2章 線形代数Deep Learning JP
 
15分でわかる(範囲の)ベイズ統計学
15分でわかる(範囲の)ベイズ統計学15分でわかる(範囲の)ベイズ統計学
15分でわかる(範囲の)ベイズ統計学Ken'ichi Matsui
 
Math in Machine Learning / PCA and SVD with Applications
Math in Machine Learning / PCA and SVD with ApplicationsMath in Machine Learning / PCA and SVD with Applications
Math in Machine Learning / PCA and SVD with ApplicationsKenji Hiranabe
 
【解説】 一般逆行列
【解説】 一般逆行列【解説】 一般逆行列
【解説】 一般逆行列Kenjiro Sugimoto
 
猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoder猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoderSho Tatsuno
 
NLPにおけるAttention~Seq2Seq から BERTまで~
NLPにおけるAttention~Seq2Seq から BERTまで~NLPにおけるAttention~Seq2Seq から BERTまで~
NLPにおけるAttention~Seq2Seq から BERTまで~Takuya Ono
 
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料 「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料 Ken'ichi Matsui
 
論文紹介 Anomaly Detection using One-Class Neural Networks (修正版
論文紹介 Anomaly Detection using One-Class Neural Networks (修正版論文紹介 Anomaly Detection using One-Class Neural Networks (修正版
論文紹介 Anomaly Detection using One-Class Neural Networks (修正版Katsuki Ohto
 
ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定Akira Masuda
 
[DL輪読会]Learning Transferable Visual Models From Natural Language Supervision
[DL輪読会]Learning Transferable Visual Models From Natural Language Supervision[DL輪読会]Learning Transferable Visual Models From Natural Language Supervision
[DL輪読会]Learning Transferable Visual Models From Natural Language SupervisionDeep Learning JP
 
3分でわかる多項分布とディリクレ分布
3分でわかる多項分布とディリクレ分布3分でわかる多項分布とディリクレ分布
3分でわかる多項分布とディリクレ分布Junya Saito
 
最適輸送の計算アルゴリズムの研究動向
最適輸送の計算アルゴリズムの研究動向最適輸送の計算アルゴリズムの研究動向
最適輸送の計算アルゴリズムの研究動向ohken
 
パターン認識と機械学習入門
パターン認識と機械学習入門パターン認識と機械学習入門
パターン認識と機械学習入門Momoko Hayamizu
 
よくわかるフリストンの自由エネルギー原理
よくわかるフリストンの自由エネルギー原理よくわかるフリストンの自由エネルギー原理
よくわかるフリストンの自由エネルギー原理Masatoshi Yoshida
 
深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで
深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで
深層学習による自然言語処理入門: word2vecからBERT, GPT-3までYahoo!デベロッパーネットワーク
 

What's hot (20)

Variational AutoEncoder
Variational AutoEncoderVariational AutoEncoder
Variational AutoEncoder
 
機械学習モデルのハイパパラメータ最適化
機械学習モデルのハイパパラメータ最適化機械学習モデルのハイパパラメータ最適化
機械学習モデルのハイパパラメータ最適化
 
スペクトラルグラフ理論入門
スペクトラルグラフ理論入門スペクトラルグラフ理論入門
スペクトラルグラフ理論入門
 
機械学習プロフェッショナルシリーズ輪読会 #5 異常検知と変化検知 Chapter 1 & 2 資料
機械学習プロフェッショナルシリーズ輪読会 #5 異常検知と変化検知 Chapter 1 & 2 資料機械学習プロフェッショナルシリーズ輪読会 #5 異常検知と変化検知 Chapter 1 & 2 資料
機械学習プロフェッショナルシリーズ輪読会 #5 異常検知と変化検知 Chapter 1 & 2 資料
 
ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介
 
[DL輪読会]Deep Learning 第2章 線形代数
[DL輪読会]Deep Learning 第2章 線形代数[DL輪読会]Deep Learning 第2章 線形代数
[DL輪読会]Deep Learning 第2章 線形代数
 
15分でわかる(範囲の)ベイズ統計学
15分でわかる(範囲の)ベイズ統計学15分でわかる(範囲の)ベイズ統計学
15分でわかる(範囲の)ベイズ統計学
 
Math in Machine Learning / PCA and SVD with Applications
Math in Machine Learning / PCA and SVD with ApplicationsMath in Machine Learning / PCA and SVD with Applications
Math in Machine Learning / PCA and SVD with Applications
 
【解説】 一般逆行列
【解説】 一般逆行列【解説】 一般逆行列
【解説】 一般逆行列
 
猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoder猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoder
 
NLPにおけるAttention~Seq2Seq から BERTまで~
NLPにおけるAttention~Seq2Seq から BERTまで~NLPにおけるAttention~Seq2Seq から BERTまで~
NLPにおけるAttention~Seq2Seq から BERTまで~
 
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料 「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
 
論文紹介 Anomaly Detection using One-Class Neural Networks (修正版
論文紹介 Anomaly Detection using One-Class Neural Networks (修正版論文紹介 Anomaly Detection using One-Class Neural Networks (修正版
論文紹介 Anomaly Detection using One-Class Neural Networks (修正版
 
ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定
 
[DL輪読会]Learning Transferable Visual Models From Natural Language Supervision
[DL輪読会]Learning Transferable Visual Models From Natural Language Supervision[DL輪読会]Learning Transferable Visual Models From Natural Language Supervision
[DL輪読会]Learning Transferable Visual Models From Natural Language Supervision
 
3分でわかる多項分布とディリクレ分布
3分でわかる多項分布とディリクレ分布3分でわかる多項分布とディリクレ分布
3分でわかる多項分布とディリクレ分布
 
最適輸送の計算アルゴリズムの研究動向
最適輸送の計算アルゴリズムの研究動向最適輸送の計算アルゴリズムの研究動向
最適輸送の計算アルゴリズムの研究動向
 
パターン認識と機械学習入門
パターン認識と機械学習入門パターン認識と機械学習入門
パターン認識と機械学習入門
 
よくわかるフリストンの自由エネルギー原理
よくわかるフリストンの自由エネルギー原理よくわかるフリストンの自由エネルギー原理
よくわかるフリストンの自由エネルギー原理
 
深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで
深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで
深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで
 

Similar to プログラマのための線形代数再入門2 〜 要件定義から学ぶ行列式と逆行列

算数で体感する高度数学
算数で体感する高度数学算数で体感する高度数学
算数で体感する高度数学Arithmer Inc.
 
トーナメントは運か実力か
トーナメントは運か実力かトーナメントは運か実力か
トーナメントは運か実力かKazuro Fukuhara
 
ゼータへ続く素数の階段物語 第13回 数学カフェ「素数!!」
ゼータへ続く素数の階段物語 第13回 数学カフェ「素数!!」ゼータへ続く素数の階段物語 第13回 数学カフェ「素数!!」
ゼータへ続く素数の階段物語 第13回 数学カフェ「素数!!」Junpei Tsuji
 
Operations research yonezawa_no2
Operations research yonezawa_no2Operations research yonezawa_no2
Operations research yonezawa_no2ssuser0bebd2
 
九九の表についての研究
九九の表についての研究九九の表についての研究
九九の表についての研究Tomoyoshi HIRATA
 
KMC JavaScriptから始めるプログラミング2016 第一回
KMC JavaScriptから始めるプログラミング2016 第一回KMC JavaScriptから始めるプログラミング2016 第一回
KMC JavaScriptから始めるプログラミング2016 第一回kyoto university
 
【Unity道場】ゲーム制作に使う数学を学習しよう
【Unity道場】ゲーム制作に使う数学を学習しよう【Unity道場】ゲーム制作に使う数学を学習しよう
【Unity道場】ゲーム制作に使う数学を学習しようUnity Technologies Japan K.K.
 
2分木の演習問題[アルゴリズムとデータ構造]
2分木の演習問題[アルゴリズムとデータ構造]2分木の演習問題[アルゴリズムとデータ構造]
2分木の演習問題[アルゴリズムとデータ構造]Hagihara Ryosuke
 
アルゴリズムイントロダクション15章 動的計画法
アルゴリズムイントロダクション15章 動的計画法アルゴリズムイントロダクション15章 動的計画法
アルゴリズムイントロダクション15章 動的計画法nitoyon
 
スプラトゥーン2 × 数学(訂正版)
スプラトゥーン2 × 数学(訂正版)スプラトゥーン2 × 数学(訂正版)
スプラトゥーン2 × 数学(訂正版)Takunology
 
機械学習を学ぶための準備 その4 (行列の掛け算について) 試験問題 解答
機械学習を学ぶための準備 その4  (行列の掛け算について) 試験問題 解答機械学習を学ぶための準備 その4  (行列の掛け算について) 試験問題 解答
機械学習を学ぶための準備 その4 (行列の掛け算について) 試験問題 解答NHN テコラス株式会社
 
「時計の世界の整数論」第2回プログラマのための数学勉強会 #maths4pg
「時計の世界の整数論」第2回プログラマのための数学勉強会 #maths4pg「時計の世界の整数論」第2回プログラマのための数学勉強会 #maths4pg
「時計の世界の整数論」第2回プログラマのための数学勉強会 #maths4pgJunpei Tsuji
 
「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)
「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)
「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)Kensuke Otsuki
 
Computing for Isogeny Kernel Problem by Groebner Basis
Computing for Isogeny Kernel Problem by Groebner BasisComputing for Isogeny Kernel Problem by Groebner Basis
Computing for Isogeny Kernel Problem by Groebner BasisYasu Math
 
S1_第2回DSEカンファレンス資料_okura
S1_第2回DSEカンファレンス資料_okuraS1_第2回DSEカンファレンス資料_okura
S1_第2回DSEカンファレンス資料_okurayoroz okura
 
「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」
「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」
「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」Nagi Teramo
 

Similar to プログラマのための線形代数再入門2 〜 要件定義から学ぶ行列式と逆行列 (20)

算数で体感する高度数学
算数で体感する高度数学算数で体感する高度数学
算数で体感する高度数学
 
トーナメントは運か実力か
トーナメントは運か実力かトーナメントは運か実力か
トーナメントは運か実力か
 
平方剰余
平方剰余平方剰余
平方剰余
 
ゼータへ続く素数の階段物語 第13回 数学カフェ「素数!!」
ゼータへ続く素数の階段物語 第13回 数学カフェ「素数!!」ゼータへ続く素数の階段物語 第13回 数学カフェ「素数!!」
ゼータへ続く素数の階段物語 第13回 数学カフェ「素数!!」
 
Operations research yonezawa_no2
Operations research yonezawa_no2Operations research yonezawa_no2
Operations research yonezawa_no2
 
九九の表についての研究
九九の表についての研究九九の表についての研究
九九の表についての研究
 
KMC JavaScriptから始めるプログラミング2016 第一回
KMC JavaScriptから始めるプログラミング2016 第一回KMC JavaScriptから始めるプログラミング2016 第一回
KMC JavaScriptから始めるプログラミング2016 第一回
 
【Unity道場】ゲーム制作に使う数学を学習しよう
【Unity道場】ゲーム制作に使う数学を学習しよう【Unity道場】ゲーム制作に使う数学を学習しよう
【Unity道場】ゲーム制作に使う数学を学習しよう
 
Matrix
MatrixMatrix
Matrix
 
2分木の演習問題[アルゴリズムとデータ構造]
2分木の演習問題[アルゴリズムとデータ構造]2分木の演習問題[アルゴリズムとデータ構造]
2分木の演習問題[アルゴリズムとデータ構造]
 
C02
C02C02
C02
 
アルゴリズムイントロダクション15章 動的計画法
アルゴリズムイントロダクション15章 動的計画法アルゴリズムイントロダクション15章 動的計画法
アルゴリズムイントロダクション15章 動的計画法
 
スプラトゥーン2 × 数学(訂正版)
スプラトゥーン2 × 数学(訂正版)スプラトゥーン2 × 数学(訂正版)
スプラトゥーン2 × 数学(訂正版)
 
機械学習を学ぶための準備 その4 (行列の掛け算について) 試験問題 解答
機械学習を学ぶための準備 その4  (行列の掛け算について) 試験問題 解答機械学習を学ぶための準備 その4  (行列の掛け算について) 試験問題 解答
機械学習を学ぶための準備 その4 (行列の掛け算について) 試験問題 解答
 
「時計の世界の整数論」第2回プログラマのための数学勉強会 #maths4pg
「時計の世界の整数論」第2回プログラマのための数学勉強会 #maths4pg「時計の世界の整数論」第2回プログラマのための数学勉強会 #maths4pg
「時計の世界の整数論」第2回プログラマのための数学勉強会 #maths4pg
 
R language definition3.1_3.2
R language definition3.1_3.2R language definition3.1_3.2
R language definition3.1_3.2
 
「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)
「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)
「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)
 
Computing for Isogeny Kernel Problem by Groebner Basis
Computing for Isogeny Kernel Problem by Groebner BasisComputing for Isogeny Kernel Problem by Groebner Basis
Computing for Isogeny Kernel Problem by Groebner Basis
 
S1_第2回DSEカンファレンス資料_okura
S1_第2回DSEカンファレンス資料_okuraS1_第2回DSEカンファレンス資料_okura
S1_第2回DSEカンファレンス資料_okura
 
「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」
「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」
「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」
 

More from Taketo Sano

Divisibility of Lee’s class and its relation with Rasmussen’s invariant / 201...
Divisibility of Lee’s class and its relation with Rasmussen’s invariant / 201...Divisibility of Lee’s class and its relation with Rasmussen’s invariant / 201...
Divisibility of Lee’s class and its relation with Rasmussen’s invariant / 201...Taketo Sano
 
トポロジーと圏論の夜明け
トポロジーと圏論の夜明けトポロジーと圏論の夜明け
トポロジーと圏論の夜明けTaketo Sano
 
Swift で数学研究のススメ
Swift で数学研究のススメSwift で数学研究のススメ
Swift で数学研究のススメTaketo Sano
 
(意欲的な中高生のための)トポロジー・圏論・コンピュータ
(意欲的な中高生のための)トポロジー・圏論・コンピュータ(意欲的な中高生のための)トポロジー・圏論・コンピュータ
(意欲的な中高生のための)トポロジー・圏論・コンピュータTaketo Sano
 
特性類の気持ち
特性類の気持ち特性類の気持ち
特性類の気持ちTaketo Sano
 
Swift で数学のススメ 〜 プログラミングと数学は同時に学べ
Swift で数学のススメ 〜 プログラミングと数学は同時に学べSwift で数学のススメ 〜 プログラミングと数学は同時に学べ
Swift で数学のススメ 〜 プログラミングと数学は同時に学べTaketo Sano
 
山手線は丸いのか?プログラマのためのトポロジー入門
山手線は丸いのか?プログラマのためのトポロジー入門山手線は丸いのか?プログラマのためのトポロジー入門
山手線は丸いのか?プログラマのためのトポロジー入門Taketo Sano
 
何もないところから数を作る
何もないところから数を作る何もないところから数を作る
何もないところから数を作るTaketo Sano
 
「数える」とは何か? 〜 「とは何か?」を問う、AI時代の数学
「数える」とは何か? 〜 「とは何か?」を問う、AI時代の数学「数える」とは何か? 〜 「とは何か?」を問う、AI時代の数学
「数える」とは何か? 〜 「とは何か?」を問う、AI時代の数学Taketo Sano
 
情報幾何学 #2.4
情報幾何学 #2.4情報幾何学 #2.4
情報幾何学 #2.4Taketo Sano
 
情報幾何学 #2 #infogeo16
情報幾何学 #2 #infogeo16情報幾何学 #2 #infogeo16
情報幾何学 #2 #infogeo16Taketo Sano
 
objc2swift 〜 Objective-C から Swift への「コード&パラダイム」シフト
objc2swift 〜 Objective-C から Swift への「コード&パラダイム」シフトobjc2swift 〜 Objective-C から Swift への「コード&パラダイム」シフト
objc2swift 〜 Objective-C から Swift への「コード&パラダイム」シフトTaketo Sano
 
何もないところから数を作る
何もないところから数を作る何もないところから数を作る
何もないところから数を作るTaketo Sano
 
objc2swift (続・自動変換の野望)
objc2swift (続・自動変換の野望) objc2swift (続・自動変換の野望)
objc2swift (続・自動変換の野望) Taketo Sano
 
さらに上を目指すための iOS アプリ設計
さらに上を目指すための iOS アプリ設計さらに上を目指すための iOS アプリ設計
さらに上を目指すための iOS アプリ設計Taketo Sano
 
objc2swift (自動変換の野望)
objc2swift (自動変換の野望)objc2swift (自動変換の野望)
objc2swift (自動変換の野望)Taketo Sano
 
2015 02-18 xxx-literalconvertible
2015 02-18 xxx-literalconvertible2015 02-18 xxx-literalconvertible
2015 02-18 xxx-literalconvertibleTaketo Sano
 
let UIWebView as WKWebView
let UIWebView as WKWebViewlet UIWebView as WKWebView
let UIWebView as WKWebViewTaketo Sano
 
コードを書けば複素数がわかる
コードを書けば複素数がわかるコードを書けば複素数がわかる
コードを書けば複素数がわかるTaketo Sano
 
虚数は作れる!Swift で学ぶ複素数
虚数は作れる!Swift で学ぶ複素数虚数は作れる!Swift で学ぶ複素数
虚数は作れる!Swift で学ぶ複素数Taketo Sano
 

More from Taketo Sano (20)

Divisibility of Lee’s class and its relation with Rasmussen’s invariant / 201...
Divisibility of Lee’s class and its relation with Rasmussen’s invariant / 201...Divisibility of Lee’s class and its relation with Rasmussen’s invariant / 201...
Divisibility of Lee’s class and its relation with Rasmussen’s invariant / 201...
 
トポロジーと圏論の夜明け
トポロジーと圏論の夜明けトポロジーと圏論の夜明け
トポロジーと圏論の夜明け
 
Swift で数学研究のススメ
Swift で数学研究のススメSwift で数学研究のススメ
Swift で数学研究のススメ
 
(意欲的な中高生のための)トポロジー・圏論・コンピュータ
(意欲的な中高生のための)トポロジー・圏論・コンピュータ(意欲的な中高生のための)トポロジー・圏論・コンピュータ
(意欲的な中高生のための)トポロジー・圏論・コンピュータ
 
特性類の気持ち
特性類の気持ち特性類の気持ち
特性類の気持ち
 
Swift で数学のススメ 〜 プログラミングと数学は同時に学べ
Swift で数学のススメ 〜 プログラミングと数学は同時に学べSwift で数学のススメ 〜 プログラミングと数学は同時に学べ
Swift で数学のススメ 〜 プログラミングと数学は同時に学べ
 
山手線は丸いのか?プログラマのためのトポロジー入門
山手線は丸いのか?プログラマのためのトポロジー入門山手線は丸いのか?プログラマのためのトポロジー入門
山手線は丸いのか?プログラマのためのトポロジー入門
 
何もないところから数を作る
何もないところから数を作る何もないところから数を作る
何もないところから数を作る
 
「数える」とは何か? 〜 「とは何か?」を問う、AI時代の数学
「数える」とは何か? 〜 「とは何か?」を問う、AI時代の数学「数える」とは何か? 〜 「とは何か?」を問う、AI時代の数学
「数える」とは何か? 〜 「とは何か?」を問う、AI時代の数学
 
情報幾何学 #2.4
情報幾何学 #2.4情報幾何学 #2.4
情報幾何学 #2.4
 
情報幾何学 #2 #infogeo16
情報幾何学 #2 #infogeo16情報幾何学 #2 #infogeo16
情報幾何学 #2 #infogeo16
 
objc2swift 〜 Objective-C から Swift への「コード&パラダイム」シフト
objc2swift 〜 Objective-C から Swift への「コード&パラダイム」シフトobjc2swift 〜 Objective-C から Swift への「コード&パラダイム」シフト
objc2swift 〜 Objective-C から Swift への「コード&パラダイム」シフト
 
何もないところから数を作る
何もないところから数を作る何もないところから数を作る
何もないところから数を作る
 
objc2swift (続・自動変換の野望)
objc2swift (続・自動変換の野望) objc2swift (続・自動変換の野望)
objc2swift (続・自動変換の野望)
 
さらに上を目指すための iOS アプリ設計
さらに上を目指すための iOS アプリ設計さらに上を目指すための iOS アプリ設計
さらに上を目指すための iOS アプリ設計
 
objc2swift (自動変換の野望)
objc2swift (自動変換の野望)objc2swift (自動変換の野望)
objc2swift (自動変換の野望)
 
2015 02-18 xxx-literalconvertible
2015 02-18 xxx-literalconvertible2015 02-18 xxx-literalconvertible
2015 02-18 xxx-literalconvertible
 
let UIWebView as WKWebView
let UIWebView as WKWebViewlet UIWebView as WKWebView
let UIWebView as WKWebView
 
コードを書けば複素数がわかる
コードを書けば複素数がわかるコードを書けば複素数がわかる
コードを書けば複素数がわかる
 
虚数は作れる!Swift で学ぶ複素数
虚数は作れる!Swift で学ぶ複素数虚数は作れる!Swift で学ぶ複素数
虚数は作れる!Swift で学ぶ複素数
 

Recently uploaded

ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ssusere0a682
 
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料Takayuki Itoh
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationYukiTerazawa
 
UniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptUniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptyuitoakatsukijp
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2Tokyo Institute of Technology
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024koheioishi1
 
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ssusere0a682
 

Recently uploaded (7)

ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
 
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
 
UniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptUniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScript
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
 
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
 

プログラマのための線形代数再入門2 〜 要件定義から学ぶ行列式と逆行列