haskell-jp / random #1

((->) a) が Applicative の instance で、
f :: ((->) a) b -> c
g :: ((->) a) b

のとき、
f <*> g :: ((->) a) c
(f <*> g) x = f x (g x)

となるから……ってことですね
<$> と組み合わせて使っていないところが意外と面白い所かなと思っています:grinning:

あと使っている関数が遅延評価版のフィボナッチ数列の式と似ているので、そっちと間違えた (?) 人が多かったです。

fib = 0 : 1 : zipWith (+) fib (tail fib)


一応、正解は 奇数の無限リスト です。
@takano32 has joined the channel
haskell-jpに入ってから幽霊部員してたのでしばらく経ってますが年末が近くなって幽霊部員から脱却したいなと思ったのでまたこれからよろしくお願います
questionチャンネルでお世話になるかもしれません
haskell weeklyがhaskellユーザ調査をやっているようです!
https://haskellweekly.news/surveys/2017.html
デフォルトにして欲しいオプションにArrowsを入れた以外は真面目に回答してみた
前に 1/(√2+√3+√5+√7) の分母の有理化( https://twitter.com/kamo_hiroyasu/status/852512487740030979 )という話題がTwitterで流れていたので、
有理数体の拡大体 ℚ(√2,√3,√5,√7) を作ってみました^^;;; https://gist.github.com/naohaq/5ffc8a7ea6be11c27fdea37a462dea8f
割り算すると分母に無理数を含まない形で結果が求まりますw
*Q2357> 1 / (root2 + root3 + root5 + root7)
(37 % 43)√2 + ((-29) % 43)√3 + ((-133) % 215 + ((62 % 215)√2)√3)√5 + (27 % 43 + (((-10) % 43)√2)√3 + (((-34) % 215)√2 + (22 % 215)√3)√5)√7
なんとなく便乗で :grin: 、自作の toysolver パッケージに入れてある代数的実数の実装で計算してみました。
*ToySolver.Data.AlgebraicNumber.Real> 1 / (nthRoot 2 2 + nthRoot 2 3 + nthRoot 2 5 + nthRoot 2 7)
RealRoot (fromTerms [(1 % 46225,mfromIndices []),((-136) % 46225,mfromIndices [(X,2)]),(6476 % 46225,mfromIndices [(X,4)]),((-141912) % 46225,mfromIndices [(X,6)]),(1513334 % 46225,mfromIndices [(X,8)]),((-7453176) % 46225,mfromIndices [(X,10)]),(13950764 % 46225,mfromIndices [(X,12)]),((-1119368) % 9245,mfromIndices [(X,14)]),(1 % 1,mfromIndices [(X,16)])]) (Finite (0 % 1) <..<= Finite (666573 % 4403200))

多項式 x^16 - 1119368/9245 x^14 + 13950764/46225 x^12 - 7453176/46225 x^10 + 1513334/46225 x^8 - 141912/46225 x^6 + 6476/46225 x^4 - 136/46225 x^2 + 1/46225 の実根のうち (0, 666573/4403200] に含まれる根というのはわかったけれど、有理化には使えなかった…… (当たり前)
Yesod で relational-record を使うための部分を分離しました
とりあえず、自分の使ってた部分と Database.Relational.Query.Documentation の IO アクションを。
https://github.com/kakkun61/yesod-relational-record
ちなみに、「週刊 代数的実数を作る」 https://miz-ar.info/math/algebraic-real/ のサンプルコードは全面的にHaskellで書かれています
@ has joined the channel
@ has joined the channel
これ、まだ読んでないけど、ちゃんと読んで系統的に理解したい。 今の自分の代数的実数の実装は系統的な理解に基づいた系統的な実装、という感じではないので。
@mwrote has joined the channel
最近TidalCyclesというライブラリに興味を持ち始め、
Haskellをかけるようになりたいと思い、Slackに参加させていただきました。
よろしくおねがいします。
@com01evi has joined the channel
そういえば、先日のもくもく会で given n∈ℕ について GF(2ⁿ) が「同型を除いてただ1つ存在する」という主張について @1to100pen さんに「そうなの?」と聞かれた件ですが、めちゃくちゃ大雑把にですがなんとなく理解したような気がします。
n次の原始多項式 p(x) について、α を p(x)=0 の根とすると、α^2, α^4, ... , α^{2^(n-1)} も p(x)=0 の根になります。(∵ GF(2) 上の多項式 f(x) について、 f(x^2) = (f(x))^2 )
生成多項式を p(x) としたとき、GF(2^n) の元は α, α^2, α^4, ... , α^{2^(n-1)} を基底とし、係数体をGF(2)とする n次元のベクトルとして表現でき、和とスカラー倍について線形ベクトル空間を構成します。
n次の別の生成多項式 q(x) をもってきたとき、{α^{2^k}} を基底とする表現で q(x)=0 の根βが求まったとすると(←求まるはずだけど要証明)、やはり同様に β^2, β^4, ... , β^{2^n} も q(x)=0 の根になり、これらは線形独立なn本のn次元ベクトルになります(←これも要証明)。したがって q(k) を生成多項式とする体と p(k) を生成多項式とする体との対応はn本の基底 {β^{2^k}} からn本の基底 {α^{2^k}} への線形写像で表すことができ、ベクトル空間として同型になります。
@karky7 has joined the channel
↑ちょっと議論が雑すぎました。
@ has joined the channel
@ has joined the channel
@ has joined the channel
@Hiroto has joined the channel
@legokichi has joined the channel
@yoshi has joined the channel
@ has joined the channel
「同型を除いてただ1つ存在する」というのは体としてなのですか?ベクトル空間としてなのですか?
本題と異なるので敢えてThreadは生やしませんが、ちょっとHaskellから外れた質問なのが悩ましいですね。
以前圏論の本を読んでいたときも思ったのですが、
圏論用(あるいはHaskellに関連する数学の諸分野?)用のchannelを別途作った方がいいのかも知れません。
https://haskell-jp.slack.com/archives/C4M4TT8JJ/p1510026276000184
そういえばこれもHaskellからちょっと外れすぎか。。。
なんでこのときは気にならなかったんだろう。いずれにしても数学チャンネルを作ったほうがよさそう。
アナウンスしたとおり、作りました。 math
@ has joined the channel
@ has joined the channel
前書いたこれですが、スクレイピングするやつを作りました。後はこれをtravisとかで定期的に実行してslackに送信すればいちおう購読できるという形になります(手作り感が否めないですが)
https://github.com/Hexirp/github-trends
なるほど。RSSフィードもないみたいなんでちょうど良さそうですね!詳しい手順だったり、設定に必要な情報を書いておいていただけますか?
すいません、「後は」と言った通り投稿まではまだ出来ていません。後でやるつもりなのでしばしお待ちください。現在はstackを使いビルドして実行すると、slackに投稿する予定の文が表示される形です。完成したらREADMEに手順を書いておきます。
GHCのビルドをshakeベースにしたのは、Hadrianって言うんですね。
https://github.com/ghc/ghc/tree/master/hadrian
Haskellに関するアンケートにご協力ください。
https://www.surveymonkey.com/r/fpcomplete-haskell-survey
Cabal 2.1 を要求しているから、簡単には試せないやん。
@H.Umehara has joined the channel
日本語 UI の Slack 見慣れなくて違和感
@krdlab has joined the channel
DNSライブラリ v3.0.0 をリリースしました。
WindowsでデフォルトのDNSサーバを探したり、複数のDNSサーバが見付かった/指定されていたら、一斉にクエリを出して一番早い応答を採用したりと、すぐれものです。