黒木玄 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 を見て下さい。
2020年10月12日(月)
@genkuroki ”データサイエンス用の言語”
だからか、最近のPythonの入門書とかで、変数名に(Monty Pythonにちなんだ)spam、egg、hamみたいなのがあんまり見かけなくなったよな気がしたり。🐍
(一通りが望ましいとか堅い印象でも、そのおかげであった(?)堅くないとこもあるって印象が…😥)
タグ:
posted at 00:11:46
Scientists and mathematicians are excited about a new tool. It’s not a new particle accelerator nor a supercomputer. Instead, this exciting new tool for scientific research is... a computer language. trib.al/SNenc7M #JuliaLang
タグ: JuliaLang
posted at 01:36:56
Hacker News記事題日本語翻訳 @hackernewsj
CSVリーダーのベンチマーク:JuliaはPythonやRよりも10〜20倍高速にCSVを読み取ります juliacomputing.com/blog/2020/06/2...
タグ:
posted at 01:50:48
Python関数の引数にするのに形成しなあかんの初心者に優しくない(LaTeXのnewcommandみたいに引数に任意の文字列入れれて、元の文章通りのコマンドを実行してくれたら嬉しいのに)
タグ:
posted at 01:59:36
Dr. Chris Rackauckas @ChrisRackauckas
@Guru_GyanKhoji @groundwalkergmb @rstatstweet @SilverLinings71 @erikengheim @jamie_lendrum @mikedecr For reference, I wrote a way to JIT compile a subset of R two months ago, and showed that on the problems it can handle that you get about 5x away from Julia. But R's objects, NSE, etc. had to be discarded and so it only supports a very small subset of R.
www.stochasticlifestyle.com/gpu-accelerate...
タグ:
posted at 03:28:06
@seekerandprimes Pythonは多重定義とかないので…
(それが一般的に良いのかどうかはおいといて)Python流のやり方で回避はできることは多いです
まぁこのPython流のやり方といのを嫌ってJuliaなど他言語を選ぶ人も多いように思います
タグ:
posted at 03:30:39
Dr. Chris Rackauckas @ChrisRackauckas
@Guru_GyanKhoji @groundwalkergmb @rstatstweet @SilverLinings71 @erikengheim @jamie_lendrum @mikedecr You simply cannot do some of their features when removing some R features. The way that ggplot2 automatically creates plot labels that match the variable names is a distinctly nice R feature, but that is precisely something that uses non-standard evaluation.
タグ:
posted at 03:49:15
Dr. Chris Rackauckas @ChrisRackauckas
@Guru_GyanKhoji @groundwalkergmb @rstatstweet @SilverLinings71 @erikengheim @jamie_lendrum @mikedecr #julialang fixes this by making use of semantic information like naming something that's not allowed in a function, and instead requires a macro that changes syntax to provide such information. Python just doesn't do this. R does it by default, but that stops optimizations.
タグ: julialang
posted at 03:50:56
Dr. Chris Rackauckas @ChrisRackauckas
@Guru_GyanKhoji @groundwalkergmb @rstatstweet @SilverLinings71 @erikengheim @jamie_lendrum @mikedecr NaN compatibility is another feature that gets in the way. If you throw out every package that uses NaNs, NSE, etc. though, you're not left with much, and also you lose what makes R great. So it's a tough middle ground: R is a good language but some of its features are just slow.
タグ:
posted at 03:52:01
#Julia言語
github.com/JuliaLang/juli...
difference between Meta.quot, Expr(:quote), and QuoteNode #6104
Closed
Meta.quot(x) = Expr(:quote, x)
と
QuoteNode(x)
の違い。この辺が気になったので、例の野良パッケージの関連部分を書き直した。
タグ: Julia言語
posted at 04:37:29
非公開
タグ:
posted at xx:xx:xx
#Julia言語
riptutorial.com/julia-lang/exa...
【Here's a rule of thumb:
If you need or want to support interpolation, use Meta.quot;
If you can't or don't want to allow interpolation, use QuoteNode.】
タグ: Julia言語
posted at 04:50:29
非公開
タグ:
posted at xx:xx:xx
非公開
タグ:
posted at xx:xx:xx
私のPCではPythonでも28.3秒
In [1]: import numpy as np
In [2]: N = 4000
In [3]: A = np.random.randn(N, N)
In [4]: %time U, s, Vt = np.linalg.svd(A, compute_uv=True)
CPU times: user 54.8 s, sys: 599 ms, total: 55.4 s
Wall time: 28.3 s twitter.com/genkuroki/stat...
タグ:
posted at 07:13:36
Anaconda の numpy はMKLついてくるから、同じMKLを使うJuliaとそんなに違わない。
Pythonが遅いのは、こういう外部ライブラリを呼ぶやつじゃなくて、forループとかを駆使して自分で書いたアルゴリズム
タグ:
posted at 07:16:55
#julialang Stanだと線形回帰の場合モデルの定義が
「μ i=切片+傾き∗説明変数 i
応答変数_i ~ Normal(μ_i,σ^2)」みたいになる。普通の感覚だと切片と傾きの2種が母数だけど、もしかして、Normalの第2引数であるσも母数?しかも分布の形で与えられる。いまだに慣れない。
タグ: julialang
posted at 08:36:41
高三 和晃 / Kazuaki Taka @takasan_san_san
Mathematica先生には、最近メールで進捗報告してもらっているので、juliaでも出来たらなぁと思った次第
タグ:
posted at 09:05:19
MATLAB'zのLIVE Editor @nonlinopt
Juliaは高速らしいのでMATLABで組んだプログラムをJuliaに移植してみたいが、ずっこけたときの喪失感が恐ろしいので実行に移せない。
○○ソリューションズ系にお願いしたい案件だが資金がない。
タグ:
posted at 09:36:51
@genkuroki 丁寧にありがとうございます。現状ではUpROOT.jlで変換するのが一番楽なようですね。(ROOTファイルに書き出せないのが惜しいですが)
タグ:
posted at 09:46:36
手でjulia -> verilogしてtestbench
Montgomery modular inverse of 2 mod 2^255-19 pic.twitter.com/Zlug1V0WKz
タグ:
posted at 10:50:06
@physics303 @nakayoshix #Python 以下のリンク先の通りで、Python scipyで4000×4000の密行列のsvdに「740秒くらい」となってしまったのは、何か失敗をしているからだと思います。
私の環境ではscipyで4000×4000の密行列のsvdは31秒で計算が終わりました(もちろんnumpyでも同様)。
twitter.com/fujiisoup/stat... pic.twitter.com/Rxlu6INyd5
タグ: Python
posted at 10:59:56
@takasan_san_san Julia内部からbashを叩く手はあるっぽいですね。
discourse.julialang.org/t/sending-emai...
タグ:
posted at 11:08:33
@physics303 @nakayoshix #Julia言語 #Python 外部の高速ライブラリにまかせていれば、言語によらず計算速度は同じになります。
Pythonでは異なる高速ライブラリ間の貼り合わせに難があります。詳しくは↓
www.stochasticlifestyle.com/why-numba-and-...
scipy+numba → 44.4 ms
PythonからJuliaを使う → 33.1 ms
pure Julia SVector → 2.1 ms
posted at 11:09:21
#Julia言語 Julia側のコードについては、コードを全公開してやれば、必要な改善点があれば教えてもらえる可能性が高いので安全。一人で苦しまずに済む。
公式ドキュメントの
docs.julialang.org/en/v1/manual/p...
Performace Tips
は極めて有用です(ほぼ必須!) twitter.com/nonlinopt/stat...
タグ: Julia言語
posted at 11:19:33
#Julia言語 このスレッドで指摘した「WindowsにおいてFFMEPG.jlのprecompileに失敗する件」(影響:Plots.jlが使えなくなる!)は、現在は解消されていますね。
pkg> up
すれば手元の環境に反映されます。
Windowsでの「/ vs. \ 問題」が原因だったみたい↓
github.com/JuliaBinaryWra...
タグ: Julia言語
posted at 11:35:42
いやー、実際PowerShellというユーザースペース側のプログラムの挙動なんだからデフォルト/でも良い気がするんだよね。 twitter.com/genkuroki/stat...
タグ:
posted at 11:44:33
非公開
タグ:
posted at xx:xx:xx
Dr. Chris Rackauckas @ChrisRackauckas
@Guru_GyanKhoji @SilverLinings71 @groundwalkergmb @rstatstweet @erikengheim @jamie_lendrum @mikedecr Scala was trying to sell functional programming. IMO, programming language styles don't sell, the libraries and the features do. FP is just weird for many people, so multi-paradigm languages that incorporate FP ideas (like #julialang and #rstats) will always be the popular future
posted at 12:36:44
This paradigm is my favorite part about #julialang and so unique.
I mean you can compare plenty of multi-paradigm languages and generics to multiple dispatch, but no other language gives you the freedom to write as a scientist, engineer, or mathematician. twitter.com/TradeDiversion...
タグ: julialang
posted at 12:43:50
2/2
Need a class? You can quickly make one!
Need functional methods with non-mutable data? Consider it done!
Want to use macros and meta-programming? Done!
Want to write your code like math? f(x) = " done"
On top of that: JIT, high-level, and fast to write.
タグ:
posted at 12:47:38
Pedro Martínez Bruer @pmbruera
@JuliaLanguage Can anyone recommend me a package to solve one-dimensional HJBs? #JuliaLang
タグ: JuliaLang
posted at 13:00:04
非公開
タグ:
posted at xx:xx:xx
github.com/dyu/ffi-overhead outdated but still accurate benchmark. TFW calling C (.so) is faster from #julialang than from C.
(not sure why, probably because compiled C needs extra time to dynamically call something from .so than JIT which is ready to do it at any moment anyways)
タグ: julialang
posted at 13:12:17
Dr. Chris Rackauckas @ChrisRackauckas
@pmbruera @JuliaLanguage Did you mean... one hundred dimensional? neuralpde.sciml.ai/dev/examples/1...
タグ:
posted at 14:08:17
非公開
タグ:
posted at xx:xx:xx
JuliaからPyPlotの機能がフルには使えないのかな。Pythonで書かれた実例通りには動かないところがある。このグラフだけPythonでやるかなー。ちょっと悔しいなー
タグ:
posted at 15:11:22
非公開
タグ:
posted at xx:xx:xx
@ChrisRackauckas @Guru_GyanKhoji @SilverLinings71 @groundwalkergmb @rstatstweet @erikengheim @jamie_lendrum @mikedecr Scala is doing it in a weird way by allowing OOP.i heard the difference between OOP Scala code base vs functional Scala code base is generally huge.
タグ:
posted at 16:44:00
@shumanalysis #Julia言語 それはよかった!
gist.github.com/genkuroki/7ff5...
添付画像1,2のようにすれば、JuliaでRのライブラリを使えます。Juliaのグルー言語(糊言語)としての性質は便利です。
Rでは結果が添付画像2のように自動的に表示されて便利なのですが、それと同じことは添付画像3,4のようにして実現可能です。 pic.twitter.com/22Q27L9Nga
タグ: Julia言語
posted at 17:27:32
A remarkable animation made on the photos taken on July 17, 2018 by Alessandro Botti. A lunar eclipse animated composite [original photo: buff.ly/2vKm7k7] [source of the animation: buff.ly/2LTz4mu] pic.twitter.com/VIHsGQYiIY
タグ:
posted at 17:30:32
少し手抜きなのですが、#Julia言語 でFisher検定が結果を格納するstructや結果の表示のさせ方も含めて50行にも満たないコードで実現されていることにも注目!
添付画像2はRではなく、Juliaでの自前実装(添付画像1のコード)による表示!
gist.github.com/genkuroki/7ff5... pic.twitter.com/EINkmbYjKh
タグ: Julia言語
posted at 17:30:44
Fisher検定のP値やFisher検定に付随する信頼区間を計算する函数(非心超幾何分布を使う)がどちらも実質1行で書けている! #Julia言語
gist.github.com/genkuroki/7ff5... pic.twitter.com/0EDqYX4LZm
タグ: Julia言語
posted at 17:33:19
@missTakoiPad #統計 統計学では
y=a+bx+ε, ε~Normal(0,σ)
というモデルにおける a, b, σ は、最尤法(=この場合には最小二乗法)でも、ベイズ統計でも、推定したいパラメータ扱いになります。
最小二乗法(最尤法の一種)でもσは推定したいパラメータの1つ。
#Julia言語 やStanと無関係にこうなっています。
posted at 18:22:27
@missTakoiPad #統計 ベイズ統計の手続きでデータとモデルから得られる(a,b,σ)の確率分布は、モデル内で推定に使ったデータと同じデータが生成されたという条件で制限して得られるパラメータ達の「モデル内条件付き確率分布」。
モデル内確率分布に過ぎず、現実で意味のある確率分布ではないことに注意が必要です。
タグ: 統計
posted at 18:27:35
@genkuroki 回数が少ない時は確かに見かけ上速いけど、回数を増やすと差がなくなるので、純粋な呼び出しオーバーヘッドとは違う何かの差を見ているんだと思う。
Cもまだ回数に対して線形がはっきりしない領域あるし、CPU内分岐予測器の学習とか理解困難なこといろいろあり。
Linux上で2e5~2e9の範囲の結果。 pic.twitter.com/kmMUty2gtm
タグ:
posted at 18:33:10
@genkuroki @mrkn PyPlotで縦軸の違うふたつのグラフを一枚の図に描く(縦軸が左右にある)ときにlegendが自動ではうまく描けないという問題で、Pythonの例はネットに出てますが、それを単にJuliaに移すだけでは通らない。legendに数値で位置を指定すると描ける
タグ:
posted at 18:33:58
@kikumaco @mrkn #Julia言語 おそらくJulia初心者にはJulia版への変換が難しいと思われる場合の例。汚いコードを書く必要はないです。
PythonでのプロットのコードをJuliaに翻訳すると、numpyなどが無用になって、ドットシンタックスが秀逸なおかげで、一般にコードはより簡潔になります。
nbviewer.jupyter.org/gist/genkuroki... twitter.com/genkuroki/stat...
タグ: Julia言語
posted at 18:35:58
Juliaのコード読んでるんだけど,これがどういう意図で書かれていてどういう挙動をするのかマジでわからん… pic.twitter.com/KBnR2KDsgC
タグ:
posted at 18:42:09
次回のJulia勉強会(もくもく会)。今度は夜やります。初回の感想は、1時間短っ…です。
#Julia言語 twitter.com/takuizum/statu...
タグ: Julia言語
posted at 18:55:48
@kikumaco @mrkn #Julia言語 ああ、なるほど、それは難しい場合です。
しかし、PyCall.jlも使えば「ああ、普通はそう考えるよな」と納得できる方法で翻訳可能です。
gist.github.com/genkuroki/0358...
添付画像1は元のPython版。
添付画像2はJuliaへのほぼ機械的な翻訳版。ただし19行目だけは非自明です。 pic.twitter.com/aNfP35LQbe
タグ: Julia言語
posted at 19:10:10
@kikumaco @mrkn Python版の色付けに失敗しているのでスクショの再投稿。
gist.github.com/genkuroki/0358...
この例と以下のリンク先の例は #Julia言語 でPyPlotを使っている人達にとって貴重かも。 twitter.com/genkuroki/stat... pic.twitter.com/KS8SYMycfm
タグ: Julia言語
posted at 19:14:18
@genkuroki 【「5×10⁸でgcc側が遅いという結果の一致」】の点は一致しています。緑プラスが少し下に出るのは、Juliaが短時間で終わり、したがって速い、逆にCが遅いことを示しています。
タグ:
posted at 19:24:36
@genkuroki @mrkn 19行目に相当するところで僕は
fig.legend()として括弧の中に座標を数値で書きました。だから、コードとしてはむしろ短いのですが、座標を素で指定するのが汚い。指定しないと、枠の外にlegendを描きます。figのlegendになってるから
タグ:
posted at 19:46:01
Julia言語、普段僕らがやるように掛け算の記号(*とか)を省略してもちゃんと動くの面白すぎでしょ。 pic.twitter.com/l7q5K2azCx
タグ:
posted at 20:27:54
#0から始めるJuliaプログラミング の著者佐藤さん( @bicycle1885 )からサインを頂きました!
皆さんも科学技術計算にはPythonを捨ててJulia是非ッ!!! pic.twitter.com/mV6hHZd8Bt
posted at 20:50:51
Juliaはでも動向って言われるとなかなか難しく.Fortranのお手軽版みたいな使い方をしたいと思ってはいるがコミュニティーがどの程度起きいいのか全くわからん
タグ:
posted at 20:56:05
#Julia言語 添付画像1のPython版のJulia PyPlot版(添付画像2)とJulia Plots pyplot()版。
Julia Plots pyplot()版にはlegendを半透明にする方法も書いてあります。結構トリッキーなことをしているので、そういうのに興味がある人は見て下さい。NaNはプロットされない。
gist.github.com/genkuroki/0358... twitter.com/genkuroki/stat... pic.twitter.com/A6CgTZkfkU
タグ: Julia言語
posted at 21:03:36
Juliaはコミュニティが大きいのかはよくわからないですけど、熱の高さは凄いと思いますね
#Julia言語 twitter.com/dmdaugust/stat...
タグ: Julia言語
posted at 21:18:46
非公開
タグ:
posted at xx:xx:xx
非公開
タグ:
posted at xx:xx:xx
@Inazuma_110 #Julia言語
gist.github.com/pszufe/0266649...
の場合だと、添付画像のような意味になります。
【find_first(c, vals) は vals の要素のどれかを含む c[i] の中で最初の(最小の) i を返す函数. そのような i が1つも存在しない場合には何も返さない(nothingを返す).】
gist.github.com/genkuroki/23cf... pic.twitter.com/ZG7k96d5E2
タグ: Julia言語
posted at 21:39:42
非公開
タグ:
posted at xx:xx:xx
非公開
タグ:
posted at xx:xx:xx
「音速」には上限があり、それは秒速36.1kmであるという研究結果が発表されたよ!更にこれは、「電子と陽子の質量比」「微細構造定数」「光速度」と言う、物理学でも基本的な定数から算出可能という点がユニークだよ!
Speed of sound from fundamental physical constants
advances.sciencemag.org/content/6/41/e...
タグ:
posted at 22:34:09
[ニュースのポイント]
○音は物質を伝わる波なので、根本的には原子の性質によるという着眼点から、理論上の「音速の上限」を検証したよ。
○その結果、上限が36.1km/sである事がわかったよ!
○更にこの値は、基本的な物理定数「電子と陽子の質量比」「微細構造定数」「光速度」から算出可能だよ!
タグ:
posted at 22:34:09
この宇宙での最高速度は、「光速度」の秒速2億9979万2458mだよね?これ見ないで書けるかな~?まぁそれはそれとして、これは真空を通る波の絶対的な上限値であるんだけど、では光に次いで速い波として身近なのは「音速」じゃないかな?この音速については上限があるのかな?
タグ:
posted at 22:34:09
室温の空気での音速は大体秒速340mだけど、これは物質の状態、特に密度によって大きく異なるよ!気体より液体や固体の方がもっと速くて、鉄なら大体秒速5.1kmと15倍も速いよ!真似しちゃだめだけど、もし線路に耳を当てて電車の音を聞いたなら、空気で聞くよりも速く列車の存在に気付く事になるね!
タグ:
posted at 22:34:10
今の所知られている音速の最大速度は、ダイヤモンドの秒速18.35kmだよ!でも、音速は物質の密度だけじゃなく、結晶構造や波自体の性質にも依存するから、これまで中々単純な関係性を見つけられなくて、特に音速に上限があるのかどうかについてはほとんど分かっていなかったよ。
タグ:
posted at 22:34:10
今回の研究では、音速について2つのアプローチから調べたよ。音速は物質の振動が波として伝わる、という事を踏まえると、根本的には原子同士がどうくっついてどう影響し合っているか、という事になるよね?という訳で、音が振動として伝わる、と言う現象を、原子の単位で観てみたんだよ!
タグ:
posted at 22:34:10
このアプローチは、原子同士の結合で決まる物質の弾性と、物質を伝わる波の振動特性の、2つに分かれるよ!そしてどちらのアプローチでも、音速は基本的な物理定数の「電子と陽子の質量比」「微細構造定数」「光速度」で構成された、単純な式で表される事が分かったよ!
タグ:
posted at 22:34:10
電子と陽子の質量比は、原子の基本的な構成要素同士の質量の差だよ。光速度は説明不要だね。微細構造定数はちょっと難しいけど、とても簡単に言うと、電磁気の強さに関わる物理定数だよ。電子と陽子と言う電気を帯びた粒子が振動を運んでいるから、ここに電磁気の強さの物理定数が関わるんだよ!
タグ:
posted at 22:34:11
この式を解くと、音速の上限は秒速36.1kmである事が分かるよ!これはダイヤモンドの2倍くらいだね!でも、もちろん実測としてこれが測定された事は無いよ。候補となるのは固体の水素だけど、この音速を出すような固体水素は、低温で固まったものではなくて、高圧で固体化した水素と考えられるよ! pic.twitter.com/nTszzBlMSY
タグ:
posted at 22:34:11
ただ、これほど高圧の水素の圧縮はまだ実現してないよ!そこで固体水素の音速をシミュレーションして、恐らく正しいという結論が得られたよ!更に、この秒速36.1kmを、原子番号の平方根で割ると、原子番号に対応する元素の固体の音速を大体算出できる事も分かったんだよ! pic.twitter.com/nMw6ScQo2e
タグ:
posted at 22:34:12
[画像引用元]
全て元論文より
(式はTeXで自作、分かりやすいように同じ意味の別表記へ変更)
advances.sciencemag.org/content/6/41/e...
タグ:
posted at 22:34:13
[文献情報]
K. Trachenko, B. Monserrat, C. J. Pickard, V. V. Brazhkin. (2020). "Speed of sound from fundamental physical constants". Science Advances, 6 (41); eabc8662. DOI: 10.1126/sciadv.abc8662.
タグ:
posted at 22:34:13
@_stakaya @niszet0 @bicycle1885 1から始めるJuliaプログラミング を 0から...
ごめんなさい。つい、つっこんじゃいました。
タグ:
posted at 23:15:50
ごまふあざらし(GomahuAzaras @MathSorcerer
マインクラフトやったことないんだけれど
github.com/JuliaBerry/PiC...
www.youtube.com/watch?v=bLAyrq...
タグ:
posted at 23:20:05
非公開
タグ:
posted at xx:xx:xx
非公開
タグ:
posted at xx:xx:xx
ごまふあざらし(GomahuAzaras @MathSorcerer
マインクラフトに興味のある方
動いたら教えてください. twitter.com/MathSorcerer/s...
タグ:
posted at 23:27:27
非公開
タグ:
posted at xx:xx:xx
ユーカリが丘線の待ち時間に、3次方程式の解の公式を作ってみようと思って、少し計算してみたら、高校1年の数学の最初に出てくる例の公式が出てきた。
また、代数学を勉強してみようかな、と思いました。
#数楽 twitter.com/genkuroki/stat...
タグ: 数楽
posted at 23:55:09