著者:永遠の相 World Structure
ページ数:278
¥99 → ¥0
2022年03月16日 10時00分:不要な改ページを削除
読む、作る、分かる。Pythonで始める柔らかい圏論入門
[御挨拶] 本書に興味を持っていただきまして、誠にありがとうございます。本書は、プログラマを圏論の世界へご案内する事を目的とした小冊子です。 [本書が想定している読者] -プログラマ(Pythonのlambda式を学習済みの方)
-圏論を学習する際に現れる、圏論特有の記号に慣れていない方
-圏論の自然変換の導入まで学習したい方 [本書の特徴] Pythonのプログラムを利用しながら圏論を解説する。
プログラムを動かしながら圏論の世界を体験できるため、圏論に対する理解が深まる。 [本書の見所] Pythonで定義した関数を、圏の構造を保持して別の関数へ変換する。
そして圏の構造が本当に保たれているか、プログラムを動かして確認する。 [注意事項] 本書(本小冊子)が扱う範囲は非常に狭い。圏論の導入部分のみ扱う。
下記の目次を参考にして頂き、ご興味をもたれましたらご一読下さい。 [目次] -対象と射
-合成射
-Pythonで合成射を実装
-圏論の定義
-Pythonで合成射を実装
-Pythonで結合律を確認
-Pythonで恒等射を確認
-Pythonの型と関数の圏
-Pythonで合成射を実装
-関手
-Pythonで関手の挙動を確認
-関手の定義
-Pythonで関手の条件を実装
-Option関手の解説
-自然変換の学習
-Pythonで自然変換を実装する [本書の雰囲気] Pythonの型と関数の圏 A , B , C
射 f : x → y ,
圏Aから圏Bへの射 F : A → B ,
圏Aから圏Cへの射 G : A → C ,
GからFへの射 H : G → F
(可換図式)
G ( f )
G ( x:Option[str] )────→ G ( y:Option[int] )
│ │
H[str] │ H[int] │
↓ ↓
F ( x:List[str] ) ────→ F ( y:List[int] )
F ( f )
以下の式が成り立つとき、Hは自然変換である。
H[int]・G ( f ) = F ( f )・H[str]
# =====[プログラム開始]=====
# ここで利用する関数 F , G , H , compose などは、
# 商品の内容を紹介するこの場所では記載を割愛する。
# 本書の中では、もちろん掲載している。
# 以下のプログラムは参考程度にご覧下さい。
# 圏B の対象Option[str] B_x = Option ( ‘Books‘ )
# H[int]・G ( f )
H_G_f = compose ( G ( f ) , H )
# F ( f )・H[str] F_f_H = compose ( H , F ( f ) )
# 値が一致するか検証
print( H_G_f ( B_x ) [ 0 ] )
print( F_f_H ( B_x ) [ 0 ] )
// 本書のPythonプログラムは、事前に
// Scalaで動作確認をしている。
// ( Scala version 2.10 )
// ( 以下のプログラムはタブを全角スペースに、括弧を全角括弧に置き換えている )
シリーズ一覧
- 同シリーズの電子書籍はありませんでした。
この期間中は料金が980円→0円となるため、この記事で紹介している電子書籍は、すべてこのKindle Unlimited無料体験で読むことが可能です。