Soumettre la recherche
Mettre en ligne
プログラマのための線形代数再入門
•
317 j'aime
•
54,000 vues
Taketo Sano
Suivre
2015/1/30 「プログラマのための数学勉強会」にて発表。 動画: https://www.youtube.com/watch?v=hyzotMaTtPg
Lire moins
Lire la suite
Sciences
Signaler
Partager
Signaler
Partager
1 sur 81
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
プログラマのための線形代数再入門2 〜 要件定義から学ぶ行列式と逆行列
プログラマのための線形代数再入門2 〜 要件定義から学ぶ行列式と逆行列
Taketo Sano
Word2vecの並列実行時の学習速度の改善
Word2vecの並列実行時の学習速度の改善
Naoaki Okazaki
基底変換、固有値・固有ベクトル、そしてその先
基底変換、固有値・固有ベクトル、そしてその先
Taketo Sano
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
Ken'ichi Matsui
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
Ken'ichi Matsui
ブースティング入門
ブースティング入門
Retrieva inc.
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)
Takao Yamanaka
区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)
区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)
Kensuke Otsuki
Recommandé
プログラマのための線形代数再入門2 〜 要件定義から学ぶ行列式と逆行列
プログラマのための線形代数再入門2 〜 要件定義から学ぶ行列式と逆行列
Taketo Sano
Word2vecの並列実行時の学習速度の改善
Word2vecの並列実行時の学習速度の改善
Naoaki Okazaki
基底変換、固有値・固有ベクトル、そしてその先
基底変換、固有値・固有ベクトル、そしてその先
Taketo Sano
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
Ken'ichi Matsui
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
Ken'ichi Matsui
ブースティング入門
ブースティング入門
Retrieva inc.
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)
Takao Yamanaka
区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)
区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)
Kensuke Otsuki
プログラミングコンテストでの動的計画法
プログラミングコンテストでの動的計画法
Takuya Akiba
ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介
Naoki Hayashi
勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは
Takuya Akiba
Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...
Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...
joisino
機械学習モデルのハイパパラメータ最適化
機械学習モデルのハイパパラメータ最適化
gree_tech
充足可能性問題のいろいろ
充足可能性問題のいろいろ
Hiroshi Yamashita
Rでisomap(多様体学習のはなし)
Rでisomap(多様体学習のはなし)
Kohta Ishikawa
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門
ryosuke-kojima
統計的因果推論 勉強用 isseing333
統計的因果推論 勉強用 isseing333
Issei Kurahashi
レコメンドアルゴリズムの基本と周辺知識と実装方法
レコメンドアルゴリズムの基本と周辺知識と実装方法
Takeshi Mikami
最適輸送の解き方
最適輸送の解き方
joisino
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
mlm_kansai
coordinate descent 法について
coordinate descent 法について
京都大学大学院情報学研究科数理工学専攻
SGD+α: 確率的勾配降下法の現在と未来
SGD+α: 確率的勾配降下法の現在と未来
Hidekazu Oiwa
Jubatus Casual Talks #2 異常検知入門
Jubatus Casual Talks #2 異常検知入門
Shohei Hido
Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...
Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...
Hideki Tsunashima
異常検知と変化検知 9章 部分空間法による変化点検知
異常検知と変化検知 9章 部分空間法による変化点検知
hagino 3000
機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)
Kota Matsui
最適輸送の計算アルゴリズムの研究動向
最適輸送の計算アルゴリズムの研究動向
ohken
リクルート式 自然言語処理技術の適応事例紹介
リクルート式 自然言語処理技術の適応事例紹介
Recruit Technologies
ゲーム開発におけるバックトラック法
ゲーム開発におけるバックトラック法
大介 束田
「明日話したくなる「素数」のお話」第1回プログラマのための数学勉強会 #maths4pg
「明日話したくなる「素数」のお話」第1回プログラマのための数学勉強会 #maths4pg
Junpei Tsuji
Contenu connexe
Tendances
プログラミングコンテストでの動的計画法
プログラミングコンテストでの動的計画法
Takuya Akiba
ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介
Naoki Hayashi
勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは
Takuya Akiba
Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...
Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...
joisino
機械学習モデルのハイパパラメータ最適化
機械学習モデルのハイパパラメータ最適化
gree_tech
充足可能性問題のいろいろ
充足可能性問題のいろいろ
Hiroshi Yamashita
Rでisomap(多様体学習のはなし)
Rでisomap(多様体学習のはなし)
Kohta Ishikawa
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門
ryosuke-kojima
統計的因果推論 勉強用 isseing333
統計的因果推論 勉強用 isseing333
Issei Kurahashi
レコメンドアルゴリズムの基本と周辺知識と実装方法
レコメンドアルゴリズムの基本と周辺知識と実装方法
Takeshi Mikami
最適輸送の解き方
最適輸送の解き方
joisino
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
mlm_kansai
coordinate descent 法について
coordinate descent 法について
京都大学大学院情報学研究科数理工学専攻
SGD+α: 確率的勾配降下法の現在と未来
SGD+α: 確率的勾配降下法の現在と未来
Hidekazu Oiwa
Jubatus Casual Talks #2 異常検知入門
Jubatus Casual Talks #2 異常検知入門
Shohei Hido
Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...
Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...
Hideki Tsunashima
異常検知と変化検知 9章 部分空間法による変化点検知
異常検知と変化検知 9章 部分空間法による変化点検知
hagino 3000
機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)
Kota Matsui
最適輸送の計算アルゴリズムの研究動向
最適輸送の計算アルゴリズムの研究動向
ohken
リクルート式 自然言語処理技術の適応事例紹介
リクルート式 自然言語処理技術の適応事例紹介
Recruit Technologies
Tendances
(20)
プログラミングコンテストでの動的計画法
プログラミングコンテストでの動的計画法
ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介
勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは
Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...
Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...
機械学習モデルのハイパパラメータ最適化
機械学習モデルのハイパパラメータ最適化
充足可能性問題のいろいろ
充足可能性問題のいろいろ
Rでisomap(多様体学習のはなし)
Rでisomap(多様体学習のはなし)
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門
統計的因果推論 勉強用 isseing333
統計的因果推論 勉強用 isseing333
レコメンドアルゴリズムの基本と周辺知識と実装方法
レコメンドアルゴリズムの基本と周辺知識と実装方法
最適輸送の解き方
最適輸送の解き方
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
coordinate descent 法について
coordinate descent 法について
SGD+α: 確率的勾配降下法の現在と未来
SGD+α: 確率的勾配降下法の現在と未来
Jubatus Casual Talks #2 異常検知入門
Jubatus Casual Talks #2 異常検知入門
Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...
Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...
異常検知と変化検知 9章 部分空間法による変化点検知
異常検知と変化検知 9章 部分空間法による変化点検知
機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)
最適輸送の計算アルゴリズムの研究動向
最適輸送の計算アルゴリズムの研究動向
リクルート式 自然言語処理技術の適応事例紹介
リクルート式 自然言語処理技術の適応事例紹介
En vedette
ゲーム開発におけるバックトラック法
ゲーム開発におけるバックトラック法
大介 束田
「明日話したくなる「素数」のお話」第1回プログラマのための数学勉強会 #maths4pg
「明日話したくなる「素数」のお話」第1回プログラマのための数学勉強会 #maths4pg
Junpei Tsuji
偶然にも500万個のSSH公開鍵を手に入れた俺たちは
偶然にも500万個のSSH公開鍵を手に入れた俺たちは
Yoshio Hanawa
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割
Toru Yamaguchi
プログラム組んだら負け!実はHTML/CSSだけでできること2015夏
プログラム組んだら負け!実はHTML/CSSだけでできること2015夏
Yusuke Hirao
運用に自動化を求めるのは間違っているだろうか
運用に自動化を求めるのは間違っているだろうか
Masahito Zembutsu
実践イカパケット解析
実践イカパケット解析
Yuki Mizuno
MySQLテーブル設計入門
MySQLテーブル設計入門
yoku0825
ウェブパフォーマンスの基礎とこれから
ウェブパフォーマンスの基礎とこれから
Hiroshi Kawada
AutoEncoderで特徴抽出
AutoEncoderで特徴抽出
Kai Sasaki
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
Yuta Imai
Webアプリケーション負荷試験実践入門
Webアプリケーション負荷試験実践入門
樽八 仲川
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
慎一 古賀
「スプラトゥーン」リアルタイム画像解析ツール 「IkaLog」の裏側
「スプラトゥーン」リアルタイム画像解析ツール 「IkaLog」の裏側
Takeshi HASEGAWA
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
人は一ヶ月でエンジニアになれるのか - 詳細解説
人は一ヶ月でエンジニアになれるのか - 詳細解説
Livesense Inc.
中の下のエンジニアを脱出するための仕事術
中の下のエンジニアを脱出するための仕事術
Noriaki Kadota
SSL/TLSの基礎と最新動向
SSL/TLSの基礎と最新動向
shigeki_ohtsu
MySQL 5.7の罠があなたを狙っている
MySQL 5.7の罠があなたを狙っている
yoku0825
フーリエ変換と画像圧縮の仕組み
フーリエ変換と画像圧縮の仕組み
yuichi takeda
En vedette
(20)
ゲーム開発におけるバックトラック法
ゲーム開発におけるバックトラック法
「明日話したくなる「素数」のお話」第1回プログラマのための数学勉強会 #maths4pg
「明日話したくなる「素数」のお話」第1回プログラマのための数学勉強会 #maths4pg
偶然にも500万個のSSH公開鍵を手に入れた俺たちは
偶然にも500万個のSSH公開鍵を手に入れた俺たちは
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割
プログラム組んだら負け!実はHTML/CSSだけでできること2015夏
プログラム組んだら負け!実はHTML/CSSだけでできること2015夏
運用に自動化を求めるのは間違っているだろうか
運用に自動化を求めるのは間違っているだろうか
実践イカパケット解析
実践イカパケット解析
MySQLテーブル設計入門
MySQLテーブル設計入門
ウェブパフォーマンスの基礎とこれから
ウェブパフォーマンスの基礎とこれから
AutoEncoderで特徴抽出
AutoEncoderで特徴抽出
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
Webアプリケーション負荷試験実践入門
Webアプリケーション負荷試験実践入門
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
「スプラトゥーン」リアルタイム画像解析ツール 「IkaLog」の裏側
「スプラトゥーン」リアルタイム画像解析ツール 「IkaLog」の裏側
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
人は一ヶ月でエンジニアになれるのか - 詳細解説
人は一ヶ月でエンジニアになれるのか - 詳細解説
中の下のエンジニアを脱出するための仕事術
中の下のエンジニアを脱出するための仕事術
SSL/TLSの基礎と最新動向
SSL/TLSの基礎と最新動向
MySQL 5.7の罠があなたを狙っている
MySQL 5.7の罠があなたを狙っている
フーリエ変換と画像圧縮の仕組み
フーリエ変換と画像圧縮の仕組み
Similaire à プログラマのための線形代数再入門
Operations research yonezawa_no2
Operations research yonezawa_no2
ssuser0bebd2
平方剰余
平方剰余
Arisa Niitsuma
トーナメントは運か実力か
トーナメントは運か実力か
Kazuro Fukuhara
KMC JavaScriptから始めるプログラミング2016 第一回
KMC JavaScriptから始めるプログラミング2016 第一回
kyoto university
Operations research yonezawa_no1
Operations research yonezawa_no1
ssuser0bebd2
暗号技術の実装と数学
暗号技術の実装と数学
MITSUNARI Shigeo
Similaire à プログラマのための線形代数再入門
(6)
Operations research yonezawa_no2
Operations research yonezawa_no2
平方剰余
平方剰余
トーナメントは運か実力か
トーナメントは運か実力か
KMC JavaScriptから始めるプログラミング2016 第一回
KMC JavaScriptから始めるプログラミング2016 第一回
Operations research yonezawa_no1
Operations research yonezawa_no1
暗号技術の実装と数学
暗号技術の実装と数学
Plus de 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...
Taketo Sano
トポロジーと圏論の夜明け
トポロジーと圏論の夜明け
Taketo Sano
Swift で数学研究のススメ
Swift で数学研究のススメ
Taketo Sano
(意欲的な中高生のための)トポロジー・圏論・コンピュータ
(意欲的な中高生のための)トポロジー・圏論・コンピュータ
Taketo Sano
特性類の気持ち
特性類の気持ち
Taketo Sano
Swift で数学のススメ 〜 プログラミングと数学は同時に学べ
Swift で数学のススメ 〜 プログラミングと数学は同時に学べ
Taketo Sano
山手線は丸いのか?プログラマのためのトポロジー入門
山手線は丸いのか?プログラマのためのトポロジー入門
Taketo Sano
何もないところから数を作る
何もないところから数を作る
Taketo Sano
「数える」とは何か? 〜 「とは何か?」を問う、AI時代の数学
「数える」とは何か? 〜 「とは何か?」を問う、AI時代の数学
Taketo Sano
情報幾何学 #2.4
情報幾何学 #2.4
Taketo Sano
情報幾何学 #2 #infogeo16
情報幾何学 #2 #infogeo16
Taketo Sano
objc2swift 〜 Objective-C から Swift への「コード&パラダイム」シフト
objc2swift 〜 Objective-C から Swift への「コード&パラダイム」シフト
Taketo Sano
何もないところから数を作る
何もないところから数を作る
Taketo Sano
objc2swift (続・自動変換の野望)
objc2swift (続・自動変換の野望)
Taketo Sano
さらに上を目指すための iOS アプリ設計
さらに上を目指すための iOS アプリ設計
Taketo Sano
objc2swift (自動変換の野望)
objc2swift (自動変換の野望)
Taketo Sano
2015 02-18 xxx-literalconvertible
2015 02-18 xxx-literalconvertible
Taketo Sano
let UIWebView as WKWebView
let UIWebView as WKWebView
Taketo Sano
コードを書けば複素数がわかる
コードを書けば複素数がわかる
Taketo Sano
虚数は作れる!Swift で学ぶ複素数
虚数は作れる!Swift で学ぶ複素数
Taketo Sano
Plus de 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...
トポロジーと圏論の夜明け
トポロジーと圏論の夜明け
Swift で数学研究のススメ
Swift で数学研究のススメ
(意欲的な中高生のための)トポロジー・圏論・コンピュータ
(意欲的な中高生のための)トポロジー・圏論・コンピュータ
特性類の気持ち
特性類の気持ち
Swift で数学のススメ 〜 プログラミングと数学は同時に学べ
Swift で数学のススメ 〜 プログラミングと数学は同時に学べ
山手線は丸いのか?プログラマのためのトポロジー入門
山手線は丸いのか?プログラマのためのトポロジー入門
何もないところから数を作る
何もないところから数を作る
「数える」とは何か? 〜 「とは何か?」を問う、AI時代の数学
「数える」とは何か? 〜 「とは何か?」を問う、AI時代の数学
情報幾何学 #2.4
情報幾何学 #2.4
情報幾何学 #2 #infogeo16
情報幾何学 #2 #infogeo16
objc2swift 〜 Objective-C から Swift への「コード&パラダイム」シフト
objc2swift 〜 Objective-C から Swift への「コード&パラダイム」シフト
何もないところから数を作る
何もないところから数を作る
objc2swift (続・自動変換の野望)
objc2swift (続・自動変換の野望)
さらに上を目指すための iOS アプリ設計
さらに上を目指すための iOS アプリ設計
objc2swift (自動変換の野望)
objc2swift (自動変換の野望)
2015 02-18 xxx-literalconvertible
2015 02-18 xxx-literalconvertible
let UIWebView as WKWebView
let UIWebView as WKWebView
コードを書けば複素数がわかる
コードを書けば複素数がわかる
虚数は作れる!Swift で学ぶ複素数
虚数は作れる!Swift で学ぶ複素数
プログラマのための線形代数再入門
1.
プログラマのための線形代数 再 入門 ∼行列・線形変換・アフィン変換∼ @taketo1024 2015/01/30
第1回プログラマのための数学勉強会
2.
今日の内容 1. 行列の積 2. 線形変換とアフィン変換
3.
1. 行列の積
4.
行列の足し算 ✓ 3 5 4 10 ◆ + ✓ 3
4 5 8 ◆ = ✓ 3 + 3 5 + 4 4 + 5 10 + 8 ◆ = ✓ 6 9 9 18 ◆
5.
行列の掛け算 ✓ 3 5 4 10 ◆
✓ 3 4 5 8 ◆ = ✓ 3 · 3 5 · 4 4 · 5 10 · 8 ◆ = ✓ 9 20 20 80 ◆
6.
行列の掛け算 ✓ 3 5 4 10 ◆
✓ 3 4 5 8 ◆ = ✓ 3 · 3 5 · 4 4 · 5 10 · 8 ◆ = ✓ 9 20 20 80 ◆ こうだったら簡単だったのに…
7.
行列の掛け算 ✓ 3 5 4 10 ◆
✓ 3 4 5 8 ◆ = ✓ 3 · 3 + 5 · 5 3 · 4 + 5 · 8 4 · 3 + 10 · 5 4 · 4 + 10 · 8 ◆ = ✓ 34 52 62 96 ◆ これが正しい計算規則です。
8.
行列の掛け算 ✓ 3 5 4 10 ◆
✓ 3 4 5 8 ◆ = ✓ 3 · 3 + 5 · 5 3 · 4 + 5 · 8 4 · 3 + 10 · 5 4 · 4 + 10 · 8 ◆ = ✓ 34 52 62 96 ◆
9.
行列の掛け算 ✓ 3 5 4 10 ◆
✓ 3 4 5 8 ◆ = ✓ 3 · 3 + 5 · 5 3 · 4 + 5 · 8 4 · 3 + 10 · 5 4 · 4 + 10 · 8 ◆ = ✓ 34 52 62 96 ◆
10.
行列の掛け算 ✓ 3 5 4 10 ◆
✓ 3 4 5 8 ◆ = ✓ 3 · 3 + 5 · 5 3 · 4 + 5 · 8 4 · 3 + 10 · 5 4 · 4 + 10 · 8 ◆ = ✓ 34 52 62 96 ◆
11.
行列の掛け算 ✓ 3 5 4 10 ◆
✓ 3 4 5 8 ◆ = ✓ 3 · 3 + 5 · 5 3 · 4 + 5 · 8 4 · 3 + 10 · 5 4 · 4 + 10 · 8 ◆ = ✓ 34 52 62 96 ◆
12.
行列の掛け算 ✓ 3 5 4 10 ◆
✓ 3 4 5 8 ◆ = ✓ 3 · 3 + 5 · 5 3 · 4 + 5 · 8 4 · 3 + 10 · 5 4 · 4 + 10 · 8 ◆ = ✓ 34 52 62 96 ◆
13.
行列の掛け算 ✓ 3 5 4 10 ◆
✓ 3 4 5 8 ◆ = ✓ 3 · 3 + 5 · 5 3 · 4 + 5 · 8 4 · 3 + 10 · 5 4 · 4 + 10 · 8 ◆ = ✓ 34 52 62 96 ◆
14.
行列の掛け算 ✓ 3 5 4 10 ◆
✓ 3 4 5 8 ◆ = ✓ 3 · 3 + 5 · 5 3 · 4 + 5 · 8 4 · 3 + 10 · 5 4 · 4 + 10 · 8 ◆ = ✓ 34 52 62 96 ◆
15.
行列の掛け算 ✓ 3 5 4 10 ◆
✓ 3 4 5 8 ◆ = ✓ 3 · 3 + 5 · 5 3 · 4 + 5 · 8 4 · 3 + 10 · 5 4 · 4 + 10 · 8 ◆ = ✓ 34 52 62 96 ◆
16.
行列の掛け算 ✓ 3 5 4 10 ◆
✓ 3 4 5 8 ◆ = ✓ 3 · 3 + 5 · 5 3 · 4 + 5 · 8 4 · 3 + 10 · 5 4 · 4 + 10 · 8 ◆ = ✓ 34 52 62 96 ◆
17.
行列の掛け算 ✓ 3 5 4 10 ◆
✓ 3 4 5 8 ◆ = ✓ 3 · 3 + 5 · 5 3 · 4 + 5 · 8 4 · 3 + 10 · 5 4 · 4 + 10 · 8 ◆ = ✓ 34 52 62 96 ◆
18.
行列の掛け算 ✓ 3 5 4 10 ◆
✓ 3 4 5 8 ◆ = ✓ 3 · 3 + 5 · 5 3 · 4 + 5 · 8 4 · 3 + 10 · 5 4 · 4 + 10 · 8 ◆ = ✓ 34 52 62 96 ◆
19.
行列の掛け算 ✓ 3 5 4 10 ◆
✓ 3 4 5 8 ◆ = ✓ 3 · 3 + 5 · 5 3 · 4 + 5 · 8 4 · 3 + 10 · 5 4 · 4 + 10 · 8 ◆ = ✓ 34 52 62 96 ◆ ふぅ…
20.
正直、3 3以上の行列計算は 地獄です。 (僕は必ず計算を間違うので気が狂いそうになる)
21.
なぜこう定義する?
22.
もんだい • さの工場では車とトラックを製造しています。 • 車の製造には作業員3人、ロボット5台の稼働が必 要です。 •
トラックの製造には作業員4人、ロボット8台の稼 働が必要です。 • さの工場で車を2台、トラックを3台製造するのに 必要な作業員とロボットの稼働はいくらでしょう?
23.
こたえ 車2台 : 2
(作業員:3人 + ロボット:5台) トラック3台 : 3 (作業員:4人 + ロボット:8台) +) 作業員 ロボット 車 3人/台 5人/台 トラック 4台/台 8台/台
24.
こたえ 車2台 : 2
(作業員:3人 + ロボット:5台) トラック3台 : 3 (作業員:4人 + ロボット:8台) +) 作業員:(2 3 + 3 4) = 18人、 作業員 ロボット 車 3人/台 5人/台 トラック 4台/台 8台/台
25.
こたえ 車2台 : 2
(作業員:3人 + ロボット:5台) トラック3台 : 3 (作業員:4人 + ロボット:8台) +) 作業員:(2 3 + 3 4) = 18人 ロボット:(2 5 + 3 8) = 34台 作業員 ロボット 車 3人/台 5人/台 トラック 4台/台 8台/台
26.
こたえ 車2台 : 2
(作業員:3人 + ロボット:5台) トラック3台 : 3 (作業員:4人 + ロボット:8台) +) 作業員:(2 3 + 3 4) = 18人 ロボット:(2 5 + 3 8) = 34台 こたえ 作業員 ロボット 車 3人/台 5人/台 トラック 4台/台 8台/台
27.
行列の積で書き直すと…
28.
(ベクトルは縦に書かないの?は後で説明します) 車・トラック 作業員・ロボット 2 3 ✓ 3 5 4
8 ◆ = 2 · 3 + 3 · 4 2 · 5 + 3 · 8 = 18 34 作業員 ロボット 車 3人/台 5人/台 トラック 4台/台 8台/台
29.
もんだい 2 • 作業員はサンドイッチを2個食べ、コーヒーを3杯 飲みます。 •
ロボットはサンドイッチ6個、コーヒー10杯を燃 料として動きます。 • さの工場で車を2台、トラックを3台製造するのに 必要なサンドイッチとコーヒーはいくらでしょう?
30.
こたえ SW COFFEE 作業員 2個/人
3杯/人 ロボット 6個/台 10杯/台 作業員 ロボット 車 3人/台 5人/台 トラック 4台/台 8台/台 ✓ 3 5 4 8 ◆ ✓ 2 3 6 10 ◆
31.
こたえ 2 3 ✓ 3 5 4
8 ◆ = 18 34 SW COFFEE 作業員 2個/人 3杯/人 ロボット 6個/台 10杯/台 作業員 ロボット 車 3人/台 5人/台 トラック 4台/台 8台/台 車・トラック 作業員・ロボット
32.
こたえ 2 3 ✓ 3 5 4
8 ◆ = 18 34 18 34 ✓ 2 3 6 10 ◆ = 240 394 SW COFFEE 作業員 2個/人 3杯/人 ロボット 6個/台 10杯/台 作業員 ロボット 車 3人/台 5人/台 トラック 4台/台 8台/台 車・トラック 作業員・ロボット 作業員・ロボット
33.
こたえ 2 3 ✓ 3 5 4
8 ◆ = 18 34 18 34 ✓ 2 3 6 10 ◆ = 240 394 SW COFFEE 作業員 2個/人 3杯/人 ロボット 6個/台 10杯/台 作業員 ロボット 車 3人/台 5人/台 トラック 4台/台 8台/台 こたえ 車・トラック 作業員・ロボット サンドイッチ・コーヒー作業員・ロボット
34.
まとめて書けば: 2 3 ✓ 3 5 4
8 ◆ ✓ 2 3 6 10 ◆ = 18 34 ✓ 2 3 6 10 ◆ = 240 394
35.
まとめて書けば: 2 3 ✓ 3 5 4
8 ◆ ✓ 2 3 6 10 ◆ = 18 34 ✓ 2 3 6 10 ◆ = 240 394先にこっちを計算すると…
36.
まとめて書けば: 2 3 ✓ 3 5 4
8 ◆ ✓ 2 3 6 10 ◆ = 18 34 ✓ 2 3 6 10 ◆ = 240 394 ✓ 3 5 4 8 ◆ ✓ 2 3 6 10 ◆ = ✓ 3 · 2 + 5 · 6 3 · 3 + 5 · 10 4 · 2 + 8 · 6 4 · 3 + 8 · 10 ◆ = ✓ 36 59 56 92 ◆
37.
まとめて書けば: 2 3 ✓ 3 5 4
8 ◆ ✓ 2 3 6 10 ◆ = 18 34 ✓ 2 3 6 10 ◆ = 240 394 ✓ 3 5 4 8 ◆ ✓ 2 3 6 10 ◆ = ✓ 3 · 2 + 5 · 6 3 · 3 + 5 · 10 4 · 2 + 8 · 6 4 · 3 + 8 · 10 ◆ = ✓ 36 59 56 92 ◆
38.
まとめて書けば: 2 3 ✓ 3 5 4
8 ◆ ✓ 2 3 6 10 ◆ = 18 34 ✓ 2 3 6 10 ◆ = 240 394 2 3 ✓ 36 59 56 92 ◆ = 2 · 36 + 3 · 56 2 · 59 + 3 · 92 = 240 394
39.
まとめて書けば: 2 3 ✓ 3 5 4
8 ◆ ✓ 2 3 6 10 ◆ = 18 34 ✓ 2 3 6 10 ◆ = 240 394 2 3 ✓ 36 59 56 92 ◆ = 2 · 36 + 3 · 56 2 · 59 + 3 · 92 = 240 394
40.
まとめて書けば: 2 3 ✓ 3 5 4
8 ◆ ✓ 2 3 6 10 ◆ = 18 34 ✓ 2 3 6 10 ◆ = 240 394 2 3 ✓ 36 59 56 92 ◆ = 2 · 36 + 3 · 56 2 · 59 + 3 · 92 = 240 394 同じ!
41.
18 34 つまりこういうこと ✓ 3 5 4
8 ◆ ✓ 2 3 6 10 ◆ 車・トラック 作業員・ロボット サンドイッチ・コーヒー 52 95 240 394
42.
18 34 つまりこういうこと ✓ 3 5 4
8 ◆ ✓ 2 3 6 10 ◆ 車・トラック 作業員・ロボット サンドイッチ・コーヒー 52 95 ✓ 36 59 56 92 ◆ 一発でいける! 240 394
43.
SW COFFEE 作業員 2個/人
3杯/人 ロボット 6個/台 10杯/台 作業員 ロボット 車 3人/台 5人/台 トラック 4台/台 8台/台 = SW COFFEE 車 36個/台 59杯/台 トラック 56個/台 92杯/台 ✓ 3 5 4 8 ◆ ✓ 2 3 6 10 ◆ = ✓ 36 59 56 92 ◆ 行列の掛け算は、対応表の合成になっていた! 打ち消しあう
44.
もんだい 3 • では車を52台、トラックを95台製造するのに必要 なサンドイッチとコーヒーは?
45.
こたえ 18 34 240
394 ✓ 3 5 4 8 ◆ ✓ 2 3 6 10 ◆ 車・トラック 作業員・ロボット サンドイッチ・コーヒー 52 95 … …
46.
18 34 こたえ ✓ 3 5 4
8 ◆ ✓ 2 3 6 10 ◆ 車・トラック 作業員・ロボット サンドイッチ・コーヒー 52 95 … ✓ 36 59 56 92 ◆ 一発でいきましょう 240 394…
47.
18 34 こたえ ✓ 3 5 4
8 ◆ ✓ 2 3 6 10 ◆ 車・トラック 作業員・ロボット サンドイッチ・コーヒー 52 95 … ✓ 36 59 56 92 ◆ 7192 11808 こたえ
48.
行列の積は変換の合成と対応する形で 定義されていた! x y x
y A x y AB A B AB あらかじめ積を計算しておけば、中間をすっ飛ばせる!
49.
ちなみに数学ではベクトルを縦に書き、 行列を左から掛けることが多い A B ✓ x y ◆ A ✓ x y ◆ BA ✓ x y ◆ BA 順序に注意! と書く場合はこっちの方が分かりやすいf(~x)
= A~x
50.
「転置」を取れば同じ計算になる 2 3 ✓ 3 5 4
8 ◆ ✓ 2 3 6 10 ◆ = 240 394 ✓ 2 6 3 10 ◆ ✓ 3 4 5 8 ◆ ✓ 2 3 ◆ = ✓ 240 394 ◆ 左から作用 右から作用 … DirectX 系 … OpenGL 系
51.
以後、変換について話すので後者の スタイルで書きます。 (DirectX 系の人は脳内転置お願いします)
52.
2. 線形変換とアフィン変換
53.
線形変換 ベクトルの線形性(平行と比率)の保たれる変換 f
54.
線形変換 … 和をバラせる … 実数倍をバラせる ( f(~x
+ ~y) = f(~x) + f(~y) f(a · ~x) = a · f(~x)
55.
✓ 1 0 ◆ , ✓ 0 1 ◆ の行き先だけで決まる!線形変換は f ✓ 1 0 ◆ = ✓ ax ay ◆ , f ✓ 0 1 ◆ = ✓ bx by ◆ とすれば、 f ✓ x y ◆ = f(x
· ✓ 1 0 ◆ + y · ✓ 0 1 ◆ ) = x · f ✓ 1 0 ◆ + y · f ✓ 0 1 ◆ = x · ✓ ax ay ◆ + y · ✓ bx by ◆ ✓ x y ◆ x ✓ 1 0 ◆ y ✓ 0 1 ◆ f ✓ x y ◆ = x ✓ ax ay ◆ + y ✓ bx by ◆ x ✓ ax ay ◆ y ✓ bx by ◆ f
56.
その結果は行列とベクトルの積で書ける! x ✓ ax ay ◆ y ✓ bx by ◆ f ✓ x y ◆ = x ✓ ax ay ◆ + y ✓ bx by ◆ = ✓ ax
bx ay by ◆ ✓ x y ◆ f ✓ x y ◆ = ✓ ax bx ay by ◆ ✓ x y ◆
57.
つまり線形変換は の行き先を並べた行列で表現できる! ✓ 1 0 ◆ , ✓ 0 1 ◆ f f ✓ x y ◆ = ✓ ax bx ay
by ◆ ✓ x y ◆ ✓ 1 0 ◆ ✓ 0 1 ◆ ✓ ax ay ◆ ✓ bx by ◆ … f の行列表示f
58.
同様に3次元ベクトルの線形変換は、 3次行列との積で書ける f 0 @ x y z 1 A = x 0 @ ax ay az 1 A
+ y 0 @ bx by bz 1 A + z 0 @ cx cy cz 1 A = 0 @ ax bx cx ay by cy az bz cz 1 A 0 @ x y z 1 A f 0 @ ax ay az 1 A 0 @ bx by bz 1 A 0 @ cx cy cz 1 A
59.
線形変換の合成は行列の積に対応する ✓ x y ◆ f ✓ x y ◆ = A ✓ x y ◆ g ✓ f ✓ x y ◆◆ = BA ✓ x y ◆ f
g g f : f と g の合成f g 左から作用
60.
行列は線形変換の定量表現!
61.
線形変換にはどんなものが ある?
62.
等倍・偏倍変換 A = ✓ a 0 0
b ◆ ✓ 1 0 ◆ ✓ 0 1 ◆ f ✓ a 0 ◆ ✓ 0 b ◆
63.
回転 A = ✓ cos✓ sin✓ sin✓
cos✓ ◆ ✓ 1 0 ◆ ✓ 0 1 ◆ f ✓ cos ✓ sin ✓ ◆ ✓ sin ✓ cos ✓ ◆
64.
反転 A = ✓ 1 0 0
1 ◆ ✓ 1 0 ◆ ✓ 0 1 ◆ f ✓ 0 1 ◆ ✓ 1 0 ◆
65.
正射影 A = ✓ 1 0 0
0 ◆ ✓ 1 0 ◆ ✓ 0 1 ◆ f ✓ 1 0 ◆
66.
平行移動…? ✓ 1 0 ◆ ✓ 0 1 ◆ f ✓ p q ◆
67.
とならない変換は線形でない! f ✓ 0 0 ◆ = ✓ 0 0 ◆ f ✓ 0 0 ◆ = f( ✓ 0 0 ◆ + ✓ 0 0 ◆ ) =
2f ✓ 0 0 ◆ f より、 でなければいけない。 f ✓ 0 0 ◆ = ✓ 0 0 ◆ ✓ p q ◆
68.
えー、使えねぇ…
69.
そんなことない!
70.
xy 平面は xyz
空間の z=1 に浮いていると見る ✓ x y ◆ ✓ 1 0 ◆ ✓ 0 1 ◆ 0 @ 0 0 1 1 A 0 @ x y 1 1 A
71.
xy平面の線形変換は、 z=1上で行われていると見る 0 @ ax bx 0 ay
by 0 0 0 1 1 A 0 @ x y 1 1 A = 0 @ ✓ ax bx ay by ◆ ✓ x y ◆ 1 1 A z=1 のまま の線形変換 ✓ x y ◆
72.
一方、こういう3次行列を考えれば、 z=1 上の点の平行移動が表現できる! 0 @ 1 0
p 0 1 q 0 0 1 1 A 0 @ x y 1 1 A = 0 @ x + p y + q 1 1 A z=1 は固定されたまま! ✓ p q ◆ 平行移動
73.
真横から見ると分かる! x, y x,
y z z z=1 z=1 0 @ 1 0 0 1 A , 0 @ 0 1 0 1 A 0 @ 0 0 1 1 A 0 @ 1 0 0 1 A , 0 @ 0 1 0 1 A 0 @ p q 1 1 A : 不変 z=1ではxy平面の平行移動! 空間全体は線形変換 0 @ 1 0 p 0 1 q 0 0 1 1 A
74.
平面上の平行移動は線形ではないが、 空間内に埋め込めば線形変換として表現できる!
75.
線形変換と平行移動を組み合わせたものを 「アフィン変換」という 0 @ 1 0 p 0
1 q 0 0 1 1 A 0 @ ax bx 0 ay by 0 0 0 1 1 A アフィン変換も一つ上の次元から見れば、 ただの線形変換! 線形変換 平行移動
76.
同様に xyz 空間も
4次元 xyzw 空間 において、 w=1 上に浮いてると考えれば、 xyz空間 w 0 B B @ 0 0 0 1 1 C C A x, y, z
77.
4次行列によって3次元空間の 線形変換・平行移動を表現できる! 0 B B @ ax bx cx
0 ay by cy 0 az bz cz 0 0 0 0 1 1 C C A 線形変換 0 B B @ 1 0 0 p 0 1 0 q 0 0 1 r 0 0 0 1 1 C C A 平行移動
78.
これに加えて、 「射影変換」も一つ上の次元の行列で表現できる (需要があればまた次回)
79.
3Dレンダリングの座標変換は、 全て4次元行列の積で表現できる! オブジェクト座標 ワールド座標 スクリーン座標
80.
まとめ 1. 行列は線形変換の定量表現 2. 行列の積は変換の合成に対応 3.
次数をあげれば平行移動も射影も表現できる
81.
Thanks! Twitter: @taketo1024 Blog: http://taketo1024.hateblo.jp
Télécharger maintenant