黒木玄 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月11日(木)
#Julia言語 #Ising 2次元Isingの動画を複数放流します。サイズは100×100でその全体を1000万回更新しました。絶対温度Tは臨界点T_cの1.01, 1, 0.99, 0.987, 0.98倍です。段々、温度が下がって行くにつれて、シミュレーションにおいて片方に偏った状態が長く続くようになることがわかります。 pic.twitter.com/XpR7rZaLg0
posted at 00:26:30
#Julia言語 サイズ大での理論的な臨界点から1%絶対温度を下げてみるとこうなる。 pic.twitter.com/60KITie4l9
タグ: Julia言語
posted at 00:28:44
#JuliaLang T = 0.987 T_c (一つ前のやつが T = 0.990 T_c) pic.twitter.com/5WkLYg1xjY
タグ: JuliaLang
posted at 00:29:52
#JuliaLang T = 0.98 T_c ではずっと片側に偏り続けている。100×100の盤面全体を1000万回更新している。対称であるように見えるアニメーションを作るためには一体どれだけ更新したらよいのだろうか? pic.twitter.com/tSX4nyvhnH
タグ: JuliaLang
posted at 00:31:52
#Julia言語 以上のGIF動画をすべて含むJulia言語のJupyter notebookが次の場所で公開されています。Julia言語を使えば誰でも再現可能です。パラメーターをいじれば自分だけのGIF動画も作れます。
nbviewer.jupyter.org/gist/genkuroki...
2次元Ising模型:メトロポリス法
タグ: Julia言語
posted at 00:35:48
#Julia言語 #統計力学 6人をN人(Nは大)に増やした場合の話は統計力学の教科書に載っていて答えを知っている人は多い。
問題:ランダムに資産を繰り返し移動させる。AからBに資産を移動させるときにはAの資産の5~15%(ランダムに決める)を移動させる。どうなるか?
twitter.com/cometscome_phy...
posted at 01:15:24
#Julia言語 で非線形偏微分方程式を数値的に解きたい人にとっては
nbviewer.jupyter.org/github/johnfgi...
Benchmarking Julia on a PDE: the Kuramoto-Sivashinksy equation
が参考になると思う。
* doing FFTs in-place
* removing temporary vectors in time-stepping loop
で爆速になったと書いてあります。
タグ: Julia言語
posted at 01:47:58
nbviewer.jupyter.org/github/johnfgi...
を見れば、 #Julia言語 は非線形偏微分方程式の数値計算に関しても、C、C++、Fortran と肩を並べる計算速度を持つプログラミング言語であることがわかります。
タグ: Julia言語
posted at 01:51:13
非公開
タグ:
posted at xx:xx:xx
adhara_mathphys @adhara_mathphys
@genkuroki できる気がしました。
julia内でpythonの場所を指定することができる(pythonがいくつもコンピュータに入っている場合)ので、それをsagemathのpythonにすればpycallで呼べるかもしれません。
タグ:
posted at 06:07:12
ごまふあざらし(GomahuAzaras @MathSorcerer
ノートブックの後半を見ると各々の言語のコードも公開されている。 twitter.com/genkuroki/stat...
タグ:
posted at 08:54:25
#Julia言語
Bash → cat test.txt | sort | uniq
Julia → testdata |> sort |> unique pic.twitter.com/gszVnAc02E
タグ: Julia言語
posted at 10:21:04
#Julia言語 では
testdata |>
sort |>
unique
とは書けるが
testdata
|> sort
|> unique
と書けない。どうしてもこんな風に書きたければ括弧を使う。
(testdata
|> sort
|> unique)
Julia言語は適切にパースできるなら改行で切る。それ以外のときには次の行に続いていると判断。 pic.twitter.com/twr0UZ4hHf
タグ: Julia言語
posted at 10:29:28
「#Julia言語 における end が余計に感じられる」という人も多いかもしれないが、「面倒だから1行で計算してしまおう」と思ったときに end は役に立つ。Julia言語では
if x ≥ 0 x else -x end
for i in eachindex(x) s+=x[i] end
のような書き方も許される。Julia言語は高級電卓的にも便利。
タグ:
posted at 10:37:01
ところで Julia の双対数を使った forward mode 自動微分ライブラリはこちら www.juliadiff.org/ForwardDiff.jl...
タグ:
posted at 13:23:28
非公開
タグ:
posted at xx:xx:xx
JuliaとPython(というか将来的にMATLAB)で変数は共有できたらいいなと思ったけど、実行の度にカーネル切り換えなきゃいけさそうで、オペミス頻発するので現実的ではなかった。なんかうまいアイデアあるのかな?
---
a=[1;2;3](Julia)
b=[2,3,4](Python)
a+b
みたくしたら一応できた。 twitter.com/ceptree/status...
タグ:
posted at 15:09:29
@AoiMoe JuliaのLuxor.jlというライブラリはどうでしょう? juliagraphics.github.io/Luxor.jl/stabl...
タグ:
posted at 15:12:18
よさそう RT @bicycle1885: スタンフォードからJuliaを使った最適化アルゴリズムの教科書が出るらしい。それでレビューをする人を探しているみたい。discourse.julialang.org/t/ann-algorith... ToCを見る限り500ページ近い本気の本だ: alg4opt.net/contents.pdf
タグ:
posted at 15:25:09
@kamo_hiroyasu @AoiMoe %職場用に作ったサンプルです。拡張子psで保存しお使いください。参考になれば幸いです。
0 1 0 0 setcmykcolor
300 600 128 0 360 arc fill
110 170 moveto
480 170 lineto
300 480 lineto
closepath fill
/Helvetica-Bold findfont 100 scalefont setfont
110 55 moveto (LADIES) show
showpage
タグ:
posted at 15:59:10
Juliaのbounds checkで配列長取得してる所と、Base.arraysizeのLLVM IRのコードが一致してた pic.twitter.com/OdpRjuqvjJ
タグ:
posted at 16:05:32
あとこのページのJuliaからCを呼ぶじゃなくて、CからJuliaの関数を呼ぶってやつもでけたw 公式のやつじゃコンパイルできなかったけど、画像のやり方で一応いけた。
docs.julialang.org/en/v0.6.2/manu... pic.twitter.com/mCX3t8mZnq
タグ:
posted at 16:13:26
Michael P.H. Stumpf @theosysbio
At @MelbIntGen I will have PhD and postdoc positions in comp and theoretical #singlecell & #stemcell systems biology, network inference, ABC, multi-scale modelling. Please RT, and DM if interested. Also looking for people with interest in #julialang
タグ: julialang singlecell stemcell
posted at 16:25:10
非公開
タグ:
posted at xx:xx:xx
#Julia言語 1枚のJupyter notebookで複数のプログラミング言語を使うためにはリンク先の SoS が使えるようです。どなたか、インストールの仕方から解説してくれれば試す人が増えるかも。
github.com/vatlab/SoS
タグ: Julia言語
posted at 16:58:07
非公開
タグ:
posted at xx:xx:xx
Juliaの@ code_llvmの出力結果であるLLVM IRの日本語資料を読みたい人は、@MathSorcererさんに教えて頂いた『きつねさんでもわかる LLVM コンパイラを自作するためのガイドブック』の第4章がおすすめです。 twitter.com/MathSorcerer/s...
タグ:
posted at 17:12:45
ごまふあざらし(GomahuAzaras @MathSorcerer
HP みるとInstall方法がYoutubeに上がっているみたいですね. twitter.com/genkuroki/stat...
タグ:
posted at 17:39:03
#統計力学 #Julia言語 その他に税率を富裕層ほど高くして再分配を繰り返すという選択肢もありだと思います。その場合にはどうなるのか?
次のリンク先にシミュレーション結果があります。
nbviewer.jupyter.org/gist/genkuroki...
資産のランダム分配
添付画像は税率一定の場合。初期条件が違う2つの場合。 pic.twitter.com/cIthQulLqO
posted at 17:49:11
#Julia言語
nbviewer.jupyter.org/gist/genkuroki...
資産のランダム分配
このJupyter notebookでは2つだけ「素朴じゃないこと」をしています。
(1) 函数的オブジェクトでパラメーター付き函数を実現している。
(2) Int64値の乱数ではなく、Int32値の乱数を使用している。
どちらも計算速度を落とさないためです。
タグ: Julia言語
posted at 18:00:33
#Julia言語 税函数の(典型的には税率のような)パラメーターを大域変数の参照で実現してしまうと、計算速度が大幅に落ちます。しかし、
docs.julialang.org/en/stable/manu...
の方法でパラメーター付き函数を実現すると計算速度は劣化しません。件のノートブックではそれをやっています。
タグ: Julia言語
posted at 18:04:05
#Julia言語 続き。Julia言語ではランダムな整数を64ビット整数値にすると擬似乱数生成が少し遅くなり、32ビット整数の擬似乱数生成の方が3割くらい速くなります。3割の違いは大きいので、32ビット整数で擬似乱数を生成するようにしています。
juliasnippets.blogspot.jp/2017/11/basics...
gist.github.com/genkuroki/b629...
タグ: Julia言語
posted at 18:09:41
ごまふあざらし(GomahuAzaras @MathSorcerer
PythonはほとんどNumpyで書かれているからあまり無駄なことはしていないっぽい.それでもナイーブに書いたJuliaのほうが速いという結果を見て(Pythonを使う身としては)ちょっと悔しい感じはする. twitter.com/genkuroki/stat...
タグ:
posted at 19:57:24
JuliaがPythonに比べて速いことを知って飛び付く人がいるので、弊社がJuliaで書いてるものもあるし、「同じ給与ならJulia書いて飯食いたい優秀な人」をヘッドハントする準備を始めるか。
タグ:
posted at 20:03:47
ちなみにJuliaという名前は女性の名前になることが多いけどこのプログラミング言語は女性を意味していなくてそういう性別に結びつける事を茶化したり言わない約束が公式にでているので、Juliaを使うなら言わない方がよい。
タグ:
posted at 20:07:28
多層パーセプトロンなら行列演算が増えるからどうなるだろう。Pythonのanacondaから入れたnumpyはintel MKLが入ってるねんけど、JuliaのBLAS、LAPACKって何が入ってるの
タグ:
posted at 20:09:31
非公開
タグ:
posted at xx:xx:xx
非公開
タグ:
posted at xx:xx:xx
副業のプロジェクトで、数学徒数人が「これを解きたい....」「この方程式を解いたら金を稼げる....」とあんまり慣れてない巨大な計算機を、効率が良いからとJuliaで四苦八苦しながら動かしてる姿は凄く格好良いと思う。こういう美学を大事にしていきたい。
タグ:
posted at 20:24:06
twitter.com/KKami1115/stat...
#Julia言語 たぶん、自分で使うなら
(1) Plots.jl ← Julia界でのスタンダード
(2) PyPlot.jl + PyCall.jl ← Python matplotlib でできることは何でもできる
の両方がおすすめだということにしておけば無難だと思います。
私は主に PyPlot.jl を使っています。続く
タグ: Julia言語
posted at 20:31:26
@genkuroki すみません、今読むと普通にグラフ📈📊に読める…僕は基本Rを使ってるので、通常何らかのグラフを描きたい場合はRCallしてplotした方が良さそうですね
juliaのPlotsは強そうなんですがイマイチまだよくわからなくて…
タグ:
posted at 20:39:49
#Julia言語
Julia言語に関する検索の仕方
(1) JuliaLang とキーワードを一緒にググる。
例: JuliaLang graph
www.google.co.jp/search?q=Julia...
(2) 〈名前〉 jl をググる。
例: graph jl
www.google.co.jp/search?q=graph...
タグ: Julia言語
posted at 20:44:55
#Julia言語 グラフ構造の取り扱いをすぐに始めたい人は
github.com/JuliaGraphs/Ju...
をダウンロードして、実行すると楽っぽいです。Jupyter notebookの最初の方にパッケージをインストールするためのコードもついています。だから、パッケージも簡単にインストールできる。
タグ: Julia言語
posted at 20:58:41
長らく停滞していたリー群の理解が少し進みました。@genkuroki さんに説明して頂いた四元数とリー群についての説明を読み返しています。当時は知識不足でほとんど理解できませんでしたが、今見ると、他では絶対に読めない素晴らしい説明で感動しています。
mathtod.online/@genkuroki/204...
タグ:
posted at 21:05:10
@ceptree bicycle1885さんのSIMDの記事読みましたか?
こんな簡単にCPUと対話できるJuliaの素晴らしき能力で、さらなる早さを体感しませんか?
僕これ実装したときに「ああ、僕は今OpenBlasを超えたんだ....」ってなって凄く嬉しくて快感でした。
ぜひお試しあれ!!
qiita.com/bicycle1885/it...
タグ:
posted at 21:28:35
イマジンアドミニストレーター@妄想管理者 @imaginster
早速、インストールしてみてるんですけど、python3.5では動かない。指定の仕方かが分からない_(:3 」∠)_ログから探れば良いと思うけど…後回しw
おそらく原因は、sos側でformatが3.6で追加されたfの方を使用してる事が原因。
とりあえず、3.5は諦めて、3.6にバージョンアップして施行する予定。 twitter.com/genkuroki/stat...
タグ:
posted at 21:35:33
@genkuroki 理解が進んだのは、モヤモヤしてまとめきれないでいた自分の考えを @adhara_mathphys さんに再解釈していただいたことが決め手となりました。
twitter.com/adhara_mathphy...
タグ:
posted at 21:35:41
一連のJulia関連の流れを見た感じ、書き方が最適である場合にFortranの2倍以内に収まるっぽい(本気出せば1倍)ので、趣味として高速化してみようかな
タグ:
posted at 21:41:33
Julia、運が悪い時にとても遅くなっていて、その運が悪かった時にどう改善するかがJulia言語依存な感じになっているため、いつもCくらい速い、というのは語弊がある感じ
タグ:
posted at 21:46:25
ごまふあざらし(GomahuAzaras @MathSorcerer
JuliaからPythonを呼び出すのはPyCallをつかえればアザラシでもできるでキュ. twitter.com/genkuroki/stat...
タグ:
posted at 21:47:23
adhara_mathphys @adhara_mathphys
JuliaはOpenBLASが標準装備のようです。 pic.twitter.com/H3ghOxBMVL
タグ:
posted at 21:53:22
adhara_mathphys @adhara_mathphys
Juliaのversioninfo()より:OpenBLASです。 pic.twitter.com/J3Lv1iNeYi
タグ:
posted at 21:54:51
Fortranから来た人は、
1. Do i = 1,Nをfor i=1:Nと書く
2. intent(out)な引数はreturnの後に書き、subroutineはfunctionみたい
3. nxm次元配列の初期化はzeros(Float64,n,m)
だけ覚えておけば書ける
タグ:
posted at 21:59:41
今年度から入社した会社のお金でJuliaにインテル入ッテルしようとして会社の予算でenterpriseのintelcompiler買おうとしたら相棒の脳乱氏に止められた話しますか?
タグ:
posted at 22:00:48
#Julia言語 添付画像は Julia 言語のJupyter notebookのセルの一つです。(In [1] を隠していることがミソなんですが)
gist.github.com/genkuroki/841c...
日本語使いまくり。 pic.twitter.com/waC7bCk6uT
タグ: Julia言語
posted at 22:01:08
そして日本語変数と日本語関数が使える。という。そしてFortranになかったライブラリは大抵あるしそれでもなければPythonライブラリ呼べるのでそれを使えばよい。大規模並列計算で使えるかどうかは未調査
タグ:
posted at 22:03:53
[訂正] 先程、行列積でnumpyが遅くなったとリプライをつけてましが間違いでした。Pythonと異なりJuliaでの行列積はdot(A,B)ではなくA * Bでした。
タグ:
posted at 22:12:38
Juliaを使うことが有効になる機会が現れる人は、自分で数値解析のアルゴリズムを考え、人間の知性の化身である計算資源を幸せに繋がるという素敵な問題を発見して、相当Juliaが好きということだから、安心して誇っていいと思います。
どんどん他の人の実用例が見たい。
タグ:
posted at 22:16:57
Julialangが人気あるのは、CやLispが好きで賢い型推論を導入しているという「プログラム言語工学的に分かっている感」がひしひしとする、というあたりは大きいと思う。実際、快適な数値演算を書こうとすれば式木自体を操作したうえでゴリゴリ最適化したいからベースとしてはそれが必然だし。
タグ:
posted at 22:26:49
C++で演算子オーパーロードして、SUNがFortress作ってた時にワクワクしてた人たちなら、「いっそ言語設計レベルから最新のもので取り組みたい」と思ったことはあるだろうし、それを実行したのがJulialangという感じなので心惹かれる人は結構多いのではと思う。
タグ:
posted at 22:28:36
イマジンアドミニストレーター@妄想管理者 @imaginster
とりあえず、3.6にしたらやっぱり上手くいった(*´∇`*)ノ
ちゃんと、sosとpython3が選択できる(*´∇`*)
今日は就業時間のため、他の言語はタイムアップでまた明日_(:3 」∠)_
タグ:
posted at 22:41:32
非公開
タグ:
posted at xx:xx:xx
非公開
タグ:
posted at xx:xx:xx
非公開
タグ:
posted at xx:xx:xx
#Julia言語 科学技術関係だけではなく、マネーゲームにもJulia言語は役に立ちます。
juliacomputing.com/blog/2017/08/2...
Algorithmic Trading with Julia
22 Aug 2017 | Avik Sengupta and Simon Byrne
タグ: Julia言語
posted at 22:59:01
#Julia言語 に関しては
github.com/bicycle1885/Ju...
高速でJuliaを学ぶチュートリアル
の紹介がよいのですが、次のリンク先も非常に面白いです:
nbviewer.jupyter.org/github/bicycle...
Julia言語はコンパイラが何をやっているかがよく見える。Julia言語はそういう意味でも「教育的」だと思う。
タグ: Julia言語
posted at 23:05:05
イマジンアドミニストレーター@妄想管理者 @imaginster
とりあえず、これでjsとBashも起動出来る(*´∇`*)
あとは、juliaのみ_(:3 」∠)_
この後設定を細かくまとめるから、julia は、明日(*´∇`*)ノ
Python3ってのは、先に3.5が入ってたせいで、使える事は使えるが選択するたびに警告がでるw pic.twitter.com/cVndT3sAj6
タグ:
posted at 23:06:01
非公開
タグ:
posted at xx:xx:xx
#Julia言語 もう一つ気になること。dot syntaxで配列の計算を効率よくやっていても、dot syntaxが適用できない計算に配列を渡すときに、大量にメモリが消費されてしまう問題の解決法。
典型的なのは配列a,bに関する sum(a+b) です。それについても
nbviewer.jupyter.org/gist/genkuroki...
に書いた。
タグ: Julia言語
posted at 23:45:29
@SING_A_WELL まあ僕はたまたまたどり着いたって感じだけどね。当時scilabでやってた計算が遅くて大変だったから何か良いの無いかと思って適当に検索してたら見つかったって感じ そしたらたまたま同時期に別の先生も注目していたらしく講習会を開いてた(これはメーリスが流れた)
タグ:
posted at 23:52:09
@SING_A_WELL 僕も今まで少しだけツイートしてるから、実はTwitterでも情報は見てるはずなんだよ。それを拾えていないだけで。
メーリスは入れるんじゃない?DAM メーリスとかで検索すればいいと思う
タグ:
posted at 23:59:22