黒木玄 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月10日(水)
@genkuroki アドバイスありがとうございます。参考にさせて頂いた上、YouTubeでも動画を探して同じことをしたつもりですが、それでも何かを間違えました。。。
タグ:
posted at 00:07:53
@genkuroki @tkf 多変数の偏微分方程式を解いていたところ、配列の2次元配列v::Array{Array{Float64,1},2}のラプラシアン(v[i-1,j]+v[i+1,j]+v[i,j-1]+v[i,j+1]-4v[i,j])の計算でGCが発生しまくりました。言われてみれば当たり前なのですが、一時変数なので破壊してくれてもいいのにとも思うところです。
タグ:
posted at 01:02:40
@genkuroki @tkf もちろん、@.記法等のおかげで、メモリ絡みで時間を浪費しないように書くのは難しいことではないのですが、とはいえ「擬似コードをそのまま翻訳すればOK」ほどナイーブではないという印象は強く持った次第です。
タグ:
posted at 01:07:12
@genkuroki 紹介ありがとうございます。本質的に問題を再現する小さいコードです。
gist.github.com/mac-wac/20c5c1...
僕の環境ではnaive.jlの実行に30秒強、fast.jlは2秒経たずに終わります。
タグ:
posted at 02:05:30
Juliaの@ inboundsマクロの有無によるLLVMの変化(1枚目)。@ inboundsつけても残った処理部分(2枚目)はわかるけど、bounds check(3枚目)と思われる箇所が読めない。 pic.twitter.com/he75gNtK7R
タグ:
posted at 04:59:13
猫村ゐき (Nekomura Wiki) @lll_anna_lll
Juliaブームとのこと。今更感は強いが、個人的に推している言語なのでもっと推してくれ。
タグ:
posted at 07:20:52
Qiitaに書いたJuliaの計算でint(1)とfloat(h)で引き算してるとこ、@ code_typedやと型変換(sitofp : signed integer to froating point)してるけど、LLVMやとちゃんとdouble(1.0)になってた。かしこい。
タグ:
posted at 07:23:03
JuliaでExcelを読もうとしてPkg.add("ExcelReaders")したら色々と追加で入れなければならない。けっこー待ちなのです。
Anacondaも随分放置プレイだったし
github.com/davidanthoff/E...
タグ:
posted at 08:46:46
物理学の本では「母関数」は頻出ですが、あっさりした解説が多く、釈然としない方もいるかもしれません。そんな時、東北大学の大野泰生先生による「母なる関数、母関数」は助けになると思います。非常に丁寧に母関数の概念が解説されており、高校生にもお薦めです。
www.shokabo.co.jp/column-math/co...
タグ:
posted at 08:59:38
#Julia言語 で巨大配列を扱うときには様々な注意が必要で難しいです。最低でも
dot syntax および dot macro (@ .)
について知っておかなければいけない。私も実験してもて「それだけですまないのではないか」と思ったので報告します。追試、拡張、コメント求む。続く
twitter.com/mac_wac/status...
タグ: Julia言語
posted at 09:58:38
#Julia言語 時間がないので実験結果にリンクをするだけですませます。
gist.github.com/genkuroki/799b...
注目するべきなのは In [1] (@ inline あり)と In [2] (なし)でのメモリの使い方が大幅に違うことです。理由がわかる人は教えて下さい。
補足:GCは0%にできています。
タグ: Julia言語
posted at 10:01:27
Juliaはまだ足りないものが多いので,使うのが厳しい場面も多々あるのは確か。ハンターハンターで言うと,基本の四大行を覚えたあたりでまだ実践向きでないところもある。
タグ:
posted at 12:27:54
Julia警察「貴様、Matlab使いか?」
???「ち、違います…」
Julia警察「では横ベクトルを宣言してみろ」
???「a = [1, 2, 3]」
Julia警察「こいつを連れて行け」
タグ:
posted at 12:28:06
@genkuroki ソースを明示してませんもんね。確かそもそもパッケージ一覧みたいな公式ページのところから飛んだとこにあるサンプルそのまま。
Permutation([1,3,2])なら(1)(2,3)と返す類の極めて基本的な命令が動きませんでした。また懲りずに今夜試してみます。
タグ:
posted at 13:01:43
画像化されたKindle版より,技術評論社直販PDFのほうがお薦めです。おそらく発売日は同じです gihyo.jp/book/2018/978-... twitter.com/mkamimura/stat...
タグ:
posted at 13:40:50
非公開
タグ:
posted at xx:xx:xx
非公開
タグ:
posted at xx:xx:xx
#Julia言語
gist.github.com/genkuroki/799b...
巨大配列の取り扱い方について
を大幅に拡充しました. 結論はこうです。
ベクトル値函数の離散化として, スカラーの3次元配列をベクトルの2次元配列であるかのように扱って実現するとき, 離散ラプラシアンの計算は, ~続く
タグ: Julia言語
posted at 16:57:51
#Julia言語 では、最近話題になっているように多くの場合に
gist.github.com/genkuroki/d5f8...[
のレベル2まで注意できれば高速計算が可能になります。
しかし、Julia言語も大きな配列を扱う場合に関してはまだ例外的に使い難く、上で述べたような注意が必要。注意すればもちろん計算は速いままです。
タグ: Julia言語
posted at 17:06:40
#Julia言語 で大きな配列を扱うときの処方箋については
gist.github.com/genkuroki/799b...
を見て下さい。処方箋が成功すれば効率よく高速計算可能。
しかし、私自身もどうしてこれで非常にうまく行ってしまうのか理解していません。うまく行っていることだけはテスト結果を見ればわかります。
タグ: Julia言語
posted at 17:08:59
#Julia言語 2次元の正規分布の離散化の離散ラプラシアンのプロット。左側が正規分布で右側がそれにラプラシアンを作用させた結果.
右側で、黒青~赤の部分はラプラシアンの値が負。熱方程式下がる部分。白い部分はラプラシアンの値が正。熱方程式で上がる部分。中央が下がって周囲が上がる。 pic.twitter.com/XkPsNhqEz5
タグ: Julia言語
posted at 17:17:43
@genkuroki n=10でもメモリをとても使っていました。「巨大な配列」というのは誤解が生じるのではないかと思いました。添字の多い配列の問題でしょうか?
タグ:
posted at 17:37:19
#Julia言語 先のJupyter notebookのタイトルを変更しました。
gist.github.com/genkuroki/799b...
Julia言語における配列の扱い方について
配列の和を繰り返し計算するとメモリを大量消費してしまう問題の解決例が書いてあります。この点はJulia言語への入門者にとって障壁になる問題だと思います。
タグ: Julia言語
posted at 18:12:34
#Julia言語 むむむ。ツイッターの表示ではタイトルが更新されていない。リンク先では更新されています。nbviewer の方にもリンクをはっておきます。ブックマークするならこちらの方がよいと思います。こちらの方が表示の質がよい。
nbviewer.jupyter.org/gist/genkuroki...
Julia言語における配列の扱い方について
タグ: Julia言語
posted at 18:19:24
ちょっとササッと試しにコーディングしたいな → 今だと Fortran になる
ここのところを Julia か Rust に変えたい気がする。C/C++/Matlabは今からやるにはちょっと、なんか、その、、、っていう
タグ:
posted at 18:31:19
ごまふあざらし(GomahuAzaras @MathSorcerer
スマホからでも見られてグッド twitter.com/genkuroki/stat...
タグ:
posted at 18:46:19
@genkuroki #julia #Julia言語
q = Permutation([1,6,2,3,4,5])
に対して次のエラーが出ます。
UndefVarError: Permutation not defined
import Permutationsは通ってます。だから謎。
posted at 18:46:51
@genkuroki なるほどなのか何なのか解決した。 #julia Pkg.add(“Permutations”)でJuliaにパッケージを追加したら使う時には using なのか。using Permutations としたらPermutation([1,3,2])が通った。ホッとするなど。遊べる
タグ: julia
posted at 19:52:47
非公開
タグ:
posted at xx:xx:xx
非公開
タグ:
posted at xx:xx:xx
非公開
タグ:
posted at xx:xx:xx
#Julia言語 のJupytet notebookに文字列としてCのコードを書いておき、それをgccでコンパイルした結果をJuliaの函数として組み込んで実行することによって、「Julia帝国軍」と「gcc+色々連合軍」を戦わせてみたJupyter notebook
gist.github.com/genkuroki/c9ae...
gccでJuliaに勝つのは大変でした。
タグ: Julia言語
posted at 21:05:46
ごまふあざらし(GomahuAzaras @MathSorcerer
Xorshiftの乱数生成だったら行けるかもしれない・・・ twitter.com/genkuroki/stat...
タグ:
posted at 21:17:34
#Julia言語 続き。こんな感じで最も単純な円周率を求めるモンテカルロシミュレーションでさえ、gcc連合軍(Juliaに勝つためには連合軍化必至!)でJulia言語の計算速度を超えるのは非常に大変でした。その証拠に再度リンクをはっておきます。
gist.github.com/genkuroki/c9ae...
タグ: Julia言語
posted at 21:18:25
#Julia言語 試しました。Julia言語の側で(笑)。
Julia言語では擬似乱数生成器を非常に簡単に別のものに変えられます。
github.com/sunoru/RandomN...
質の面はわからないのですが、dSFMTより少し速かったです。
twitter.com/MathSorcerer/s...
タグ: Julia言語
posted at 21:23:50
#Julia言語 次のJupyter notebookを更新しました。
nbviewer.jupyter.org/gist/genkuroki...
Julia言語における配列の扱い方について
1.6 和の取り方で効率が大幅に変わる
の節が追加された。Julia言語では配列aの中身の総和を sum(a) で高速に計算できます。しかし、sum(a+b)とすると急に効率が悪くなる。
タグ: Julia言語
posted at 21:35:19
macro sum(init, i, iter, f)
quote
begin
s = $(esc(init))
for $(esc(i)) in $(esc(iter))
s += $(esc(f))
end
s
end
end
end
@ sum(0.0, i, 1:n, a[i]+b[i]) のように使う。
@ の後の空白は除く。
タグ:
posted at 21:43:37
#Julia言語 一つ前のやつにタグつけ忘れた。これは最も単純な置き換え型のマクロです。LaTeXを使っている人は常に使っている。マクロ
@ sum(0, k, 1:9, k)
は #113#s を面倒なので s と書くと、
begin
s = 0
for k in 1:9
s += k
end
s
end
に展開されています。 pic.twitter.com/9SBMPwfHgg
タグ: Julia言語
posted at 22:00:15
微分方程式というよりは反応拡散系がずっと昨年から気になってはいるのだけど #julia の #TeX 親和性も気になっていて qiita.com/goropikari/ite...
に書いてあるようにしたらほんまにこうなって感動している。この微分方程式が何かはよく分かってないけど。素敵♬ pic.twitter.com/foeo8ypY6N
posted at 22:10:50
@adhara_mathphys Sagemath自体がいろんなものを集めて繋いだものだったように思うのだけど… 結局ほぼ実現されてるように思います。本当のところはどうだか自信ないけど。
タグ:
posted at 22:11:02
adhara_mathphys @adhara_mathphys
@ceptree pythonですね。
cythonも実行できるそうですが、やったことないですね。
クラウド版sagemathの方はjuliaと既に連携できるという噂なので、近くそうなりそうです!
タグ:
posted at 22:11:09
adhara_mathphys @adhara_mathphys
@ceptree こちらです。
ask.sagemath.org/question/32324...
タグ:
posted at 22:14:34
非公開
タグ:
posted at xx:xx:xx
adhara_mathphys @adhara_mathphys
@ceptree 今気づいたのですが、既に自分のPCで併用はできる状況になっていました。
連携するのかどうかは不明ですが。 pic.twitter.com/0utqVzb3yq
タグ:
posted at 22:24:49
adhara_mathphys @adhara_mathphys
juliaとsagemathはjupyter notebook上で併用できます。
セルごとにカーネルを変更することができます。 twitter.com/adhara_mathphy...
タグ:
posted at 22:28:38
**現時点**での #Julia言語 では、頻繁に配列を確保してメモリを大量消費する書き方を簡単にできてしまうので、解決策を知っている必要があります。次のリンク先に私が知ってることを書いておきました。
nbviewer.jupyter.org/gist/genkuroki...
Julia言語における配列の扱い方について
タグ: Julia言語
posted at 22:30:59
adhara_mathphys @adhara_mathphys
本当はsagemathの中でjuliaが呼べたり、逆ができたり、それが出来なくても変数を受け渡しできたりなどできると良いですが。
タグ:
posted at 22:35:39
adhara_mathphys @adhara_mathphys
sagemathcloudの仕様も見たところは、カーネルの切り替えに思います。多分呼び出し合うところまでは行ってなさそうですね。
タグ:
posted at 22:37:34
adhara_mathphys @adhara_mathphys
しかしながら、juliaが大人気となればsagemathの中にjuliaが入るに違いありません!
というわけで人気にしましょう。私のため世のために。
タグ:
posted at 22:40:37
#julia な #Jupyter のノートで #MetaPost のコードでサクッとお絵描きできるとええのになぁ。誰ぞ早よ。いっそ #Asymptote や #PostScript でも良い。面倒なコマンドは適当にマクロ化で対処できそうやし。
タグ: Asymptote julia Jupyter MetaPost PostScript
posted at 23:00:44
ググってから気がついたが、 #julia で #PostScript とかすると当然と言うか何と言うかポストスクリプトでジュリア集合を書く話ばかり、、、
タグ: julia PostScript
posted at 23:06:09
@tsatie #JuliaLang または #Julia言語 タグがおすすめ。
リンク先を見ればわかるように、SymPy.jl を普通に使っていれば、きちんとLaTeX方式(MathJax)で数式が表示されます。
nbviewer.jupyter.org/gist/genkuroki...
posted at 23:16:09
@sonicair @genkuroki そういえば #JuliaBox www.juliabox.com が使えるようになって開いたけど放ってある。これ開きっぱなしというか繋げっぱなしはやっぱりあまり良くないよね。
タグ: JuliaBox
posted at 23:17:02
@adhara_mathphys Pythonにはsympyという数式処理パッケージがあります。#Julia言語 から SymPy.jl パッケージを使うとPython sympyを使えます。
PyCall.jlでJulia言語からPythonのほぼ任意の機能を使えます。現在でもその方法でPython sagemathをJulia言語から使える可能性が高いです。
タグ: Julia言語
posted at 23:20:53
@adhara_mathphys #Julia言語 に SymPy,jl の sagemath 版である SageMath.jl があればとても便利だと思いました。果たしてそういうことはできるのか?
タグ: Julia言語
posted at 23:21:53
@tsatie 的はずれなこと言ってるかもしれません。既にご存知かと思いますが、juliaでSymPyを使うのであれば、下記のやり方で宜しいかと。
twitter.com/genkuroki/stat...
タグ:
posted at 23:22:07
@genkuroki #JuliaLang を採用しよう♬ それにしても矢張りJは大文字なのか。そこが気になる。 #どうでも良いだろ それと using SymPy だけで良いと。using latexify は必要ないという事なのか。使い分けというか何というか。どういう時にって話がまだ分からない。
posted at 23:23:00
#Julia言語 ぼくは使ったことがないのですが、
github.com/essenciary/Gen...
Genie.jl - The highly productive Julia web framework
twitter.com/lcolaholicl/st...
タグ: Julia言語
posted at 23:33:11
非公開
タグ:
posted at xx:xx:xx
@genkuroki 脳内でアルファベットが踊っている♬ そっかぁ取り敢えずこの Plot という #JuliaLang のパッケージを眺めてみるべきやな。何ができるものか。話はそれからだって事か。
タグ: JuliaLang
posted at 23:39:37
これも面白そう。こういうの(#JuliaLang の日本語資料)を集積した #Wiki (#TeXWiki )みたいなものを #誰ぞ早よ 作ってくれんものか。みている側から忘れそう。 twitter.com/genkuroki/stat...
posted at 23:45:37