haskell-jp / math #2

@ has joined the channel
@ has joined the channel
@yasuyuky has joined the channel
@shin16s has joined the channel
@mizuki has joined the channel
@ has joined the channel
@nobsun has joined the channel
@smasuda has joined the channel
@hrkr has joined the channel
@ninomiyt has joined the channel
@karoyakani has joined the channel
@hu6inn has joined the channel
@notogawa has joined the channel
@wat-aro has joined the channel
@as_capabl has joined the channel
@as_capabl uploaded a file: category.png and commented: 「標準のCategoryよりリッチな物が欲しいけどArrowは要らない」という人のためのライブラリが2つあったけど、それぞれ微妙に定義が違うので対応表を作ってみました
https://hackage.haskell.org/package/constrained-categories
https://hackage.haskell.org/package/categories
圏論用語的にはekmettの方が正しそうな気がする
あともうひとつ、Category以外も含むパッケージでこんなのがあって、ccの作者が「こっちの方がいい(かも)」と言ってるんですが、fstとfst_が分かれてたり微妙に設計が汚い
http://hackage.haskell.org/package/subhask
@igrep set the channel topic: 数学のお話。Haskellによるプログラミングそのものから外れすぎかな、と思ったときはこちらへ。
@igrep set the channel topic: 数学のお話。Haskellによるプログラミングそのものから外れすぎかな、と思った話題はこちらへ。
ちょっと実装寄りの話すぎましたね:cold_sweat: 数学の話をすると、カルテシアン圏とモノイド圏の区別が重要になる話って実際あるのでしょうか
個人的には十分に実装の話だと思います。線引き悩ましいですね :cold_sweat:
あ、channel topicを書き換えた点については特に他意はないです。 :bow:
@ has joined the channel
@cedretaber has joined the channel
ああ、CoCartesianもモノイド圏になるのか。そうなるとやっぱりconstraind-categoriesのCartesianは不適なネーミングである可能性が高い
ちょっとccを見た感じだとCartesianはカルテシアン積で取ってるので名前通りCartesian Productをもつcategoryを想定してるように見えるんですが違うんでしょうか?
Cartesian+Curryでcartesian closedを実現しているのが意図なのかと思いました
Wikipediaのノーテーションに従うと、 π1とπ2に相当するのがfstとsndで、これが定義されるのがccパッケージではCartesianではなくPreArrowなので、Cartesianクラスの段階では(,)は単なる「モノイド的な双函手」でしかないのでは、と思った次第です
ああfst sndがPreArrowまでこないと定義されないんですね それは確かにだめですね
@mt_caret has joined the channel
@tsukimizake has joined the channel
@ has joined the channel
@y_taka_23 has joined the channel
せっかくこういうチャンネルがあるので積んでる論文を投げようと思います。どれも1ミリも読んでません。

Call-by-name, call-by-value and the λ-calculus (Plotkin)
https://www.sciencedirect.com/science/article/pii/0304397575900171
cbnとcbvについて書かれたPlotkinの古典的なやつです cbnについて知りたくて古典にあたりたい場合は読むといいと思います

Call-by-value is Dual to Call-by-Name (Wadler)
http://homepages.inf.ed.ac.uk/wadler/papers/dual/dual.pdf
Wadlerのやつで上のより新しくて読みやすいと思います(やたらカラフルなのが気になる)

A Reflection on Call-by-Value (Sabry and Wadler)
http://homepages.inf.ed.ac.uk/wadler/papers/reflection-journal/reflection-journal.pdf
こっちはmonad reflectionの話です A型の値は1->Aの型と相互変換できて、かつ1->(-)はcbv上のmonadになるんですがこの手の対応をmonad reflection/reificationとか呼ぶはずでそのへんの話だと思います
@monoid911 has joined the channel
@krdlab has joined the channel
@ has joined the channel
@oganao has joined the channel
@bonotake has joined the channel
@takenobu.hs has joined the channel
@ has joined the channel
最初は GF(2^8) 上でのReed Solomon符号の実験をするために gf256 パッケージ https://github.com/naohaq/gf256-hs を作ったんですが、Reed Solomon符号自体は一般の有限体 GF(p^r) をシンボルとして使えるので
試しに @msakai さんの finite-field を使って GF(929) 上のRS符号(PDF417 http://www.activepdf.com/altdownloads/documentation/tk2011/PDF%20417.html という2次元バーコードで使われている)を作ってみたらちゃんとエラー訂正ができました^^
@khibino has joined the channel
@ueda has joined the channel
(1変数)多項式を係数のリストやベクトルで表現するとき、最高次の係数から順に若いインデックスを振るのと、0次の係数から順に若いインデックスを振るのと、どっちが「普通」ですかね……
剰余をとったりするには最高次の係数が先頭にあったほうが楽なんですが。
高次先頭でいいんじゃないでしょうか.実際に変数入れて計算させる場合でも有限次数ならhoner法で式変形してfoldl’で速いし.そうでなくて主眼が多項式表現自体でその上で何かする場合(たぶんこっちの話だと思うけど),剰余重視なら高次先頭.乗算はどっちでも特には関係なく,加減算に関しても高次でも低次でも結局短いほうにパディング入れないとzipでは済まないので.