黒木玄 Gen Kuroki
- いいね数 389,756/311,170
- フォロー 995 フォロワー 14,556 ツイート 293,980
- 現在地 (^-^)/
- Web https://genkuroki.github.io/documents/
- 自己紹介 私については https://twilog.org/genkuroki と https://genkuroki.github.io と https://github.com/genkuroki と https://github.com/genkuroki/public を見て下さい。
2018年01月18日(木)
#Julia言語
nbviewer.jupyter.org/gist/genkuroki...
Julia言語で計算が遅くなった場合の解決法
には「dot syntax をできるだけたくさん使う」という処方箋が書いてあります。これは「broadcastをできるだけたくさん使う」と同じ意味です。broadcastがうまくはまれば滅茶苦茶速くなります。
タグ: Julia言語
posted at 23:55:17
twitter.com/shin1n/status/...
#Julia言語 でも普通にベクトル化とbroadcastは使います。
forループ**も**速いというだけの話です。
ただし未完成品の現時点では配列の扱いに注意が必要。
次のリンク先にJulia言語を高速で動かしたい人が注意するべき点が書いてあります。
nbviewer.jupyter.org/gist/genkuroki...
タグ: Julia言語
posted at 23:48:13
#Julia言語 確率分布 d の乱数や密度函数は「dの保有物」だという見方をしないと何をやっているのか理解し難いと感じた場合には、rand(d,~) を d.rand(~)とpdf(d,~) を d.pdf(~) と適宜読み替えて読めばよいと思います。
nbviewer.jupyter.org/gist/genkuroki...
タグ: Julia言語
posted at 23:28:27
#Julia言語 続き。まあ、その辺のことはどうでもよくて、せっかく面白いものがそこにあるんだから、楽しもうじゃないかと思います。Julia言語に自分で確率分布を付け加えるにはどうすればよいかを見れば、妙な誤解をしなくてもすむかも。
nbviewer.jupyter.org/gist/genkuroki...
Julia言語における確率分布の作り方
タグ: Julia言語
posted at 23:21:11
@pinkpink_happy また「#掛算 の順序守れ」派は、「算数と数学は別」と主張する場合がありますが、小学校の範囲でもしばしば違反している事があるので、「小学校と中学以降は別」と言ってすます事も出来ないのです。(長々と失礼しました。) pic.twitter.com/QUc1xXsoBP
タグ:
posted at 23:09:11
#Julia言語 続き。最初に入れたときには、Juliaカーネルが死にまくり、原因もわからず失敗。数回の試行錯誤で、自分の手元にあるWindows機のすべてで再現性のある確実な方法がわかりました。
nbviewer.jupyter.org/gist/genkuroki...
大体においてWindowsでなんとかなるなら、他でもなんとかなる。続く
タグ: Julia言語
posted at 23:06:22
@pinkpink_happy ただし学校での教え方については、数学や理科が大好きな人々によって「これはおかしい!」と批判されている問題です。
まず分かり易い点として「円周の長さを求めるとき、小学校では「直径×円周率」だが、中学以降は2πr だから、中学に行ったら小学校のルールは捨てなければならない」です。 #掛算
タグ: 掛算
posted at 23:05:17
#Julia言語 続き。しかし、実際にJupyter notebookを使ってみると(初めて使ったのは juliabox.com ←おすすめ、無料)、これが結構使える。非常に気楽に使える。ものすごくお気楽な感じ。
地下鉄の中でiPhoneからも使える(笑)。
そして、自分のパソコンにも入れることにしました。続く
タグ: Julia言語
posted at 23:04:31
@pinkpink_happy 【何が間違ってたの(´⊙ω⊙`)?】
ということなので、お子さんの式をバツにする側の「教義」をお示しします。
参考→ www.asahi.com/edu/student/te... #掛算
タグ: 掛算
posted at 23:01:39
Rはうまく使えなかったけど、Juliaだと確率分布を計算したりヒストグラム描いたりする気になるのはなぜだろうな。どうもRとは相性が悪い気がするんだよねえ。どこが問題なのかなあ。まあJuliaでできることがわかったからいいんですけど
タグ:
posted at 22:49:20
#Julia言語
Plotsパッケージで複数のグラフを凝った配置にしたい場合には
nbviewer.jupyter.org/github/JuliaPl...
が参考になりそうです。
PyPlotパッケージでは subplot2grid の使い方を覚えれば凝った配置にできます。
matplotlib.org/devdocs/api/_a...
PythonからJulia言語への翻訳はa.b→a[:b]が基本。
タグ: Julia言語
posted at 22:16:28
昨日だか一昨日だかから散発的に書いていた「甲状腺三県調査」に関する話をまとめました。
www.cp.cmc.osaka-u.ac.jp/~kikuchi/texts...
これなら分かりやすいかしら。
Juliaで計算してJuPyter notebookをhtmlに変換したものです
タグ:
posted at 22:15:40
@hiropon_matsu @genkuroki @MathSorcerer うちの先生もパンチカードでやっていたと仰っていました。一度はやってみたい気もします。
タグ:
posted at 22:02:04
やはり、JuliaはJuPyter notebookで使えるのがだいじだね。説明からプログラムから結果までひとまとめにできるのは便利。しかも、すぐにhtmlにできるし
タグ:
posted at 21:59:43
@genkuroki @cubic_root3 それと #MetaPost が強力シンプル仕様。ほんまによう出来たソフトウェア。 #PostScript をMetaに使える?ていう感じか。これを #JuliaLang で #Luxor で何とかしたいのだけど…使うにつれ何となくtikz臭がして辛い。
タグ: JuliaLang Luxor MetaPost PostScript
posted at 21:26:30
@genkuroki @cubic_root3 いやもう今となってはどないしたのか。確かにそんな大層な事はしてないはず。エッシャー?がその他様々な先人達がやったように定規やコンパスで出来る事(結局計算というよりも共有点をとる<ーそれってやっぱ計算ちゃうんか)で何とかっていうお遊びです。
タグ:
posted at 21:24:02
子どもが採点されたテスト用紙を
持って帰ってきたんだけど
画像の問題
8×7=56と最初に書いたら
バツになったみたいです
画像は訂正後の正解の式
何が間違ってたの(´⊙ω⊙`)?
#学校のテスト
#かけ算
#小学校 pic.twitter.com/5zfVBlnTcu
posted at 21:18:24
非公開
タグ:
posted at xx:xx:xx
非公開
タグ:
posted at xx:xx:xx
非公開
タグ:
posted at xx:xx:xx
@MathSorcerer スクラッチで実装するのはJuliaに限らず何でやっても大変。
Julia言語から量子群を含む非可換環対応のSingularを使えるようです(Windowsは無理)。Julia言語が「糊」になってくれると「糊」が原因で遅くなるのを防げる。
wbhart.blogspot.jp/2017/01/singul...
github.com/wbhart/Nemo.jl...
github.com/wbhart/Singula...
タグ:
posted at 20:16:28
@MathSorcerer @ceptree 大学新入生のときのコンピューターの授業がFORTRAN77でした。
テキストファイルから単語を切り出して、ソートして、単語の個数を数える課題を解いた記憶がある。FORTRAN77で!
で、なぜか、その科目は期末試験があったのですが、新入生なのにいきなり寝坊してアウト。
と思ったら、単位が来ていたw
タグ:
posted at 20:08:44
トポロジカルs波超伝導体のChern数をFukui’s methodを使ってJuliaで計算してみたが、とても綺麗に整数になった。異なる波数ごとに異なる位相を持っているかも問題がなぜ離散格子点だと解決されるのかがまだわからない
タグ:
posted at 18:57:36
ごまふあざらし(GomahuAzaras @MathSorcerer
@ceptree まだ使っている民間企業もあるとか・・・.Juliaで駆逐されることを願いたいものです.
タグ:
posted at 18:51:54
@MathSorcerer どうなんでしょうねぇ、教科書だとちらほら見かけますし、あとライブラリとかもあるんじゃないですかね。現役のスパコン等で使われてるかは分からないです。
タグ:
posted at 18:48:16
ごまふあざらし(GomahuAzaras @MathSorcerer
非可換代数の計算から遠のいてしまったあざらしですけれども,Juliaだったら実装できるんでしょうか.
タグ:
posted at 18:41:11
機械学習等の今トレンドの分野が、それで裾野を広げてるように、数値解析の分野でも、JuliaやPython使ってJupyter notebookで簡単に体験できるようにすべきだよなぁと思うで
タグ:
posted at 18:38:59
非公開
タグ:
posted at xx:xx:xx
いろいろ忙しくて、Juliaをじっくりいじってる暇がない。昨日から今日の「三県調査の計算」はJuliaですけどね。ちゃんとノートブックにまとめて公開する余裕があれば
タグ:
posted at 17:30:11
非公開
タグ:
posted at xx:xx:xx
@tkf ReverseDiffは行った操作をすべて記録してコードを生成するので,コンパイルもすごく遅いんですよね。あとif x > 0などの分岐があると正しく計算できないはずです。Julia 1.0に向けてCassette.jlという新しいフレームワークを作っているようです。 github.com/jrevels/Casset...
タグ:
posted at 16:52:05
Juliaのsinの実装はこの辺か。ホーナー法を使うマクロはあるけど,結局数値の和と積だけで構成されてるし,やろうと思えばsinをcosに変えなくても自動微分できるか。 github.com/JuliaLang/juli...
タグ:
posted at 16:35:57
#Julia言語 スクリーンショット続き
(2/2) MyCauchy分布にpdf函数を拡張すると、logpdf函数も自動的に定義されていることの確認。プロットはpdf函数の定義が正しいことの確認。
MambaでMCMCをまわすためにはlogpdfが定義されていることが必要です。 pic.twitter.com/IRUERz7tZ9
タグ: Julia言語
posted at 15:31:30
#Julia言語
nbviewer.jupyter.org/gist/genkuroki...
Julia言語における確率分布の作り方
のスクリーンショット
(1/2) MyCauchy分布に quantile 函数を拡張してやると、自動的にMyCauchy分布でもrandが使えるようになります。プロットはそのrandで生成された乱数が正しくCauchy分布に従っていることの確認。 pic.twitter.com/Fq0Ol0a9oe
タグ: Julia言語
posted at 15:29:34
#Julia言語 で抽象代数を実装すれば、高速に抽象代数の演算をこなしてくれるはずです。実際、それをある程度実現したパッケージもあります。
github.com/wbhart/Nemo.jl
ただしこのパッケージはJulia v0.5.2で使った方がいいかも。ベンチマーク
nemocas.org/benchmarks.html
を見ると確かに速そう。
タグ: Julia言語
posted at 15:12:51
#Julia言語 スクリーンショット続き
(3/3) x に文字変数 X とεの和を代入すると自動的に微分ができている。合成函数の微分もできていることに注目。 pic.twitter.com/Ocn6GDjYAG
タグ: Julia言語
posted at 15:04:25
#Julia言語
スクリーンショット続き
(2/3) exp((π+ε)i) = -1 - i ε
このように複素数のdual numberも使えている。 pic.twitter.com/wR1rv4bzq6
タグ: Julia言語
posted at 14:59:10
#Julia言語
gist.github.com/genkuroki/1ea4...
のスクリーンショット
(1/3) 有理数係数の a = 1+ε について a^k = 1+ kε が成立している. pic.twitter.com/fRLxyrzbZj
タグ: Julia言語
posted at 14:57:08
#Julia言語
なんちゃってdual nubmerで自動微分
gist.github.com/genkuroki/1ea4...
nbviewer.jupyter.org/gist/genkuroki...
このJupyter notebookでは
ε^2 = 0
を満たすεをJulia言語になんちゃって導入しています。
数学的には自明な話でしかないのですが、こういう自明な話が非自明に非常に役に立つらしい。
タグ: Julia言語
posted at 14:50:17
非公開
タグ:
posted at xx:xx:xx
ごまふあざらし(GomahuAzaras @MathSorcerer
並列の話はみんな興味を持ってるとおもうのでこれはありがたいExample twitter.com/genkuroki/stat...
タグ:
posted at 11:51:05
#Julia言語 はちょっと実験的にforループをぐるんぐるんまわして個数を数えるには極めて便利な道具です。なぜならば、@ parallel (+) マクロを使えばものすごく簡単に並列処理できるからです。
nbviewer.jupyter.org/gist/genkuroki... の In [4]のnrationalpoints函数を見て下さい。 pic.twitter.com/9rFO6P0tOk
タグ: Julia言語
posted at 11:30:55
#数楽 Sato-Tate予想=佐藤のsin^2予想については
www2.tsuda.ac.jp/suukeiken/math...
が詳しくてかつ非常に面白いです。添付画像はp.20より。名前の最後が「二」になっていることに注目!(笑) 大変貴重な記録。
新しい数学はこのような歴史によって作られて行くのだ。 pic.twitter.com/mqejFpZcWZ
タグ: 数楽
posted at 11:21:25
#Julia言語 は浮動小数点演算の意味での数値計算も速いですが、単純な個数の数え上げのような計算にも強いです。forループが速いので気楽に最も素朴な方法で最初挑戦できます。
個数を数えることは数学の基本。
佐藤・Tate予想については以下のリンク先を参照。
twitter.com/genkuroki/stat...
タグ: Julia言語
posted at 11:07:44
#Julia言語 #数楽
佐藤・Tate予想のプロット
nbviewer.jupyter.org/gist/genkuroki...
計算部分のコードは十数行でしかない。超簡単。手抜きとも云う(笑)。
2^12以下のすべての素数について楕円曲線の有理点の個数を最も素朴な方法でカウントするのに7秒ちょっとかかりました。
θの分布がsin^2分布になっている。 pic.twitter.com/rXHDkFzRqo
posted at 11:05:15
@cubic_root3 @tsatie satieさんのmetapost力、マジすごすぎ。確かどっかに初等幾何的な方法だけでプロットしたと書いていたような気がする。
タグ:
posted at 11:01:52
「私の提言」で、消費者行政のニセ科学問題例として、Rikatan (理科の探検) 2017年 4月号「酵素、発酵、酵母- ごっちゃになってません?」で小波秀雄先生がご指摘された「酵素ジュース」をご紹介しました。
www.rikatan.com/wiki.cgi?page=...
入賞に選んでいただいて多くの方と問題共有できたこと、嬉しいです。
タグ:
posted at 08:14:49
また、「私の提言」には、doramaoさんの記事にも引用されている2012年7月の朝日新聞記事「EM菌 「効果疑問」 検証せぬまま授業」blogos.com/article/42652/も、消費者教育のひとつでもある環境教育や環境運動にニセ科学が入り込んでいる例としてご紹介しました。
www.acap.or.jp/taigai/news-re...
タグ:
posted at 08:04:08
@ceptree @MathSorcerer NumbaもCythonもきちんと使えば #Julia言語 並みに速いと思います。でも、問題の種類によっては非常に面倒になる。
すべてをPythonでやるという発想はエンジニアリングとして稚拙だと思います。明るい未来が無さそう。
現実には技術的合理性に従えない人達がいるという社会的な問題がでかい。
タグ: Julia言語
posted at 07:59:53
土井裕明先生のご発言>「小学校とかで総合学習の授業のときに、EM菌、乳酸菌の泥団子を川に放り込んだりして、それで浄化するみたいなことをやって、うちはこんなに頑張って総合学習に取り組んでいますみたいなことを言うのだけれども、果たしてそれは本当にいいのかという疑問があります。」
タグ:
posted at 07:56:20
中学校教員は「内申が人生全てを支配する」みたいな印象づけるの、やめてほしい。
ご自分は閉鎖的な学校社会しか知らないのに、「将来、社会では通用しない」とか脅すのもやめてほしい。
タグ:
posted at 07:52:09
「わたしの提言」で消費者教育にニセ科学が入り込んだ例としてあげた、小学校の総合学習などで行われるEM菌泥団子河川放り込み問題は、こちらの消費者委員会議事録での「消費者支援ネット・しが」代表、土井先生のご発言より引用しました。www.cao.go.jp/consumer/iinka... twitter.com/syoyuri/status...
タグ:
posted at 07:51:49
@ceptree @MathSorcerer 情報1 numpy-discussion.10968.n7.nabble.com/SFMT-faster-me...
Python界で「MTよりもっといいやつを使おう」という提案に冷たい反応。
情報2 twitter.com/genkuroki/stat...
タグ:
posted at 07:51:05
@ceptree @MathSorcerer 全くその通りで、擬似乱数発生器の質と速さは重要。
だから、メルセンヌツイスターを使って、2次元イジングのメトロポリス法のスピード競争で #Julia言語 に勝つのは無理だと思います。
Julia言語ではdSFMTを採用していて、質・速さ両面で優れている。
タグ: Julia言語
posted at 07:42:48
「消費生活相談の中で、効果効能をうたいながら、実は科学的根拠のない「にせ科学」商品による消費者被害が多いことに着目し、科学的知見に基づいた情報提供・消費者教育の必要性を訴えています。」
審査委員には消費者庁福岡徹審議官もおられますし、このような訴えをお届けできたこと、嬉しいです。
タグ:
posted at 07:38:11
公式発表されました。改めて、入選させていただいたこと、ありがとうございます。
第33回 2017年ACAP消費者問題に関する「わたしの提言」、受賞作決まるwww.acap.or.jp/taigai/news-re...
タグ:
posted at 07:33:26
非公開
タグ:
posted at xx:xx:xx
DifferentialEquations.jl – part 2: decision from the model www.juliabloggers.com/differentialeq... #juliabloggers
タグ: juliabloggers
posted at 06:57:22
Solving the group expenses headache with graphs www.juliabloggers.com/solving-the-gr... #juliabloggers
タグ: juliabloggers
posted at 06:57:21
非公開
タグ:
posted at xx:xx:xx
ごまふあざらし(GomahuAzaras @MathSorcerer
@ceptree それも考えましたが試す気力ライフがゼロなので回復したらトライして見ます。
タグ:
posted at 04:16:03
@MathSorcerer サイズがはじめから分かってるなら、乱数生成のところはベンチマークから外して、配列に乱数を入れて参照するという手もありますかね。
タグ:
posted at 04:09:02
#RaspberryPi で #julialang (VNCでメインPCから) pic.twitter.com/KiaDSOD10q
タグ: julialang RaspberryPi
posted at 03:58:47
ごまふあざらし(GomahuAzaras @MathSorcerer
@ceptree 正面向かってJuliaに勝とうと思った場合はJuliaの乱数生成と同じのを使ってかつNumbaがコンパイルしてくれるようにコードを書くという作業が必要になると思います.それは私にとって敷居が高いのでそこまでするのであればJuliaでいいかなという気もします・・・.(´・ω・`).
タグ:
posted at 03:50:28
ごまふあざらし(GomahuAzaras @MathSorcerer
@ceptree Isingモデルの話に限定すればPythonとJulia各々で使われている np.random.random と rand の違いが大きく出てるのだと思います.
タグ:
posted at 03:37:00
“最適化の規則:
規則 1: するな。
規則 2 (エキスパート専用): まだするな。” - Michael A. Jackson twitter.com/codewisdom/sta...
タグ:
posted at 03:07:53
Getting started with DifferentialEquations.jl www.juliabloggers.com/getting-starte... pic.twitter.com/PBs9IXd3xP
タグ:
posted at 02:41:00
@cubic_root3 @genkuroki 僕はこんなん。#MetaPost を #TeX で。まだ精度がマジですかって感じの時のMetaPostでしたが。 pic.twitter.com/3HxuTujfsD
posted at 02:29:31
@cubic_root3 @genkuroki archimedes.c.blog.so-net.ne.jp/_images/blog/_...
はいな。僕が以前にMetaPostで描いたのはこんなの。結構好評なようす。
タグ:
posted at 02:19:27
非公開
タグ:
posted at xx:xx:xx
Juliaの速さを体感する2 (参考 : Python(Numba)とFortranの速さも体感する) on @Qiita qiita.com/ceptree/items/...
タグ:
posted at 01:54:41
非公開
タグ:
posted at xx:xx:xx
#Julia言語 twitter.com/genkuroki/stat...
Julia言語の確率分布のパッケージでは、
rand(Normal(μ,σ), 10^6)
のような形式で正規分布のサイズ10^6のサンプルを作れます。確率密度函数は
pdf(Normal(μ,σ), x)
一般にdが確率分布のとき、確率分布に関係する様々な函数は f(d, x) の形式で使えます。
タグ: Julia言語
posted at 00:42:18
非公開
タグ:
posted at xx:xx:xx
#Julia言語 私の場合にもJupyterでカーネルが死にまくって最初はJuliaをJupyterからなかなか使えなかったので、同じ問題でつまっている人は私と同じ道をたどっていることになります。私が到着した地点は次のリンク先を見ればわかる。
nbviewer.jupyter.org/gist/genkuroki...
タグ: Julia言語
posted at 00:33:05
#Julia言語 私も最初入れたときには同じように kernel dead になりまくりました。全部消して最初からやり直すことを数回。私によるJulia言語+Jupyterのインストールの記録は
nbviewer.jupyter.org/gist/genkuroki...
失敗したら、全部アンインストールしてやり直すのも一つの手です。
twitter.com/kubomsyk/statu...
タグ: Julia言語
posted at 00:26:04
見つけたけど、pkg.addしたらalready installedとなってたけど、jupyter notebookでjulia編集しようとするとkernel deadとなってて使えない。Pkg.statusだとIJuliaインストールされてる。
タグ:
posted at 00:22:49
#Julia言語
nbviewer.jupyter.org/gist/genkuroki...
Julia言語における確率分布の作り方
dを確率分布とするとき、擬似乱数生成rand(d)、対数確率密度函数logpdf(d,x)、1から累積分布函数を引いたものccdf(d,x)など色々な函数が欲しいのですが、それらはquantile, pdf, cdfを定義すれば自動的に作成されます。
タグ: Julia言語
posted at 00:18:45
FFTとか思いっきり数値計算だし、Julia language を学ぶ良い口実になりそうだ……すっかり忘れてる数学だの物理だのを復習するあたりでブニュウゥしなければ遊び感覚で行けそう
音波の表現に凝ったりできるだろけどUIまでJuliaでできるんかな、そこは他言語?
タグ:
posted at 00:17:52
Julia動かないと思ったら、環境変数のJULIA_PKGDIRの設定にjulia.exe(フォルダじゃなくてexeファイル)を指定してしまっていた。どうもこのパスの下にフォルダを切りたかったらしいけど、ファイルだからmkdirできん!と怒られてた。
タグ:
posted at 00:07:58
ふむ? こなスクリーンショットから妄想するにFFTして不要と思われる周波数域を抹消後、再合成するとかかなあ twitter.com/koiwai_kotori/...
タグ:
posted at 00:05:09